Dynamically changing the pipeline example code
David Jaggard
davywj at gmail.com
Mon Feb 8 12:24:15 UTC 2016
Referring to the example here:
http://gstreamer.freedesktop.org/data/doc/gstreamer
/head/manual/html/section-dynamic-pipelines.html
in the pad_probe_cb function the blocking probe is removed straight away.
It seems to me that this would allow data to continue to flow into the
element following the EOS. That data would then be lost when the element is
removed. The example only shows one element but potentially this could be
several elements with large internal buffers.
I'm visualising it like this (data flow left to right)
|<===== element ====>|
datadatadatadatadatadata
Blocking pad adds EOS:
|<===== element ====>|
[EOS]datadatadatadatada
Blocking pad has been removed so data flowing again:
|<===== element ====>|
datadata[EOS]datadatada
EOS reaches end, element is deleted and data is lost:
|<===== element ====>|
datadatadatadatada[EOS]
So should the blocking probe remain attached to the pad until the element
is replaced?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160208/19cbf10f/attachment.html>
More information about the gstreamer-devel
mailing list