ext/ffmpeg/gstffmpegcodecmap.c: Negotiation fixes for real video codecs.
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>
Mon, 4 Oct 2004 16:11:30 +0000 (16:11 +0000)
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>
Mon, 4 Oct 2004 16:11:30 +0000 (16:11 +0000)
Original commit message from CVS:
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
(gst_ffmpeg_caps_with_codecid):
Negotiation fixes for real video codecs.

ChangeLog
ext/ffmpeg/gstffmpegcodecmap.c

index cf3a215a1dad90054e0878b2d7a97fc529c6f452..05604b3850b7636888d8e8076121335232d9ab7c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-10-04  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
+
+       * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
+       (gst_ffmpeg_caps_with_codecid):
+         Negotiation fixes for real video codecs.
+
 2004-10-02  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
 
        * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_loop):
index 3a787b16f8023154760de43f21193fa6d7536098..658f80d1de2299ea75bc1b6adf6771cad3a1fadd 100644 (file)
@@ -177,6 +177,10 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
         caps = GST_FF_VID_CAPS_NEW ("video/x-pn-realvideo",
             "systemstream", G_TYPE_BOOLEAN, FALSE,
             "rmversion", G_TYPE_INT, version, NULL);
+        if (context) {
+          gst_caps_set_simple (caps,
+              "rmsubid", GST_TYPE_FOURCC, context->sub_id, NULL);
+        }
       } while (0);
       break;
 
@@ -1183,6 +1187,16 @@ gst_ffmpeg_caps_with_codecid (enum CodecID codec_id,
       } while (0);
       break;
 
+    case CODEC_ID_RV10:
+    case CODEC_ID_RV20:
+      do {
+        guint32 fourcc;
+
+        if (gst_structure_get_fourcc (str, "rmsubid", &fourcc))
+          context->sub_id = fourcc;
+      } while (0);
+      break;
+
     default:
       break;
   }