mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-20 00:31:13 +00:00
omxvideodec: Implement ::drain() virtual method
https://bugzilla.gnome.org/show_bug.cgi?id=767641
This commit is contained in:
parent
94789f19cf
commit
198e31355f
1 changed files with 8 additions and 8 deletions
|
@ -75,7 +75,7 @@ static GstFlowReturn gst_omx_video_dec_finish (GstVideoDecoder * decoder);
|
||||||
static gboolean gst_omx_video_dec_decide_allocation (GstVideoDecoder * bdec,
|
static gboolean gst_omx_video_dec_decide_allocation (GstVideoDecoder * bdec,
|
||||||
GstQuery * query);
|
GstQuery * query);
|
||||||
|
|
||||||
static GstFlowReturn gst_omx_video_dec_drain (GstOMXVideoDec * self);
|
static GstFlowReturn gst_omx_video_dec_drain (GstVideoDecoder * decoder);
|
||||||
|
|
||||||
static OMX_ERRORTYPE gst_omx_video_dec_allocate_output_buffers (GstOMXVideoDec *
|
static OMX_ERRORTYPE gst_omx_video_dec_allocate_output_buffers (GstOMXVideoDec *
|
||||||
self);
|
self);
|
||||||
|
@ -119,6 +119,7 @@ gst_omx_video_dec_class_init (GstOMXVideoDecClass * klass)
|
||||||
video_decoder_class->handle_frame =
|
video_decoder_class->handle_frame =
|
||||||
GST_DEBUG_FUNCPTR (gst_omx_video_dec_handle_frame);
|
GST_DEBUG_FUNCPTR (gst_omx_video_dec_handle_frame);
|
||||||
video_decoder_class->finish = GST_DEBUG_FUNCPTR (gst_omx_video_dec_finish);
|
video_decoder_class->finish = GST_DEBUG_FUNCPTR (gst_omx_video_dec_finish);
|
||||||
|
video_decoder_class->drain = GST_DEBUG_FUNCPTR (gst_omx_video_dec_drain);
|
||||||
video_decoder_class->decide_allocation =
|
video_decoder_class->decide_allocation =
|
||||||
GST_DEBUG_FUNCPTR (gst_omx_video_dec_decide_allocation);
|
GST_DEBUG_FUNCPTR (gst_omx_video_dec_decide_allocation);
|
||||||
|
|
||||||
|
@ -1875,7 +1876,7 @@ gst_omx_video_dec_set_format (GstVideoDecoder * decoder,
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (self, "Need to disable and drain decoder");
|
GST_DEBUG_OBJECT (self, "Need to disable and drain decoder");
|
||||||
|
|
||||||
gst_omx_video_dec_drain (self);
|
gst_omx_video_dec_drain (decoder);
|
||||||
gst_omx_video_dec_flush (decoder);
|
gst_omx_video_dec_flush (decoder);
|
||||||
gst_omx_port_set_flushing (out_port, 5 * GST_SECOND, TRUE);
|
gst_omx_port_set_flushing (out_port, 5 * GST_SECOND, TRUE);
|
||||||
|
|
||||||
|
@ -2436,21 +2437,20 @@ release_error:
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
gst_omx_video_dec_finish (GstVideoDecoder * decoder)
|
gst_omx_video_dec_finish (GstVideoDecoder * decoder)
|
||||||
{
|
{
|
||||||
GstOMXVideoDec *self;
|
return gst_omx_video_dec_drain (decoder);
|
||||||
|
|
||||||
self = GST_OMX_VIDEO_DEC (decoder);
|
|
||||||
|
|
||||||
return gst_omx_video_dec_drain (self);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static GstFlowReturn
|
static GstFlowReturn
|
||||||
gst_omx_video_dec_drain (GstOMXVideoDec * self)
|
gst_omx_video_dec_drain (GstVideoDecoder * decoder)
|
||||||
{
|
{
|
||||||
|
GstOMXVideoDec *self;
|
||||||
GstOMXVideoDecClass *klass;
|
GstOMXVideoDecClass *klass;
|
||||||
GstOMXBuffer *buf;
|
GstOMXBuffer *buf;
|
||||||
GstOMXAcquireBufferReturn acq_ret;
|
GstOMXAcquireBufferReturn acq_ret;
|
||||||
OMX_ERRORTYPE err;
|
OMX_ERRORTYPE err;
|
||||||
|
|
||||||
|
self = GST_OMX_VIDEO_DEC (decoder);
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (self, "Draining component");
|
GST_DEBUG_OBJECT (self, "Draining component");
|
||||||
|
|
||||||
klass = GST_OMX_VIDEO_DEC_GET_CLASS (self);
|
klass = GST_OMX_VIDEO_DEC_GET_CLASS (self);
|
||||||
|
|
Loading…
Reference in a new issue