From 7dd441f8f506145d5f66efd670731f9d9d70844e Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Wed, 29 Jul 2009 18:44:11 -0300 Subject: asfmux: adds support to vc-1 streams --- gst/asfmux/gstasfmux.c | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) (limited to 'gst/asfmux') diff --git a/gst/asfmux/gstasfmux.c b/gst/asfmux/gstasfmux.c index 0d640f04f..5d42d4a7e 100644 --- a/gst/asfmux/gstasfmux.c +++ b/gst/asfmux/gstasfmux.c @@ -2052,20 +2052,26 @@ gst_asf_mux_video_set_caps (GstPad * pad, GstCaps * caps) } if (strcmp (caps_name, "video/x-wmv") == 0) { - gint version; - - if (!gst_structure_get_int (structure, "wmvversion", &version)) - goto refuse_caps; + guint32 fourcc; - videopad->vidinfo.bit_cnt = 24; - if (version == 2) { - videopad->vidinfo.compression = GST_MAKE_FOURCC ('W', 'M', 'V', '2'); - } else if (version == 1) { - videopad->vidinfo.compression = GST_MAKE_FOURCC ('W', 'M', 'V', '1'); - } else if (version == 3) { - videopad->vidinfo.compression = GST_MAKE_FOURCC ('W', 'M', 'V', '3'); + /* in case we have a fourcc, we use it */ + if (gst_structure_get_fourcc (structure, "format", &fourcc)) { + videopad->vidinfo.compression = fourcc; } else { - goto refuse_caps; + gint version; + if (!gst_structure_get_int (structure, "wmvversion", &version)) + goto refuse_caps; + + videopad->vidinfo.bit_cnt = 24; + if (version == 2) { + videopad->vidinfo.compression = GST_MAKE_FOURCC ('W', 'M', 'V', '2'); + } else if (version == 1) { + videopad->vidinfo.compression = GST_MAKE_FOURCC ('W', 'M', 'V', '1'); + } else if (version == 3) { + videopad->vidinfo.compression = GST_MAKE_FOURCC ('W', 'M', 'V', '3'); + } else { + goto refuse_caps; + } } } else { goto refuse_caps; -- cgit v1.2.1