[Bug 790312] msdk: memory leak always happen when using encoder.

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Tue Nov 21 08:02:42 UTC 2017


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

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #364094|none                        |needs-work
             status|                            |

--- Comment #9 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 364094:
 --> (https://bugzilla.gnome.org/review?bug=790312&attachment=364094)

::: sys/msdk/gstmsdkenc.c
@@ +643,3 @@
+    GstVideoCodecFrame *frame;
+
+    frame = gst_video_encoder_get_oldest_frame (GST_VIDEO_ENCODER_CAST
(thiz));

This is wrong if frame reordering happens. You're getting the oldest frame in
PTS order here

Ideally you would carry the system_frame_number of the frame through the MSDK,
and then retrieve it here with that number again.

@@ +647,3 @@
+      gst_msdkenc_dequeue_frame (thiz, frame);
+      gst_video_encoder_finish_frame (GST_VIDEO_ENCODER (thiz), frame);
+    }

What if we get here ("more_data") but no frame is pending? Shouldn't that be an
error?

-- 
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