summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2017-09-13 15:32:51 +0200
committerTim-Philipp Müller <tim@centricular.com>2017-09-14 17:41:15 +0100
commit4eacad6b5e71f8411f877e96339ce6d1857d6dcb (patch)
tree71c2aea666fdb63cf71c56d5b4a6577511eaf583
parentf79a05107dea36f2dd2961e200b86cb911465da8 (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.c4
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);
}