forked pipeline fails to play

William Johnston wgj at cast.uark.edu
Wed Dec 4 16:21:47 UTC 2019


I can answer this myself now. What's going on is that both paths are 
trying to preroll. However one path takes way less data to preroll and 
so it fill up all its buffers and then blocks. The other path is waiting 
on more data so that it can finish prerolling, but that's not going to 
happen because the less-data-path is stopping more data from streaming 
out of filesrc. The fix is to allow the less-data-path to take more data 
and that can be accomplished by adding an extra queue like so:

gst-launch-1.0 filesrc location=Truck.H264.ts ! tee name=t ! queue ! tsdemux ! h264parse ! avdec_h264 ! fakesink    t. ! queue ! queue ! fakesink

That was about 6 hours of work figuring that out.

On 12/2/2019 11:31 AM, William wrote:
> This plays to completion:
> gst-launch-1.0 filesrc location=Truck.H264.ts ! tee name=t ! queue ! tsdemux
> ! h264parse ! avdec_h264 ! fakesink
>
> But this gets stuck:
> gst-launch-1.0 filesrc location=Truck.H264.ts ! tee name=t ! queue ! tsdemux
> ! h264parse ! avdec_h264 ! fakesink    t. ! queue ! fakesink
>
> It gets this far:st-launch-1.0 filesrc location=Truck.H264.ts ! tee name=t !
> queue ! tsdemux ! h264parse ! avdec_h264 ! fakesink    t. ! queue ! tsdemux
> ! h264parse ! avdec_h264 ! fakesink
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> Redistribute latency...
>
> Oddly this runs to completion:
> clear; gst-launch-1.0 filesrc location=Truck.H264.ts ! tee name=t ! queue !
> tsdemux ! h264parse ! fakesink    t. ! queue ! fakesink
>
> So something in avdec_h264 is holding up the show.
>
> This will run too:
> gst-launch-1.0 filesrc location=Truck.H264.ts ! tee name=t ! queue ! tsdemux
> ! h264parse ! avdec_h264 ! fakesink    t. ! queue ! tsdemux ! h264parse !
> avdec_h264 ! fakesink
>
> But I really need this to work:
> gst-launch-1.0 filesrc location=Truck.H264.ts ! tee name=t ! queue ! tsdemux
> ! h264parse ! avdec_h264 ! fakesink    t. ! queue ! myplugin ! fakesink
>
> Does anyone have any idea about what myplugin could do to make the stream
> play?
>
>
>
>
>
> --
> Sent from: http://gstreamer-devel.966125.n4.nabble.com/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


More information about the gstreamer-devel mailing list