From: Thiago Santos Date: Fri, 4 Jan 2013 20:01:34 +0000 (-0300) Subject: mssmanifest: add support for VC-1 and WmaPro formats parsing X-Git-Tag: 1.19.3~507^2~13725 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4293cfa7632cb3d60c00824a1b02574324efc283;p=platform%2Fupstream%2Fgstreamer.git mssmanifest: add support for VC-1 and WmaPro formats parsing VC-1 should map to WMV3 and WmaPro to WMA2 --- diff --git a/ext/smoothstreaming/gstmssmanifest.c b/ext/smoothstreaming/gstmssmanifest.c index 9a5e591..99d2433 100644 --- a/ext/smoothstreaming/gstmssmanifest.c +++ b/ext/smoothstreaming/gstmssmanifest.c @@ -239,6 +239,9 @@ _gst_mss_stream_video_caps_from_fourcc (gchar * fourcc) if (strcmp (fourcc, "H264") == 0) { return gst_caps_new_simple ("video/x-h264", "stream-format", G_TYPE_STRING, "avc", NULL); + } else if (strcmp (fourcc, "WVC1") == 0) { + return gst_caps_new_simple ("video/x-wmv", "wmvversion", G_TYPE_INT, 3, + NULL); } return NULL; } @@ -252,6 +255,9 @@ _gst_mss_stream_audio_caps_from_fourcc (gchar * fourcc) if (strcmp (fourcc, "AACL") == 0) { return gst_caps_new_simple ("audio/mpeg", "mpegversion", G_TYPE_INT, 4, NULL); + } else if (strcmp (fourcc, "WmaPro") == 0) { + return gst_caps_new_simple ("audio/x-wma", "wmaversion", G_TYPE_INT, 2, + NULL); } return NULL; } @@ -372,6 +378,11 @@ _gst_mss_stream_video_caps_from_qualitylevel_xml (xmlNodePtr node) gchar *codec_data = (gchar *) xmlGetProp (node, (xmlChar *) "CodecPrivateData"); + if (!max_width) + max_width = (gchar *) xmlGetProp (node, (xmlChar *) "Width"); + if (!max_height) + max_height = (gchar *) xmlGetProp (node, (xmlChar *) "Height"); + caps = _gst_mss_stream_video_caps_from_fourcc (fourcc); if (!caps) goto end; @@ -415,6 +426,11 @@ _gst_mss_stream_audio_caps_from_qualitylevel_xml (xmlNodePtr node) gchar *codec_data = (gchar *) xmlGetProp (node, (xmlChar *) "CodecPrivateData"); + if (!fourcc) /* sometimes the fourcc is omitted, we fallback to the Subtype in the StreamIndex node */ + fourcc = (gchar *) xmlGetProp (node->parent, (xmlChar *) "Subtype"); + if (!codec_data) + codec_data = (gchar *) xmlGetProp (node, (xmlChar *) "WaveFormatEx"); + caps = _gst_mss_stream_audio_caps_from_fourcc (fourcc); if (!caps) goto end;