summaryrefslogtreecommitdiff
path: root/sys/vdpau
diff options
context:
space:
mode:
authorCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>2010-06-22 14:52:00 +0200
committerCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>2010-06-23 21:51:53 +0200
commit3826b3b57b7add62a898fe6824d2386ab64778e0 (patch)
tree362ae2d5a2784ae1662ac4cf1d0c741023d35fb3 /sys/vdpau
parent8eed6f2ab92e194f5b4e61e5db8aac51c32f25fc (diff)
vdpau: remove parse_codec_data from GstBaseVideoDecoder
Diffstat (limited to 'sys/vdpau')
-rw-r--r--sys/vdpau/basevideodecoder/gstbasevideodecoder.c39
-rw-r--r--sys/vdpau/basevideodecoder/gstbasevideodecoder.h2
2 files changed, 15 insertions, 26 deletions
diff --git a/sys/vdpau/basevideodecoder/gstbasevideodecoder.c b/sys/vdpau/basevideodecoder/gstbasevideodecoder.c
index 570d7935c..496318b70 100644
--- a/sys/vdpau/basevideodecoder/gstbasevideodecoder.c
+++ b/sys/vdpau/basevideodecoder/gstbasevideodecoder.c
@@ -37,7 +37,7 @@ enum
static GstFlowReturn gst_base_video_decoder_drain (GstBaseVideoDecoder * dec,
- gboolean at_eos, gboolean codec_data);
+ gboolean at_eos);
GST_BOILERPLATE (GstBaseVideoDecoder, gst_base_video_decoder,
@@ -229,7 +229,7 @@ gst_base_video_decoder_sink_event (GstPad * pad, GstEvent * event)
case GST_EVENT_EOS:
{
if (!base_video_decoder->packetized)
- gst_base_video_decoder_drain (base_video_decoder, TRUE, FALSE);
+ gst_base_video_decoder_drain (base_video_decoder, TRUE);
ret =
gst_pad_push_event (GST_BASE_VIDEO_DECODER_SRC_PAD
@@ -654,12 +654,10 @@ empty_caps:
}
static GstFlowReturn
-gst_base_video_decoder_drain (GstBaseVideoDecoder * dec, gboolean at_eos,
- gboolean codec_data)
+gst_base_video_decoder_drain (GstBaseVideoDecoder * dec, gboolean at_eos)
{
GstBaseVideoDecoderClass *klass;
GstBaseVideoDecoderScanResult res;
- GstFlowReturn ret;
guint size;
klass = GST_BASE_VIDEO_DECODER_GET_CLASS (dec);
@@ -737,23 +735,21 @@ lost_sync:
else
GST_BUFFER_FLAG_UNSET (buf, GST_BUFFER_FLAG_GAP);
- if (codec_data)
- ret = klass->parse_codec_data (dec, buf);
- else
- ret = klass->parse_data (dec, buf, at_eos);
- if (ret != GST_FLOW_OK)
- break;
-
res = klass->scan_for_packet_end (dec, dec->input_adapter, &size, at_eos);
}
- if (res == GST_BASE_VIDEO_DECODER_SCAN_RESULT_LOST_SYNC) {
- dec->have_sync = FALSE;
- goto lost_sync;
- } else if (res == GST_BASE_VIDEO_DECODER_SCAN_RESULT_NEED_DATA)
- return GST_FLOW_OK;
+ switch (res) {
+ case GST_BASE_VIDEO_DECODER_SCAN_RESULT_LOST_SYNC:
+ dec->have_sync = FALSE;
+ goto lost_sync;
- return ret;
+ case GST_BASE_VIDEO_DECODER_SCAN_RESULT_NEED_DATA:
+ return GST_FLOW_OK;
+
+ default:
+ GST_ERROR_OBJECT (dec, "Subclass returned invalid scan result");
+ return GST_FLOW_ERROR;
+ }
}
static GstFlowReturn
@@ -831,7 +827,7 @@ gst_base_video_decoder_chain (GstPad * pad, GstBuffer * buf)
gst_adapter_push (base_video_decoder->input_adapter, buf);
- ret = gst_base_video_decoder_drain (base_video_decoder, FALSE, FALSE);
+ ret = gst_base_video_decoder_drain (base_video_decoder, FALSE);
}
gst_object_unref (base_video_decoder);
@@ -1313,11 +1309,6 @@ gst_base_video_decoder_class_init (GstBaseVideoDecoderClass * klass)
"packets", FALSE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
g_object_class_install_property (gobject_class, PROP_PACKETIZED,
- g_param_spec_boolean ("parse-codec-data", "Parse Codec Data",
- "Whether the codec_data should be parsed", FALSE,
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
-
- g_object_class_install_property (gobject_class, PROP_PACKETIZED,
g_param_spec_boolean ("sink-clipping", "Sink Clipping",
"If enabled GstBaseVideoDecoder will clip outgoing frames", FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
diff --git a/sys/vdpau/basevideodecoder/gstbasevideodecoder.h b/sys/vdpau/basevideodecoder/gstbasevideodecoder.h
index 51b28ab35..bdb65a9e3 100644
--- a/sys/vdpau/basevideodecoder/gstbasevideodecoder.h
+++ b/sys/vdpau/basevideodecoder/gstbasevideodecoder.h
@@ -160,8 +160,6 @@ struct _GstBaseVideoDecoderClass
GstFlowReturn (*parse_data) (GstBaseVideoDecoder *decoder,
GstBuffer *buf, gboolean at_eos);
- GstFlowReturn (*parse_codec_data) (GstBaseVideoDecoder *decoder,
- GstBuffer *buf);
GstVideoFrame *(*create_frame) (GstBaseVideoDecoder *coder);