summaryrefslogtreecommitdiffstats
path: root/gst/avi
diff options
context:
space:
mode:
authorThiago Santos <thiagoss@embedded.ufcg.edu.br>2009-07-28 00:07:15 -0300
committerThiago Santos <thiagoss@embedded.ufcg.edu.br>2009-07-28 00:07:15 -0300
commitf43b442cf91206111ece5f2790de3cb32cb31281 (patch)
treef1b91738deab41f6d70a78bac0041ac576e9f3ff /gst/avi
parent40abf685622de26b2fe2558aff407798fe365b54 (diff)
avimux: adds support to wmv
Diffstat (limited to 'gst/avi')
-rw-r--r--gst/avi/gstavimux.c23
1 files changed, 22 insertions, 1 deletions
diff --git a/gst/avi/gstavimux.c b/gst/avi/gstavimux.c
index 57ae52b8..b7609257 100644
--- a/gst/avi/gstavimux.c
+++ b/gst/avi/gstavimux.c
@@ -146,7 +146,11 @@ static GstStaticPadTemplate video_sink_factory =
"height = (int) [ 16, 4096 ], " "framerate = (fraction) [ 0, MAX ];"
"video/x-dirac, "
"width = (int) [ 16, 4096 ], "
- "height = (int) [ 16, 4096 ], " "framerate = (fraction) [ 0, MAX ]")
+ "height = (int) [ 16, 4096 ], " "framerate = (fraction) [ 0, MAX ];"
+ "video/x-wmv, "
+ "width = (int) [ 16, 4096 ], "
+ "height = (int) [ 16, 4096 ], " "framerate = (fraction) [ 0, MAX ], "
+ "wmvversion = (int) [ 1, 3]")
);
static GstStaticPadTemplate audio_sink_factory =
@@ -581,6 +585,23 @@ gst_avi_mux_vidsink_set_caps (GstPad * pad, GstCaps * vscaps)
}
} else if (!strcmp (mimetype, "video/x-dirac")) {
avipad->vids.compression = GST_MAKE_FOURCC ('d', 'r', 'a', 'c');
+ } else if (!strcmp (mimetype, "video/x-wmv")) {
+ gint wmvversion;
+
+ if (gst_structure_get_int (structure, "wmvversion", &wmvversion)) {
+ switch (wmvversion) {
+ case 1:
+ avipad->vids.compression = GST_MAKE_FOURCC ('W', 'M', 'V', '1');
+ break;
+ case 2:
+ avipad->vids.compression = GST_MAKE_FOURCC ('W', 'M', 'V', '2');
+ break;
+ case 3:
+ avipad->vids.compression = GST_MAKE_FOURCC ('W', 'M', 'V', '3');
+ default:
+ break;
+ }
+ }
}
if (!avipad->vids.compression)