diff options
author | Thiago Santos <thiagoss@embedded.ufcg.edu.br> | 2009-07-28 00:07:15 -0300 |
---|---|---|
committer | Thiago Santos <thiagoss@embedded.ufcg.edu.br> | 2009-07-28 00:07:15 -0300 |
commit | f43b442cf91206111ece5f2790de3cb32cb31281 (patch) | |
tree | f1b91738deab41f6d70a78bac0041ac576e9f3ff /gst | |
parent | 40abf685622de26b2fe2558aff407798fe365b54 (diff) |
avimux: adds support to wmv
Diffstat (limited to 'gst')
-rw-r--r-- | gst/avi/gstavimux.c | 23 |
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) |