summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2015-08-03 21:02:37 -0400
committerOlivier CrĂȘte <olivier.crete@collabora.com>2015-08-03 21:03:05 -0400
commite7ece560d6213f152ac553a81d4ac36439259027 (patch)
treeabcb99bd84d992e35165bce519b95cd71147af4e
parent0a0ee427526eda958368398c9cf0ebfb5a613eff (diff)
downloadgst-libav-e7ece560d6213f152ac553a81d4ac36439259027.tar.gz
avviddec: Reset current_dr on close and when not chosing it
https://bugzilla.gnome.org/show_bug.cgi?id=753189
-rw-r--r--ext/libav/gstavviddec.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/ext/libav/gstavviddec.c b/ext/libav/gstavviddec.c
index 55ec594..03a7334 100644
--- a/ext/libav/gstavviddec.c
+++ b/ext/libav/gstavviddec.c
@@ -318,6 +318,7 @@ gst_ffmpegviddec_close (GstFFMpegVidDec * ffmpegdec, gboolean reset)
for (i = 0; i < G_N_ELEMENTS (ffmpegdec->stride); i++)
ffmpegdec->stride[i] = -1;
+ ffmpegdec->current_dr = FALSE;
gst_buffer_replace (&ffmpegdec->palette, NULL);
@@ -1713,6 +1714,9 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
have_alignment =
gst_buffer_pool_has_option (pool, GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT);
+ /* Most cases don't do direct rendering */
+ ffmpegdec->current_dr = FALSE;
+
/* we can only enable the alignment if downstream supports the
* videometa api */
if (have_alignment && have_videometa) {
@@ -1779,7 +1783,6 @@ gst_ffmpegviddec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
/* disable direct rendering. This will make us use the fallback ffmpeg
* picture allocation code with padding etc. We will then do the final
* copy (with cropping) into a buffer from our pool */
- ffmpegdec->current_dr = FALSE;
}
/* and store */