diff options
author | Guillaume Desmottes <guillaume.desmottes@collabora.co.uk> | 2017-09-13 15:32:51 +0200 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.com> | 2017-09-14 17:41:15 +0100 |
commit | 4eacad6b5e71f8411f877e96339ce6d1857d6dcb (patch) | |
tree | 71c2aea666fdb63cf71c56d5b4a6577511eaf583 | |
parent | f79a05107dea36f2dd2961e200b86cb911465da8 (diff) |
omxvideodec: log info about frame before releasing it
gst_video_decoder_release_frame() takes ownership of the frame and will
destroy it. So we should no longer use it after calling it.
https://bugzilla.gnome.org/show_bug.cgi?id=787628
-rw-r--r-- | omx/gstomxvideodec.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c index 2fecb8b..d12ee8f 100644 --- a/omx/gstomxvideodec.c +++ b/omx/gstomxvideodec.c @@ -1186,11 +1186,11 @@ gst_omx_video_dec_clean_older_frames (GstOMXVideoDec * self, GstVideoCodecFrame *tmp = l->data; if (tmp->pts < timestamp) { - gst_video_decoder_release_frame (GST_VIDEO_DECODER (self), tmp); GST_LOG_OBJECT (self, "discarding ghost frame %p (#%d) PTS:%" GST_TIME_FORMAT " DTS:%" GST_TIME_FORMAT, tmp, tmp->system_frame_number, GST_TIME_ARGS (tmp->pts), GST_TIME_ARGS (tmp->dts)); + gst_video_decoder_release_frame (GST_VIDEO_DECODER (self), tmp); } else { gst_video_codec_frame_unref (tmp); } @@ -1202,11 +1202,11 @@ gst_omx_video_dec_clean_older_frames (GstOMXVideoDec * self, GstVideoCodecFrame *tmp = l->data; if (!GST_CLOCK_TIME_IS_VALID (tmp->pts)) { - gst_video_decoder_release_frame (GST_VIDEO_DECODER (self), tmp); GST_LOG_OBJECT (self, "discarding frame %p (#%d) with invalid PTS:%" GST_TIME_FORMAT " DTS:%" GST_TIME_FORMAT, tmp, tmp->system_frame_number, GST_TIME_ARGS (tmp->pts), GST_TIME_ARGS (tmp->dts)); + gst_video_decoder_release_frame (GST_VIDEO_DECODER (self), tmp); } else { gst_video_codec_frame_unref (tmp); } |