Make GstBaseVideoEncoder::handle_frame return GstFlowReturn

This commit is contained in:
Alessandro Decina 2009-10-01 16:26:22 +02:00
parent 4c087bcb07
commit 40d832918a
2 changed files with 4 additions and 3 deletions

View file

@ -357,6 +357,7 @@ gst_base_video_encoder_chain (GstPad * pad, GstBuffer * buf)
GstBaseVideoEncoder *base_video_encoder;
GstBaseVideoEncoderClass *klass;
GstVideoFrame *frame;
GstFlowReturn ret = GST_FLOW_OK;
if (!gst_pad_is_negotiated (pad)) {
return GST_FLOW_NOT_NEGOTIATED;
@ -389,12 +390,12 @@ gst_base_video_encoder_chain (GstPad * pad, GstBuffer * buf)
base_video_encoder->frames =
g_list_append (base_video_encoder->frames, frame);
klass->handle_frame (base_video_encoder, frame);
ret = klass->handle_frame (base_video_encoder, frame);
done:
g_object_unref (base_video_encoder);
return GST_FLOW_OK;
return ret;
}
static GstStateChangeReturn

View file

@ -90,7 +90,7 @@ struct _GstBaseVideoEncoderClass
gboolean (*start) (GstBaseVideoEncoder *coder);
gboolean (*stop) (GstBaseVideoEncoder *coder);
gboolean (*finish) (GstBaseVideoEncoder *coder, GstVideoFrame *frame);
gboolean (*handle_frame) (GstBaseVideoEncoder *coder, GstVideoFrame *frame);
GstFlowReturn (*handle_frame) (GstBaseVideoEncoder *coder, GstVideoFrame *frame);
GstFlowReturn (*shape_output) (GstBaseVideoEncoder *coder, GstVideoFrame *frame);
GstCaps *(*get_caps) (GstBaseVideoEncoder *coder);