Why is the flag `GST_PAD_FLAG_EOS` set for element `v4l2src`, when the pipeline is modified dynamically?
Antonio Ospite
ao2 at ao2.it
Thu Aug 30 14:56:30 UTC 2018
On Thu, 30 Aug 2018 07:01:02 -0500 (CDT)
vk_gst <venkateshkuppan26 at gmail.com> wrote:
>
> Hello,
>
> This question was addressed in my previous post - however the scope of
> previous question was not related to this question.
>
> I have the following pipeline :
>
> v4l2src -> queue -> h264parse -> avdec_h264 -> imagefreeze(added/removed
> dynamically based on user-input) -> glupload -> glcolorconvert
> ->gltransformation -> glimagesink
>
> Based on the keyboard input, I add and remove the element `imagefreeze` to
> my pipeline. The dynamic modification of pipeline is in accordance to this
> blog : Dynamic_linking_slomo
> <https://coaxion.net/blog/2014/01/gstreamer-dynamic-pipelines/ >
> I have verified, the dynamic modification using a text-overlay instead of
> imagefreeze and it works fine. So I am assured that the process of dynamic
> modification is fine.
>
>
> Now I observe the following :
> 1. On addition of element `imagefreeze`, the source element `v4l2src`
> receives a 'EOS' at its pad. The flag `GST_PAD_FLAG_EOS` is set for v4l2src
> and the task goes to the PAUSED state.
>
It would be better to have some actual code to reproduce the issue.
For instance I seem to be able to reproduce the EOS by taking
https://github.com/sdroege/gst-snippets/blob/fb0dc26005d18ed590edbca9044e95e0c16a8e68/dynamic-filter.c
and just replacing "agingtv" with "imagefreeze".
> 2. Here is the log when I run the following command :
> GST_DEBUG=4 ./test.py
>
> 0:03:39.608226968 [333m29510[00m 0x1561c00 [36mINFO [00m [00m
> v4l2src gstv4l2src.c:949:gst_v4l2src_create:<source>[00m sync to
> 0:03:39.066664476 out ts 0:03:39.375180156
> 0:03:39.608449406 [333m29510[00m 0x1561c00 [36mINFO [00m [00m
> basesrc gstbasesrc.c:2965:gst_base_src_loop:<source>[00m pausing after
> gst_pad_push() = eos
> 0:03:39.608561724 [333m29510[00m 0x1561c00 [36mINFO [00m [00m
> task gsttask.c:316:gst_task_func:<source:src>[00m Task going to paused.
>
> I have verified the same pipeline, where I insert/delete a text-overlay
> dynamically(instead of imagefreeze) and this works perfectly fine with no
> issues. However with imagefreeze, this does not work.
> Can anyone explain the behaviour why this happens?
>
> 3. Now strangely the same log messages do not appear when I run the
> following command :
> GST_DEBUG=6 ./test.py
> OR
> GST_DEBUG=v4l2src:4 ./test.py
> OR
> GST_DEBUG=v4l2src:6 ./test.py
>
>
> Can anyone provide some pointers for this issues?
>
Is it v4lsrc specific tho? Or does the imagefreeze issue show up with
any source?
Ciao,
Antonio
--
Antonio Ospite
https://ao2.it
https://twitter.com/ao2it
A: Because it messes up the order in which people normally read text.
See http://en.wikipedia.org/wiki/Posting_style
Q: Why is top-posting such a bad thing?
More information about the gstreamer-devel
mailing list