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