gst/avi/gstavimux.c: Respect mpegversion for "video/mpeg" and give message in case of unhandled versions.

Original commit message from CVS:
* gst/avi/gstavimux.c: (gst_avi_mux_vidsink_set_caps):
Respect mpegversion for "video/mpeg" and give message in case of
unhandled versions.
This commit is contained in:
Stefan Kost 2006-07-18 19:59:01 +00:00
parent 278b4259bb
commit 6ae650d713
2 changed files with 29 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2006-07-18 Stefan Kost <ensonic@users.sf.net>
* gst/avi/gstavimux.c: (gst_avi_mux_vidsink_set_caps):
Respect mpegversion for "video/mpeg" and give message in case of
unhandled versions.
2006-07-17 Wim Taymans <wim@fluendo.com>
* ext/libpng/gstpngdec.c: (gst_pngdec_init), (buffer_clip),

View file

@ -434,13 +434,35 @@ gst_avi_mux_vidsink_set_caps (GstPad * pad, GstCaps * vscaps)
case 43:
avimux->vids.compression = GST_MAKE_FOURCC ('M', 'P', '4', '3');
break;
default:
GST_INFO ("unhandled msmpegversion : %d, fall back to fourcc=MPEG",
msmpegversion);
avimux->vids.compression = GST_MAKE_FOURCC ('M', 'P', 'E', 'G');
break;
}
} else if (!strcmp (mimetype, "video/x-dv")) {
avimux->vids.compression = GST_MAKE_FOURCC ('D', 'V', 'S', 'D');
} else if (!strcmp (mimetype, "video/x-h263")) {
avimux->vids.compression = GST_MAKE_FOURCC ('H', '2', '6', '3');
} else if (!strcmp (mimetype, "video/mpeg")) {
avimux->vids.compression = GST_MAKE_FOURCC ('M', 'P', 'E', 'G');
gint mpegversion;
gst_structure_get_int (structure, "mpegversion", &mpegversion);
switch (mpegversion) {
case 2:
avimux->vids.compression = GST_MAKE_FOURCC ('M', 'P', 'G', '2');
break;
case 4:
/* mplayer/ffmpeg might not work with DIVX, but with FMP4 */
avimux->vids.compression = GST_MAKE_FOURCC ('D', 'I', 'V', 'X');
break;
default:
GST_INFO ("unhandled mpegversion : %d, fall back to fourcc=MPEG",
mpegversion);
avimux->vids.compression = GST_MAKE_FOURCC ('M', 'P', 'E', 'G');
break;
}
}
if (!avimux->vids.compression)