From 5b3f6eb285bae96e271c0edeebb899f5046f08ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Manuel=20J=C3=A1quez=20Leal?= Date: Mon, 21 May 2018 13:24:13 +0200 Subject: [PATCH] libs: decoder: mpeg4: implement reset() callback remove destroy() and create() callback https://bugzilla.gnome.org/show_bug.cgi?id=796308 --- gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c b/gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c index f7090df335..c8049a1eca 100644 --- a/gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c +++ b/gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c @@ -183,6 +183,14 @@ gst_vaapi_decoder_mpeg4_create (GstVaapiDecoder * base_decoder) return TRUE; } +static GstVaapiDecoderStatus +gst_vaapi_decoder_mpeg4_reset (GstVaapiDecoder * base_decoder) +{ + gst_vaapi_decoder_mpeg4_destroy (base_decoder); + gst_vaapi_decoder_mpeg4_create (base_decoder); + return GST_VAAPI_DECODER_STATUS_SUCCESS; +} + static inline void copy_quant_matrix (guint8 dst[64], const guint8 src[64]) { @@ -1177,8 +1185,7 @@ gst_vaapi_decoder_mpeg4_class_init (GstVaapiDecoderMpeg4Class * klass) object_class->finalize = gst_vaapi_decoder_mpeg4_finalize; - decoder_class->create = gst_vaapi_decoder_mpeg4_create; - decoder_class->destroy = gst_vaapi_decoder_mpeg4_destroy; + decoder_class->reset = gst_vaapi_decoder_mpeg4_reset; decoder_class->parse = gst_vaapi_decoder_mpeg4_parse; decoder_class->decode = gst_vaapi_decoder_mpeg4_decode; decoder_class->decode_codec_data = gst_vaapi_decoder_mpeg4_decode_codec_data;