<div dir="ltr"><div><div>Hi Silver,<br><br></div>Using uridecodebin is the correct approach here, as you'll need to deal with dynamic pipeline reconfiguration on bitrate changes, and decodebin will handle that for you.<br><br></div><div>Could you run with the GST_DEBUG environment variable set to '*:2,hlsdemux:7', and post the logs?<br><br></div><div>Dunk<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 17 May 2016 at 19:17, silver <span dir="ltr"><<a href="mailto:sxhsxhsxh66@gmail.com" target="_blank">sxhsxhsxh66@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm new to gstreamer. I want to realize an iOS app to play hls videos by<br>
gstreamer. I use the version 1.6.4. I followed some tutorials on the<br>
internet so I got the following pipeline:<br>
<br>
souphttpsrc location=some_m3u8_url ! hlsdemux ! tsdemux name=mux  mux. !<br>
queue ! h264parse ! avdec_h264 ! autovideosink  mux. ! queue ! aacparse !<br>
faad ! autoaudiosink<br>
<br>
I found some hls video urls to test but strangely, it partially worked.<br>
Sometimes it plays the video during several seconds and then it stops and it<br>
gives: Error received from element hlsdemux0: Internal data stream error.<br>
Sometimes it dose not play the video but just shows the first frame of this<br>
video.<br>
<br>
I also tried playbin, decodebin and uridecodebin (like: uridecodebin<br>
uri=some_m3u8-url buffer-size=10000000 name=u  u. ! videoconvert !<br>
autovideosink  u. ! audioconvert ! audioresample ! autoaudiosink), but they<br>
didn't work. Error message like:<br>
Buffering 4%<br>
Buffering 8%<br>
Error received from element hlsdemux0: GStreamer encountered a general<br>
stream error.<br>
OR<br>
Buffering 40%<br>
Buffering 90%<br>
PLAYING<br>
PAUSED<br>
Error received from element hlsdemux0: Internal data stream error.<br>
In Xcode, error message: GLib (gthread-posix.c): Unexpected error from C<br>
library during 'pthread_mutex_lock': Invalid argument.  Aborting.<br>
<br>
These kinds of error made me upset for weeks and I could not find any help.<br>
Further more, what I need is to also play the encrypted video, but I have no<br>
idea if this function is integrated or not.<br>
<br>
Hope someone can help me or give me some suggestions. Thanks a lot!<br>
<br>
PS: Dev environment: Xcode 7.3, iOS 9.3.1 (ipad).<br>
<br>
<br>
<br>
--<br>
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/How-to-construct-the-pipeline-for-hls-videos-AES-encrypted-or-not-tp4677603.html" rel="noreferrer" target="_blank">http://gstreamer-devel.966125.n4.nabble.com/How-to-construct-the-pipeline-for-hls-videos-AES-encrypted-or-not-tp4677603.html</a><br>
Sent from the GStreamer-devel mailing list archive at Nabble.com.<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.freedesktop.org">gstreamer-devel@lists.freedesktop.org</a><br>
<a href="https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel" rel="noreferrer" target="_blank">https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel</a><br>
</blockquote></div><br></div>