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:59 +0100
commited8f8175d7449ba686f6e2cf27cd969af25f9e9f (patch)
tree6f0e0a842cd8d58fafccc7e51b28eb1a9731a2ce
parent99e209b11e2ffbbd04030d37d0405f34889c1a57 (diff)
omxvideodec: log info about frame before releasing it1.10
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 79b4daa..b5fe90e 100644
--- a/omx/gstomxvideodec.c
+++ b/omx/gstomxvideodec.c
@@ -1189,11 +1189,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);
}
@@ -1205,11 +1205,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);
}