UDPSINK live stream bug

Sebastian Dröge sebastian at centricular.com
Thu Feb 25 07:13:00 UTC 2016


On Mi, 2016-02-24 at 11:45 +0100, Angel Martin wrote:
> Dear all,
> 
> In Gstreamer 1.4.4 the udpsink plugin with sync=true works in real-
> time. It means to stream a 2 minutes video file it takes 2 minutes
> (like a live source)
> 
> In Gstreamer 1.7.1 (also in 1.6.0) the udpsink plugin with sync=true
> works similar to sync=false. It means to stream a 2 minutes video
> file it takes 5 seconds (like a on demand source)
> 
> I used the next pipelines in the different Gstreamer versions:
> 
> 1) Create a sample file
> gst-launch-1.0 -e videotestsrc ! video/x-raw, framerate=10/1,
> width=320, height=240, format=I420 ! timeoverlay font-desc="sans bold
> 40" halignment=0 valignment=2 ! x264enc bitrate=200 key-int-max=10 !
> h264parse config-interval=1 ! mpegtsmux ! filesink location=test.ts
> 
> 2) Stream the file
> gst-launch-1.0 filesrc location=test.ts ! tsparse ! tsdemux !
> h264parse ! mpegtsmux ! rndbuffersize min=1316 max=1316 ! udpsink
> port=5014 host=127.0.0.1 sync=true enable-last-sample=false send-
> duplicates=false blocksize=1316
> 
> 3) Play the Stream
> gst-launch-1.0 udpsrc uri=udp://127.0.0.1:5014 ! video/mpegts !
> tsdemux name=demux ! video/x-h264 ! queue ! decodebin ! autovideosink

That's because rndbuffersize does not provide any timestamps on its
output buffers, and AFAIK never did in the past.

Without timestamps, udpsink can't synchronize and will consume data as
fast as it arrives.

-- 
Sebastian Dröge, Centricular Ltd · http://www.centricular.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 949 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160225/1e9d5804/attachment-0001.sig>


More information about the gstreamer-devel mailing list