GstQuery * query);
static gboolean gst_nvdec_flush (GstVideoDecoder * decoder);
static GstFlowReturn gst_nvdec_drain (GstVideoDecoder * decoder);
+static GstFlowReturn gst_nvdec_finish (GstVideoDecoder * decoder);
static GstStaticPadTemplate gst_nvdec_sink_template =
GST_STATIC_PAD_TEMPLATE (GST_VIDEO_DECODER_SINK_NAME,
video_decoder_class->src_query = GST_DEBUG_FUNCPTR (gst_nvdec_src_query);
video_decoder_class->drain = GST_DEBUG_FUNCPTR (gst_nvdec_drain);
video_decoder_class->flush = GST_DEBUG_FUNCPTR (gst_nvdec_flush);
+ video_decoder_class->finish = GST_DEBUG_FUNCPTR (gst_nvdec_finish);
element_class->set_context = GST_DEBUG_FUNCPTR (gst_nvdec_set_context);
}
return handle_pending_frames (nvdec);
}
+static GstFlowReturn
+gst_nvdec_finish (GstVideoDecoder * decoder)
+{
+ GST_DEBUG_OBJECT (decoder, "finish");
+
+ return gst_nvdec_drain (decoder);
+}
+
static gboolean
gst_nvdec_decide_allocation (GstVideoDecoder * decoder, GstQuery * query)
{