valve, unexpected functionality

Sebastian Dröge sebastian at centricular.com
Thu Nov 20 01:13:06 PST 2014


On Mo, 2014-11-17 at 08:27 +0000, Thornton, Keith wrote:
> Hi,
> The following pipeline
> gst-launch-1.0.exe -v videotestsrc do-timestamp=true pattern=snow is-live=true num-buffers=900 ! video/x-raw,width=1920,height=1080,framerate=30000/1001,format=YV12 ! tee name=t1 ! queue name=displ
> -queue max-size-bytes=0 leaky=2 ! valve name=display-valve drop=false ! glimagesink sync=false t1. ! queue name=encode-queue max-size-bytes=124416000 ! valve name=encode-valve drop=false ! x264enc
> trate=32768 ! h264parse ! qtmux ! filesink location="f:/temp/out.mp4"
> 
> produces snow on my display (somewhat delayed which is not important) and a mp4 file.
> This is running the current git master version on a Windows 7 machine.
> When I change the first valve drop to true I neither get snow on the display (expected and wanted) nor do I get a file (perhaps expected but not wanted sid-effect).
> Is this due to the fact that the pipeline as a whole cannot preroll?

Yes, the pipeline will only preroll if all sinks are prerolled... which
they can't in this case because the valve never lets any data go
through.

> Would I be better using a pad probe and letting the pipeline preroll before blocking the relevant pad.
> If anyone can provide an explanation I would be grateful.

You could dynamically change the pipeline during runtime, yes. Or you
could set async=false (not sync! both properties have completely
different meaning) on the sink after the valve. With async=false the
sink will go to PAUSED state immediately without prerolling if that is
what you want. sync=false will disable synchronization to the clock,
which should be irrelevant here.

-- 
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: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20141120/3b4dd3b3/attachment.sig>


More information about the gstreamer-devel mailing list