[Bug 787311] vtenc: leaks frames when shut down before EOS

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Mon Sep 11 12:21:04 UTC 2017


https://bugzilla.gnome.org/show_bug.cgi?id=787311

--- Comment #6 from Nicola <lists at svrinformatica.it> ---
Hi, thanks for the suggestion, I added ::flush to vtenc but this method seems
not called from the base class in PAUSED->READY, for example here are the logs
for this pipeline:

videotestsrc ! video/x-raw,width=1920,height=1080 ! vtenc_h264 ! fakesink

when I press CTRL+C

0:00:01.059625000  1034 0x7faa23002190 TRACE                  vtenc
vtenc.c:1264:gst_vtenc_encode_frame:<vtenc_h264-0> encoding frame 30
^Chandling interrupt.
Interrotto: arresto della pipeline ...
Execution ended after 0:00:00.822902000
Impostazione della pipeline a PAUSED ...
Impostazione della pipeline a READY ...
0:00:01.098942000  1034 0x7faa21f00e90 TRACE                  vtenc
vtenc.c:1346:gst_vtenc_enqueue_buffer:<vtenc_h264-0> encoded frame 17
0:00:01.099227000  1034 0x7faa21c84920 DEBUG                  vtenc
vtenc.c:557:gst_vtenc_stop:<vtenc_h264-0> stopping
0:00:01.099247000  1034 0x7faa21c84920 DEBUG                  vtenc
vtenc.c:560:gst_vtenc_stop:<vtenc_h264-0> destroy session

....

0:00:01.609942000  1034 0x7faa21c84920 DEBUG                  vtenc
vtenc.c:578:gst_vtenc_stop:<vtenc_h264-0> unref async queue, size 12

and so 12 frames are leaked.

Looking at gstvideoencoder.c ::flush seems called only for GST_EVENT_FLUSH_STOP
event, so the cleanup on stop seems still needed

am I missing something? Thanks

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list