From 2e8af6973fb2cf9c239305d56b3a290fcaa93216 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 15 Aug 2013 15:46:58 +0200 Subject: [PATCH] ext: Use new flush vfunc of video codec base classes and remove reset implementations --- ext/daala/gstdaaladec.c | 43 +++++++++++++++------------------------ ext/daala/gstdaalaenc.c | 13 ++++++++---- ext/openjpeg/gstopenjpegdec.c | 18 ---------------- ext/openjpeg/gstopenjpegenc.c | 18 ---------------- ext/rsvg/gstrsvgdec.c | 24 +--------------------- ext/rsvg/gstrsvgdec.h | 1 - ext/schroedinger/gstschrodec.c | 11 +++++----- sys/androidmedia/gstamcvideodec.c | 11 +++++----- sys/mfc/gstmfcdec.c | 8 ++++---- sys/vdpau/h264/gstvdph264dec.c | 4 ++-- sys/vdpau/mpeg/gstvdpmpegdec.c | 4 ++-- 11 files changed, 44 insertions(+), 111 deletions(-) diff --git a/ext/daala/gstdaaladec.c b/ext/daala/gstdaaladec.c index a08e8a8..0057c53 100644 --- a/ext/daala/gstdaaladec.c +++ b/ext/daala/gstdaaladec.c @@ -89,7 +89,7 @@ static gboolean daala_dec_start (GstVideoDecoder * decoder); static gboolean daala_dec_stop (GstVideoDecoder * decoder); static gboolean daala_dec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state); -static gboolean daala_dec_reset (GstVideoDecoder * decoder, gboolean hard); +static gboolean daala_dec_flush (GstVideoDecoder * decoder); static GstFlowReturn daala_dec_parse (GstVideoDecoder * decoder, GstVideoCodecFrame * frame, GstAdapter * adapter, gboolean at_eos); static GstFlowReturn daala_dec_handle_frame (GstVideoDecoder * decoder, @@ -117,7 +117,7 @@ gst_daala_dec_class_init (GstDaalaDecClass * klass) video_decoder_class->start = GST_DEBUG_FUNCPTR (daala_dec_start); video_decoder_class->stop = GST_DEBUG_FUNCPTR (daala_dec_stop); - video_decoder_class->reset = GST_DEBUG_FUNCPTR (daala_dec_reset); + video_decoder_class->flush = GST_DEBUG_FUNCPTR (daala_dec_flush); video_decoder_class->set_format = GST_DEBUG_FUNCPTR (daala_dec_set_format); video_decoder_class->parse = GST_DEBUG_FUNCPTR (daala_dec_parse); video_decoder_class->handle_frame = @@ -137,7 +137,7 @@ gst_daala_dec_init (GstDaalaDec * dec) } static void -gst_daala_dec_reset (GstDaalaDec * dec) +daala_dec_reset (GstDaalaDec * dec) { dec->need_keyframe = TRUE; } @@ -152,7 +152,7 @@ daala_dec_start (GstVideoDecoder * decoder) daala_comment_clear (&dec->comment); GST_DEBUG_OBJECT (dec, "Setting have_header to FALSE"); dec->have_header = FALSE; - gst_daala_dec_reset (dec); + daala_dec_reset (dec); return TRUE; } @@ -169,7 +169,7 @@ daala_dec_stop (GstVideoDecoder * decoder) dec->setup = NULL; daala_decode_free (dec->decoder); dec->decoder = NULL; - gst_daala_dec_reset (dec); + daala_dec_reset (dec); if (dec->input_state) { gst_video_codec_state_unref (dec->input_state); dec->input_state = NULL; @@ -182,14 +182,6 @@ daala_dec_stop (GstVideoDecoder * decoder) return TRUE; } -/* FIXME : Do we want to handle hard resets differently ? */ -static gboolean -daala_dec_reset (GstVideoDecoder * bdec, gboolean hard) -{ - gst_daala_dec_reset (GST_DAALA_DEC (bdec)); - return TRUE; -} - static GstFlowReturn daala_dec_parse (GstVideoDecoder * decoder, GstVideoCodecFrame * frame, GstAdapter * adapter, gboolean at_eos) @@ -338,7 +330,8 @@ daala_handle_type_packet (GstDaalaDec * dec) /* If we have a default PAR, see if the decoder specified a different one */ if (par_num == 1 && par_den == 1 && - (dec->info.pixel_aspect_numerator != 0 && dec->info.pixel_aspect_denominator != 0)) { + (dec->info.pixel_aspect_numerator != 0 + && dec->info.pixel_aspect_denominator != 0)) { par_num = dec->info.pixel_aspect_numerator; par_den = dec->info.pixel_aspect_denominator; } @@ -355,16 +348,14 @@ daala_handle_type_packet (GstDaalaDec * dec) dec->info.plane_info[0].ydec == 0 && dec->info.plane_info[1].xdec == 1 && dec->info.plane_info[1].ydec == 1 && - dec->info.plane_info[2].xdec == 1 && - dec->info.plane_info[2].ydec == 1) { + dec->info.plane_info[2].xdec == 1 && dec->info.plane_info[2].ydec == 1) { fmt = GST_VIDEO_FORMAT_I420; } else if (dec->info.nplanes == 3 && dec->info.plane_info[0].xdec == 0 && dec->info.plane_info[0].ydec == 0 && dec->info.plane_info[1].xdec == 0 && dec->info.plane_info[1].ydec == 0 && - dec->info.plane_info[2].xdec == 0 && - dec->info.plane_info[2].ydec == 0) { - fmt = GST_VIDEO_FORMAT_Y444; + dec->info.plane_info[2].xdec == 0 && dec->info.plane_info[2].ydec == 0) { + fmt = GST_VIDEO_FORMAT_Y444; } else { goto unsupported_format; } @@ -440,8 +431,7 @@ header_read_error: /* Allocate buffer and copy image data into Y444 format */ static GstFlowReturn -daala_handle_image (GstDaalaDec * dec, od_img * img, - GstVideoCodecFrame * frame) +daala_handle_image (GstDaalaDec * dec, od_img * img, GstVideoCodecFrame * frame) { GstVideoDecoder *decoder = GST_VIDEO_DECODER (dec); gint width, height, stride; @@ -467,10 +457,8 @@ daala_handle_image (GstDaalaDec * dec, od_img * img, goto invalid_frame; for (comp = 0; comp < 3; comp++) { - width = - GST_VIDEO_FRAME_COMP_WIDTH (&vframe, comp); - height = - GST_VIDEO_FRAME_COMP_HEIGHT (&vframe, comp); + width = GST_VIDEO_FRAME_COMP_WIDTH (&vframe, comp); + height = GST_VIDEO_FRAME_COMP_HEIGHT (&vframe, comp); stride = GST_VIDEO_FRAME_COMP_STRIDE (&vframe, comp); dest = GST_VIDEO_FRAME_COMP_DATA (&vframe, comp); @@ -527,7 +515,7 @@ daala_handle_data_packet (GstDaalaDec * dec, ogg_packet * packet, goto dropping_qos; if (G_UNLIKELY ((img.width != dec->info.pic_width - || img.height != dec->info.pic_height))) + || img.height != dec->info.pic_height))) goto wrong_dimensions; result = daala_handle_image (dec, &img, frame); @@ -643,7 +631,8 @@ daala_dec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query) GstBufferPool *pool; GstStructure *config; - if (!GST_VIDEO_DECODER_CLASS (parent_class)->decide_allocation (decoder, query)) + if (!GST_VIDEO_DECODER_CLASS (parent_class)->decide_allocation (decoder, + query)) return FALSE; g_assert (gst_query_get_n_allocation_pools (query) > 0); diff --git a/ext/daala/gstdaalaenc.c b/ext/daala/gstdaalaenc.c index 810632e..9d51842 100644 --- a/ext/daala/gstdaalaenc.c +++ b/ext/daala/gstdaalaenc.c @@ -87,6 +87,7 @@ G_DEFINE_TYPE (GstDaalaEnc, gst_daala_enc, GST_TYPE_VIDEO_ENCODER); static gboolean daala_enc_start (GstVideoEncoder * enc); static gboolean daala_enc_stop (GstVideoEncoder * enc); +static gboolean daala_enc_flush (GstVideoEncoder * enc); static gboolean daala_enc_set_format (GstVideoEncoder * enc, GstVideoCodecState * state); static GstFlowReturn daala_enc_handle_frame (GstVideoEncoder * enc, @@ -137,6 +138,7 @@ gst_daala_enc_class_init (GstDaalaEncClass * klass) gstvideo_encoder_class->start = GST_DEBUG_FUNCPTR (daala_enc_start); gstvideo_encoder_class->stop = GST_DEBUG_FUNCPTR (daala_enc_stop); + gstvideo_encoder_class->flush = GST_DEBUG_FUNCPTR (daala_enc_flush); gstvideo_encoder_class->set_format = GST_DEBUG_FUNCPTR (daala_enc_set_format); gstvideo_encoder_class->handle_frame = GST_DEBUG_FUNCPTR (daala_enc_handle_frame); @@ -174,7 +176,7 @@ daala_enc_finalize (GObject * object) } static void -daala_enc_reset (GstDaalaEnc * enc) +daala_enc_flush (GstDaalaEnc * enc) { int quant; @@ -200,9 +202,8 @@ daala_enc_start (GstVideoEncoder * benc) GST_DEBUG_OBJECT (benc, "start: init daala"); enc = GST_DAALA_ENC (benc); - daala_info_init (&enc->info); - daala_comment_init (&enc->comment); enc->packetno = 0; + enc->initialised = FALSE; return TRUE; } @@ -222,6 +223,10 @@ daala_enc_stop (GstVideoEncoder * benc) daala_comment_clear (&enc->comment); daala_info_clear (&enc->info); + if (enc->input_state) + gst_video_codec_state_unref (enc->input_state); + enc->input_state = NULL; + enc->initialised = FALSE; return TRUE; @@ -356,7 +361,7 @@ daala_enc_set_format (GstVideoEncoder * benc, GstVideoCodecState * state) gst_video_codec_state_unref (enc->input_state); enc->input_state = gst_video_codec_state_ref (state); - daala_enc_reset (enc); + daala_enc_flush (enc); enc->initialised = TRUE; return TRUE; diff --git a/ext/openjpeg/gstopenjpegdec.c b/ext/openjpeg/gstopenjpegdec.c index ca178e2..d290e95 100644 --- a/ext/openjpeg/gstopenjpegdec.c +++ b/ext/openjpeg/gstopenjpegdec.c @@ -32,8 +32,6 @@ static gboolean gst_openjpeg_dec_start (GstVideoDecoder * decoder); static gboolean gst_openjpeg_dec_stop (GstVideoDecoder * decoder); static gboolean gst_openjpeg_dec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state); -static gboolean gst_openjpeg_dec_reset (GstVideoDecoder * decoder, - gboolean hard); static GstFlowReturn gst_openjpeg_dec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame); static gboolean gst_openjpeg_dec_decide_allocation (GstVideoDecoder * decoder, @@ -91,7 +89,6 @@ gst_openjpeg_dec_class_init (GstOpenJPEGDecClass * klass) video_decoder_class->start = GST_DEBUG_FUNCPTR (gst_openjpeg_dec_start); video_decoder_class->stop = GST_DEBUG_FUNCPTR (gst_openjpeg_dec_stop); - video_decoder_class->reset = GST_DEBUG_FUNCPTR (gst_openjpeg_dec_reset); video_decoder_class->set_format = GST_DEBUG_FUNCPTR (gst_openjpeg_dec_set_format); video_decoder_class->handle_frame = @@ -190,21 +187,6 @@ gst_openjpeg_dec_set_format (GstVideoDecoder * decoder, return TRUE; } -static gboolean -gst_openjpeg_dec_reset (GstVideoDecoder * decoder, gboolean hard) -{ - GstOpenJPEGDec *self = GST_OPENJPEG_DEC (decoder); - - GST_DEBUG_OBJECT (self, "Resetting"); - - if (self->output_state) { - gst_video_codec_state_unref (self->output_state); - self->output_state = NULL; - } - - return TRUE; -} - static void fill_frame_packed8_4 (GstVideoFrame * frame, opj_image_t * image) { diff --git a/ext/openjpeg/gstopenjpegenc.c b/ext/openjpeg/gstopenjpegenc.c index 24f0842..325bea0 100644 --- a/ext/openjpeg/gstopenjpegenc.c +++ b/ext/openjpeg/gstopenjpegenc.c @@ -82,8 +82,6 @@ static gboolean gst_openjpeg_enc_start (GstVideoEncoder * encoder); static gboolean gst_openjpeg_enc_stop (GstVideoEncoder * encoder); static gboolean gst_openjpeg_enc_set_format (GstVideoEncoder * encoder, GstVideoCodecState * state); -static gboolean gst_openjpeg_enc_reset (GstVideoEncoder * encoder, - gboolean hard); static GstFlowReturn gst_openjpeg_enc_handle_frame (GstVideoEncoder * encoder, GstVideoCodecFrame * frame); static gboolean gst_openjpeg_enc_propose_allocation (GstVideoEncoder * encoder, @@ -189,7 +187,6 @@ gst_openjpeg_enc_class_init (GstOpenJPEGEncClass * klass) video_encoder_class->start = GST_DEBUG_FUNCPTR (gst_openjpeg_enc_start); video_encoder_class->stop = GST_DEBUG_FUNCPTR (gst_openjpeg_enc_stop); - video_encoder_class->reset = GST_DEBUG_FUNCPTR (gst_openjpeg_enc_reset); video_encoder_class->set_format = GST_DEBUG_FUNCPTR (gst_openjpeg_enc_set_format); video_encoder_class->handle_frame = @@ -655,21 +652,6 @@ gst_openjpeg_enc_set_format (GstVideoEncoder * encoder, return TRUE; } -static gboolean -gst_openjpeg_enc_reset (GstVideoEncoder * encoder, gboolean hard) -{ - GstOpenJPEGEnc *self = GST_OPENJPEG_ENC (encoder); - - GST_DEBUG_OBJECT (self, "Resetting"); - - if (self->output_state) { - gst_video_codec_state_unref (self->output_state); - self->output_state = NULL; - } - - return TRUE; -} - static opj_image_t * gst_openjpeg_enc_fill_image (GstOpenJPEGEnc * self, GstVideoFrame * frame) { diff --git a/ext/rsvg/gstrsvgdec.c b/ext/rsvg/gstrsvgdec.c index 12e75e8..a7d42e8 100644 --- a/ext/rsvg/gstrsvgdec.c +++ b/ext/rsvg/gstrsvgdec.c @@ -60,8 +60,6 @@ GST_STATIC_PAD_TEMPLATE ("src", GST_PAD_SRC, GST_PAD_ALWAYS, #define gst_rsv_dec_parent_class parent_class G_DEFINE_TYPE (GstRsvgDec, gst_rsvg_dec, GST_TYPE_VIDEO_DECODER); -static gboolean gst_rsvg_dec_reset (GstVideoDecoder * decoder, gboolean hard); - static gboolean gst_rsvg_dec_stop (GstVideoDecoder * decoder); static gboolean gst_rsvg_dec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state); @@ -95,7 +93,6 @@ gst_rsvg_dec_class_init (GstRsvgDecClass * klass) gobject_class->finalize = gst_rsvg_dec_finalize; video_decoder_class->stop = GST_DEBUG_FUNCPTR (gst_rsvg_dec_stop); - video_decoder_class->reset = GST_DEBUG_FUNCPTR (gst_rsvg_dec_reset); video_decoder_class->set_format = GST_DEBUG_FUNCPTR (gst_rsvg_dec_set_format); video_decoder_class->parse = GST_DEBUG_FUNCPTR (gst_rsvg_dec_parse); video_decoder_class->handle_frame = @@ -103,18 +100,10 @@ gst_rsvg_dec_class_init (GstRsvgDecClass * klass) } static void -dec_reset (GstRsvgDec * rsvg) -{ - rsvg->fps_n = 0; - rsvg->fps_d = 1; -} - -static void gst_rsvg_dec_init (GstRsvgDec * rsvg) { GstVideoDecoder *decoder = GST_VIDEO_DECODER (rsvg); gst_video_decoder_set_packetized (decoder, FALSE); - dec_reset (rsvg); } static void @@ -124,16 +113,6 @@ gst_rsvg_dec_finalize (GObject * object) } -static gboolean -gst_rsvg_dec_reset (GstVideoDecoder * decoder, gboolean hard) -{ - GstRsvgDec *dec = GST_RSVG_DEC (decoder); - - dec_reset (dec); - - return TRUE; -} - #define CAIRO_UNPREMULTIPLY(a,r,g,b) G_STMT_START { \ b = (a > 0) ? MIN ((b * 255 + a / 2) / a, 255) : 0; \ g = (a > 0) ? MIN ((g * 255 + a / 2) / a, 255) : 0; \ @@ -374,12 +353,11 @@ static gboolean gst_rsvg_dec_stop (GstVideoDecoder * decoder) { GstRsvgDec *rsvg = GST_RSVG_DEC (decoder); + if (rsvg->input_state) { gst_video_codec_state_unref (rsvg->input_state); rsvg->input_state = NULL; } - gst_rsvg_dec_reset (decoder, TRUE); - return TRUE; } diff --git a/ext/rsvg/gstrsvgdec.h b/ext/rsvg/gstrsvgdec.h index cad198c..8d7173b 100644 --- a/ext/rsvg/gstrsvgdec.h +++ b/ext/rsvg/gstrsvgdec.h @@ -56,7 +56,6 @@ struct _GstRsvgDec GList *pending_events; - gint fps_n, fps_d; GstClockTime first_timestamp; guint64 frame_count; diff --git a/ext/schroedinger/gstschrodec.c b/ext/schroedinger/gstschrodec.c index 5cf7c15..72f293d 100644 --- a/ext/schroedinger/gstschrodec.c +++ b/ext/schroedinger/gstschrodec.c @@ -83,7 +83,7 @@ static void gst_schro_dec_finalize (GObject * object); static gboolean gst_schro_dec_start (GstVideoDecoder * dec); static gboolean gst_schro_dec_stop (GstVideoDecoder * dec); -static gboolean gst_schro_dec_reset (GstVideoDecoder * dec, gboolean hard); +static gboolean gst_schro_dec_flush (GstVideoDecoder * dec); static GstFlowReturn gst_schro_dec_parse (GstVideoDecoder * base_video_decoder, GstVideoCodecFrame * frame, GstAdapter * adapter, gboolean at_eos); @@ -135,7 +135,7 @@ gst_schro_dec_class_init (GstSchroDecClass * klass) base_video_decoder_class->start = GST_DEBUG_FUNCPTR (gst_schro_dec_start); base_video_decoder_class->stop = GST_DEBUG_FUNCPTR (gst_schro_dec_stop); - base_video_decoder_class->reset = GST_DEBUG_FUNCPTR (gst_schro_dec_reset); + base_video_decoder_class->flush = GST_DEBUG_FUNCPTR (gst_schro_dec_flush); base_video_decoder_class->parse = GST_DEBUG_FUNCPTR (gst_schro_dec_parse); base_video_decoder_class->handle_frame = GST_DEBUG_FUNCPTR (gst_schro_dec_handle_frame); @@ -168,17 +168,16 @@ gst_schro_dec_stop (GstVideoDecoder * dec) } static gboolean -gst_schro_dec_reset (GstVideoDecoder * dec, gboolean hard) +gst_schro_dec_flush (GstVideoDecoder * dec) { GstSchroDec *schro_dec; schro_dec = GST_SCHRO_DEC (dec); - GST_DEBUG ("reset"); + GST_DEBUG ("flush"); - if (schro_dec->decoder) { + if (schro_dec->decoder) schro_decoder_reset (schro_dec->decoder); - } return TRUE; } diff --git a/sys/androidmedia/gstamcvideodec.c b/sys/androidmedia/gstamcvideodec.c index d99132a..735ac33 100644 --- a/sys/androidmedia/gstamcvideodec.c +++ b/sys/androidmedia/gstamcvideodec.c @@ -79,8 +79,7 @@ static gboolean gst_amc_video_dec_start (GstVideoDecoder * decoder); static gboolean gst_amc_video_dec_stop (GstVideoDecoder * decoder); static gboolean gst_amc_video_dec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state); -static gboolean gst_amc_video_dec_reset (GstVideoDecoder * decoder, - gboolean hard); +static gboolean gst_amc_video_dec_flush (GstVideoDecoder * decoder); static GstFlowReturn gst_amc_video_dec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame); static GstFlowReturn gst_amc_video_dec_finish (GstVideoDecoder * decoder); @@ -478,7 +477,7 @@ gst_amc_video_dec_class_init (GstAmcVideoDecClass * klass) videodec_class->stop = GST_DEBUG_FUNCPTR (gst_amc_video_dec_stop); videodec_class->open = GST_DEBUG_FUNCPTR (gst_amc_video_dec_open); videodec_class->close = GST_DEBUG_FUNCPTR (gst_amc_video_dec_close); - videodec_class->reset = GST_DEBUG_FUNCPTR (gst_amc_video_dec_reset); + videodec_class->flush = GST_DEBUG_FUNCPTR (gst_amc_video_dec_flush); videodec_class->set_format = GST_DEBUG_FUNCPTR (gst_amc_video_dec_set_format); videodec_class->handle_frame = GST_DEBUG_FUNCPTR (gst_amc_video_dec_handle_frame); @@ -1444,13 +1443,13 @@ gst_amc_video_dec_set_format (GstVideoDecoder * decoder, } static gboolean -gst_amc_video_dec_reset (GstVideoDecoder * decoder, gboolean hard) +gst_amc_video_dec_flush (GstVideoDecoder * decoder) { GstAmcVideoDec *self; self = GST_AMC_VIDEO_DEC (decoder); - GST_DEBUG_OBJECT (self, "Resetting decoder"); + GST_DEBUG_OBJECT (self, "Flushing decoder"); if (!self->started) { GST_DEBUG_OBJECT (self, "Codec not started yet"); @@ -1476,7 +1475,7 @@ gst_amc_video_dec_reset (GstVideoDecoder * decoder, gboolean hard) gst_pad_start_task (GST_VIDEO_DECODER_SRC_PAD (self), (GstTaskFunction) gst_amc_video_dec_loop, decoder, NULL); - GST_DEBUG_OBJECT (self, "Reset decoder"); + GST_DEBUG_OBJECT (self, "Flushed decoder"); return TRUE; } diff --git a/sys/mfc/gstmfcdec.c b/sys/mfc/gstmfcdec.c index 20ac137..aca3566 100644 --- a/sys/mfc/gstmfcdec.c +++ b/sys/mfc/gstmfcdec.c @@ -35,7 +35,7 @@ static gboolean gst_mfc_dec_start (GstVideoDecoder * decoder); static gboolean gst_mfc_dec_stop (GstVideoDecoder * decoder); static gboolean gst_mfc_dec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state); -static gboolean gst_mfc_dec_reset (GstVideoDecoder * decoder, gboolean hard); +static gboolean gst_mfc_dec_flush (GstVideoDecoder * decoder); static GstFlowReturn gst_mfc_dec_finish (GstVideoDecoder * decoder); static GstFlowReturn gst_mfc_dec_handle_frame (GstVideoDecoder * decoder, GstVideoCodecFrame * frame); @@ -114,7 +114,7 @@ gst_mfc_dec_class_init (GstMFCDecClass * klass) video_decoder_class->start = GST_DEBUG_FUNCPTR (gst_mfc_dec_start); video_decoder_class->stop = GST_DEBUG_FUNCPTR (gst_mfc_dec_stop); video_decoder_class->finish = GST_DEBUG_FUNCPTR (gst_mfc_dec_finish); - video_decoder_class->reset = GST_DEBUG_FUNCPTR (gst_mfc_dec_reset); + video_decoder_class->flush = GST_DEBUG_FUNCPTR (gst_mfc_dec_flush); video_decoder_class->set_format = GST_DEBUG_FUNCPTR (gst_mfc_dec_set_format); video_decoder_class->negotiate = GST_DEBUG_FUNCPTR (gst_mfc_dec_negotiate); video_decoder_class->decide_allocation = @@ -290,11 +290,11 @@ done: } static gboolean -gst_mfc_dec_reset (GstVideoDecoder * decoder, gboolean hard) +gst_mfc_dec_flush (GstVideoDecoder * decoder) { GstMFCDec *self = GST_MFC_DEC (decoder); - GST_DEBUG_OBJECT (self, "Resetting"); + GST_DEBUG_OBJECT (self, "Flushing"); if (self->context) mfc_dec_flush (self->context); diff --git a/sys/vdpau/h264/gstvdph264dec.c b/sys/vdpau/h264/gstvdph264dec.c index e5d26ce..3fa2488 100644 --- a/sys/vdpau/h264/gstvdph264dec.c +++ b/sys/vdpau/h264/gstvdph264dec.c @@ -497,7 +497,7 @@ render_fail: static gboolean -gst_vdp_h264_dec_reset (GstVideoDecoder * video_decoder, gboolean hard) +gst_vdp_h264_dec_flush (GstVideoDecoder * video_decoder) { GstVdpH264Dec *h264_dec = GST_VDP_H264_DEC (video_decoder); @@ -574,7 +574,7 @@ gst_vdp_h264_dec_class_init (GstVdpH264DecClass * klass) video_decoder_class->start = gst_vdp_h264_dec_start; video_decoder_class->stop = gst_vdp_h264_dec_stop; - video_decoder_class->reset = gst_vdp_h264_dec_reset; + video_decoder_class->flush = gst_vdp_h264_dec_flush; video_decoder_class->set_format = gst_vdp_h264_dec_set_format; diff --git a/sys/vdpau/mpeg/gstvdpmpegdec.c b/sys/vdpau/mpeg/gstvdpmpegdec.c index 68cd48f..efa836d 100644 --- a/sys/vdpau/mpeg/gstvdpmpegdec.c +++ b/sys/vdpau/mpeg/gstvdpmpegdec.c @@ -461,7 +461,7 @@ render_fail: } static gboolean -gst_vdp_mpeg_dec_reset (GstVideoDecoder * video_decoder, gboolean hard) +gst_vdp_mpeg_dec_flush (GstVideoDecoder * video_decoder) { GstVdpMpegDec *mpeg_dec = GST_VDP_MPEG_DEC (video_decoder); @@ -530,7 +530,7 @@ gst_vdp_mpeg_dec_class_init (GstVdpMpegDecClass * klass) video_decoder_class->start = gst_vdp_mpeg_dec_start; video_decoder_class->stop = gst_vdp_mpeg_dec_stop; - video_decoder_class->reset = gst_vdp_mpeg_dec_reset; + video_decoder_class->flush = gst_vdp_mpeg_dec_flush; video_decoder_class->handle_frame = gst_vdp_mpeg_dec_handle_frame; video_decoder_class->set_format = gst_vdp_mpeg_dec_set_format; -- 2.7.4