summaryrefslogtreecommitdiffstats
path: root/sys/vdpau/gstvdpaudecoder.c
diff options
context:
space:
mode:
authorCarl-Anton Ingmarsson <ca.ingmarsson@gmail.com>2009-03-26 21:04:48 +0100
committerJan Schmidt <thaytan@noraisin.net>2009-06-20 15:21:21 +0100
commit090638ccec59cebb11327d12ebcff78015716bed (patch)
tree03510134c1a46dfe34d165313a743884d9459502 /sys/vdpau/gstvdpaudecoder.c
parent367708e2ae7435fab215fd93b31234e553220c77 (diff)
downloadgst-plugins-bad-090638ccec59cebb11327d12ebcff78015716bed.tar.gz
gst-plugins-bad-090638ccec59cebb11327d12ebcff78015716bed.tar.bz2
gst-plugins-bad-090638ccec59cebb11327d12ebcff78015716bed.zip
vdpau: extract mpeg version
Diffstat (limited to 'sys/vdpau/gstvdpaudecoder.c')
-rw-r--r--sys/vdpau/gstvdpaudecoder.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/vdpau/gstvdpaudecoder.c b/sys/vdpau/gstvdpaudecoder.c
index 36d6eca0..36a566e0 100644
--- a/sys/vdpau/gstvdpaudecoder.c
+++ b/sys/vdpau/gstvdpaudecoder.c
@@ -286,6 +286,7 @@ static gboolean
gst_vdpaudecoder_sink_set_caps (GstPad * pad, GstCaps * caps)
{
GstVdpauDecoder *dec = GST_VDPAU_DECODER (GST_OBJECT_PARENT (pad));
+ GstVdpauDecoderClass *dec_class = GST_VDPAU_DECODER_GET_CLASS (dec);
GstCaps *src_caps, *new_caps;
GstStructure *structure;
@@ -324,6 +325,9 @@ gst_vdpaudecoder_sink_set_caps (GstPad * pad, GstCaps * caps)
dec->height = height;
dec->format = fourcc_format;
+ if (dec_class->set_caps && !dec_class->set_caps (dec, caps))
+ return FALSE;
+
return TRUE;
}
@@ -404,6 +408,7 @@ gst_vdpaudecoder_init (GstVdpauDecoder * dec, GstVdpauDecoderClass * klass)
(GST_ELEMENT_CLASS (klass), "sink"), "sink");
gst_pad_set_setcaps_function (dec->sink, gst_vdpaudecoder_sink_set_caps);
gst_element_add_pad (GST_ELEMENT (dec), dec->sink);
+ gst_pad_set_active (dec->sink, TRUE);
}
static void