After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 653492 - mpegtsdemux: Audio & video streams mixed up for Apple sample HLS stream
mpegtsdemux: Audio & video streams mixed up for Apple sample HLS stream
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
0.10.22
Other other
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-06-27 14:32 UTC by Jonas Larsson
Modified: 2012-03-13 14:35 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Jonas Larsson 2011-06-27 14:32:35 UTC
When playing Apple sample HLS stream with mpegtsdemux, video is pushed out on the audio pad and vice versa after hlsdemux switches to a higher quality stream
Ensure good bandwith, and run this example pipeline. It starts off OK but fails to detect the new stream mapping and audio and video streams are mixed up. In the example run below it happens after 0:00:40.

It's even more clear if aacparse is used to parse the audio stream, it fails and sometimes segfaults when attempting to parse the video stream as audio.

Reasonable behavior is newly added pads when the input stream changes.

gst-launch -v souphttpsrc location=http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8 ! hlsdemux ! mpegtsdemux name=d d. ! audio/mpeg ! queue ! fakesink name=audio sync=true d. ! video/x-h264 ! queue ! fakesink name=video sync=true


audio:  11 bytes, timestamp: 0:00:39.907300000
audio:  11 bytes, timestamp: 0:00:39.953744444
video: 157 bytes, timestamp: 0:00:39.963300000
video: 439 bytes, timestamp: none
audio: 157 bytes, timestamp: 0:00:40.030033333
audio:4048 bytes, timestamp: none
audio:5099 bytes, timestamp: none
video:  11 bytes, timestamp: 0:00:40.046622222
audio: 157 bytes, timestamp: 0:00:40.063400000
audio: 396 bytes, timestamp: none
video: 170 bytes, timestamp: 0:00:40.093066666
video: 257 bytes, timestamp: none
audio: 157 bytes, timestamp: 0:00:40.096766666
audio: 505 bytes, timestamp: none
audio: 157 bytes, timestamp: 0:00:40.130133333
audio:1150 bytes, timestamp: none
video: 166 bytes, timestamp: 0:00:40.139500000
audio: 157 bytes, timestamp: 0:00:40.163500000
audio: 491 bytes, timestamp: none
video:  11 bytes, timestamp: 0:00:40.185944444
Comment 1 Edward Hervey 2011-08-01 08:16:37 UTC
fwiw, this works fine with tsdemux. It detects program changes, closes the previous program and opens a new program accordingly.
Comment 2 Thibault Saunier 2012-03-13 14:35:17 UTC
tsdemux is autopluged instead of mpegtsdemux in master, and mpegtsdemux will not be maintained anymore so I close as obsolete.