rtpdec_xiph: Handle the sampling SDP parameter
authorJosh Allmann <joshua.allmann@gmail.com>
Wed, 28 Jul 2010 06:43:58 +0000 (06:43 +0000)
committerMartin Storsjö <martin@martin.st>
Wed, 28 Jul 2010 06:43:58 +0000 (06:43 +0000)
Patch by Josh Allmann, joshua dot allmann at gmail

Originally committed as revision 24565 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavformat/rtpdec_xiph.c

index bcf583f..5b75529 100644 (file)
@@ -293,7 +293,17 @@ static int xiph_parse_fmtp_pair(AVStream* stream,
     int result = 0;
 
     if (!strcmp(attr, "sampling")) {
-        return AVERROR_PATCHWELCOME;
+        if (!strcmp(value, "YCbCr-4:2:0")) {
+            codec->pix_fmt = PIX_FMT_YUV420P;
+        } else if (!strcmp(value, "YCbCr-4:4:2")) {
+            codec->pix_fmt = PIX_FMT_YUV422P;
+        } else if (!strcmp(value, "YCbCr-4:4:4")) {
+            codec->pix_fmt = PIX_FMT_YUV444P;
+        } else {
+            av_log(codec, AV_LOG_ERROR,
+                   "Unsupported pixel format %s\n", attr);
+            return AVERROR_INVALIDDATA;
+        }
     } else if (!strcmp(attr, "width")) {
         /* This is an integer between 1 and 1048561
          * and MUST be in multiples of 16. */