Why is the flag `GST_PAD_FLAG_EOS` set for element `v4l2src`, when the pipeline is modified dynamically?

vk_gst venkateshkuppan26 at gmail.com
Thu Aug 30 12:01:02 UTC 2018


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. 

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? 



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list