mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-30 04:00:37 +00:00
ext/ffmpeg/: Add support for Monkey's Audio (APE). Fixes bug #518033.
Original commit message from CVS: * ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps), (gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_to_caps), (gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname): * ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register): Add support for Monkey's Audio (APE). Fixes bug #518033.
This commit is contained in:
parent
e89529fccc
commit
b83d37033a
4 changed files with 29 additions and 1 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2008-04-19 Sebastian Dröge <slomo@circular-chaos.org>
|
||||||
|
|
||||||
|
* ext/ffmpeg/gstffmpegcodecmap.c: (gst_ffmpeg_codecid_to_caps),
|
||||||
|
(gst_ffmpeg_caps_with_codecid), (gst_ffmpeg_formatid_to_caps),
|
||||||
|
(gst_ffmpeg_caps_to_codecid), (gst_ffmpeg_get_codecid_longname):
|
||||||
|
* ext/ffmpeg/gstffmpegdemux.c: (gst_ffmpegdemux_register):
|
||||||
|
Add support for Monkey's Audio (APE). Fixes bug #518033.
|
||||||
|
|
||||||
2008-04-15 Andy Wingo <wingo@pobox.com>
|
2008-04-15 Andy Wingo <wingo@pobox.com>
|
||||||
|
|
||||||
* ext/libpostproc/gstpostproc.c (gst_post_proc_transform_ip): Fix
|
* ext/libpostproc/gstpostproc.c (gst_post_proc_transform_ip): Fix
|
||||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
||||||
Subproject commit f88ff852da7631ad2d0be835763da6d551a63883
|
Subproject commit 3bb6edfe927d6d3020d2f2a4604f54caa61cd104
|
|
@ -317,6 +317,16 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id,
|
||||||
caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-dts", NULL);
|
caps = gst_ff_aud_caps_new (context, codec_id, "audio/x-dts", NULL);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case CODEC_ID_APE:
|
||||||
|
caps =
|
||||||
|
gst_ff_aud_caps_new (context, codec_id, "audio/x-ffmpeg-parsed-ape",
|
||||||
|
NULL);
|
||||||
|
if (context) {
|
||||||
|
gst_caps_set_simple (caps,
|
||||||
|
"depth", G_TYPE_INT, context->bits_per_sample, NULL);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
/* MJPEG is normal JPEG, Motion-JPEG and Quicktime MJPEG-A. MJPEGB
|
/* MJPEG is normal JPEG, Motion-JPEG and Quicktime MJPEG-A. MJPEGB
|
||||||
* is Quicktime's MJPEG-B. LJPEG is lossless JPEG. I don't know what
|
* is Quicktime's MJPEG-B. LJPEG is lossless JPEG. I don't know what
|
||||||
* sp5x is, but it's apparently something JPEG... We don't separate
|
* sp5x is, but it's apparently something JPEG... We don't separate
|
||||||
|
@ -1620,6 +1630,7 @@ gst_ffmpeg_caps_with_codecid (enum CodecID codec_id,
|
||||||
case CODEC_ID_MSRLE:
|
case CODEC_ID_MSRLE:
|
||||||
case CODEC_ID_QTRLE:
|
case CODEC_ID_QTRLE:
|
||||||
case CODEC_ID_TSCC:
|
case CODEC_ID_TSCC:
|
||||||
|
case CODEC_ID_APE:
|
||||||
{
|
{
|
||||||
gint depth;
|
gint depth;
|
||||||
|
|
||||||
|
@ -1739,6 +1750,8 @@ gst_ffmpeg_formatid_to_caps (const gchar * format_name)
|
||||||
caps = gst_caps_new_simple ("video/x-msvideo", NULL);
|
caps = gst_caps_new_simple ("video/x-msvideo", NULL);
|
||||||
} else if (!strcmp (format_name, "wav")) {
|
} else if (!strcmp (format_name, "wav")) {
|
||||||
caps = gst_caps_new_simple ("audio/x-wav", NULL);
|
caps = gst_caps_new_simple ("audio/x-wav", NULL);
|
||||||
|
} else if (!strcmp (format_name, "ape")) {
|
||||||
|
caps = gst_caps_new_simple ("application/x-ape", NULL);
|
||||||
} else if (!strcmp (format_name, "swf")) {
|
} else if (!strcmp (format_name, "swf")) {
|
||||||
caps = gst_caps_new_simple ("application/x-shockwave-flash", NULL);
|
caps = gst_caps_new_simple ("application/x-shockwave-flash", NULL);
|
||||||
} else if (!strcmp (format_name, "au")) {
|
} else if (!strcmp (format_name, "au")) {
|
||||||
|
@ -2135,6 +2148,9 @@ gst_ffmpeg_caps_to_codecid (const GstCaps * caps, AVCodecContext * context)
|
||||||
} else if (!strcmp (mimetype, "audio/x-dts")) {
|
} else if (!strcmp (mimetype, "audio/x-dts")) {
|
||||||
id = CODEC_ID_DTS;
|
id = CODEC_ID_DTS;
|
||||||
audio = TRUE;
|
audio = TRUE;
|
||||||
|
} else if (!strcmp (mimetype, "application/x-ape")) {
|
||||||
|
id = CODEC_ID_APE;
|
||||||
|
audio = TRUE;
|
||||||
} else if (!strcmp (mimetype, "video/x-msmpeg")) {
|
} else if (!strcmp (mimetype, "video/x-msmpeg")) {
|
||||||
gint msmpegversion = 0;
|
gint msmpegversion = 0;
|
||||||
|
|
||||||
|
@ -2506,6 +2522,9 @@ gst_ffmpeg_get_codecid_longname (enum CodecID codec_id)
|
||||||
case CODEC_ID_MP3:
|
case CODEC_ID_MP3:
|
||||||
name = "MPEG-1 layer 3 audio";
|
name = "MPEG-1 layer 3 audio";
|
||||||
break;
|
break;
|
||||||
|
case CODEC_ID_APE:
|
||||||
|
name = "Monkey's Audio";
|
||||||
|
break;
|
||||||
case CODEC_ID_VORBIS:
|
case CODEC_ID_VORBIS:
|
||||||
name = "Vorbis audio";
|
name = "Vorbis audio";
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -1577,6 +1577,7 @@ gst_ffmpegdemux_register (GstPlugin * plugin)
|
||||||
!strcmp (in_plugin->name, "mmf") ||
|
!strcmp (in_plugin->name, "mmf") ||
|
||||||
!strcmp (in_plugin->name, "mm") ||
|
!strcmp (in_plugin->name, "mm") ||
|
||||||
!strcmp (in_plugin->name, "ipmovie") ||
|
!strcmp (in_plugin->name, "ipmovie") ||
|
||||||
|
!strcmp (in_plugin->name, "ape") ||
|
||||||
!strcmp (in_plugin->name, "RoQ") ||
|
!strcmp (in_plugin->name, "RoQ") ||
|
||||||
!strcmp (in_plugin->name, "idcin") ||
|
!strcmp (in_plugin->name, "idcin") ||
|
||||||
!strcmp (in_plugin->name, "gxf") ||
|
!strcmp (in_plugin->name, "gxf") ||
|
||||||
|
|
Loading…
Reference in a new issue