Pause and resume live video with latest frames without affecting the sink

Nicolas Dufresne nicolas at ndufresne.ca
Thu Aug 23 15:26:31 UTC 2018


Le jeudi 23 août 2018 à 05:41 -0500, vk_gst a écrit :
>   I removed the draining of imagefreeze, so now the code is just unlinking
> imagefreeze, and linking back avdec_h264 and glupload. With this in place,
> the error regarding 'streaming  stopped, reason not-linked (-1). ERROR:
> ifreeze : Internal data stream error', is no longer seen. 
> The video pauses, I am able to see the gltransformation effects on the
> paused video. However, resuming the video is not working. There are no
> errors seen as well. But I checked the 'info log', and I observe that when I
> remove the element 'imagefreeze' from the pipeline, the element 'v4l2src', 
> goes into a paused state and is never back into playing state. Here is the
> complete info  debug.txt
> <http://gstreamer-devel.966125.n4.nabble.com/file/t378365/debug.txt>  , and
> the below lines where v4l2src goes into paused state:  
> 
> 
> 0:00:03.546583861 [336m19349[00m       0xf0b370 [36mINFO   [00m [00m            
> v4l2src gstv4l2src.c:949:gst_v4l2src_create:<source>[00m sync to
> 0:00:03.033333303 out ts 0:00:03.325138383
> 0:00:03.546657988 [336m19349[00m       0xf0b370 [36mINFO   [00m [00m            
> basesrc gstbasesrc.c:2965:gst_base_src_loop:<source>[00m pausing after
> gst_pad_push() = eos
> 0:00:03.546708208 [336m19349[00m       0xf0b370 [36mINFO   [00m [00m               
> task gsttask.c:316:gst_task_func:<source:src>[00m Task going to paused
> 0:00:03.555887948 [336m19349[00m       0xdd1750 [36mINFO   [00m [00;43m            
> GST_BUS gstbus.c:590:gst_bus_timed_pop_filtered:<bus2>[00m we got woken up,
> recheck for message
> 0:00:03.556444990 [336m19349[00m       0xf0b400 [36mINFO   [00m [00m               
> task gsttask.c:316:gst_task_func:<queue:src>[00m Task going to paused
> 
> 
> 2. Is this what you meant by tracking  the time and adjusting the offset ? 
> I have never done such a thing before. Can you provide some pointers for the
> same ? 

Somehow, the pad push from v4l2src received a GST_FLOW_FLUSHING return
value. This happens if you unlink at random moment. Did you use a
blocking data probe, and waited for the callback before unlinking ?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20180823/ffabe556/attachment.sig>


More information about the gstreamer-devel mailing list