summaryrefslogtreecommitdiff
path: root/ext/ffmpeg/gstffmpegcodecmap.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/ffmpeg/gstffmpegcodecmap.c')
-rw-r--r--ext/ffmpeg/gstffmpegcodecmap.c30
1 files changed, 27 insertions, 3 deletions
diff --git a/ext/ffmpeg/gstffmpegcodecmap.c b/ext/ffmpeg/gstffmpegcodecmap.c
index 1495ba2d6d..61d47eb28b 100644
--- a/ext/ffmpeg/gstffmpegcodecmap.c
+++ b/ext/ffmpeg/gstffmpegcodecmap.c
@@ -1717,8 +1717,13 @@ gst_ffmpeg_formatid_get_codecids (const gchar *format_name,
GST_LOG ("format_name : %s", format_name);
if (!strcmp (format_name, "mp4")) {
- static enum CodecID mp4_video_list[] = { CODEC_ID_MPEG4, CODEC_ID_H264, CODEC_ID_NONE };
- static enum CodecID mp4_audio_list[] = { CODEC_ID_AAC, CODEC_ID_NONE };
+ static enum CodecID mp4_video_list[] = {
+ CODEC_ID_MPEG4, CODEC_ID_H264, CODEC_ID_NONE
+ };
+ static enum CodecID mp4_audio_list[] = {
+ CODEC_ID_AAC, CODEC_ID_MP3, CODEC_ID_AMR_NB,
+ CODEC_ID_NONE
+ };
*video_codec_list = mp4_video_list;
*audio_codec_list = mp4_audio_list;
@@ -1789,12 +1794,31 @@ gst_ffmpeg_formatid_get_codecids (const gchar *format_name,
*video_codec_list = mov_video_list;
*audio_codec_list = mov_audio_list;
+ } else if ((!strcmp (format_name, "3gp") ||
+ !strcmp (format_name, "3g2"))) {
+ static enum CodecID tgp_video_list[] = {
+ CODEC_ID_H263,
+ CODEC_ID_NONE
+ };
+ static enum CodecID tgp_audio_list[] = {
+ CODEC_ID_AMR_NB,
+ CODEC_ID_NONE
+ };
+
+ *video_codec_list = tgp_video_list;
+ *audio_codec_list = tgp_audio_list;
} else if (!strcmp (format_name, "mmf")) {
static enum CodecID mmf_audio_list[] = {
CODEC_ID_ADPCM_YAMAHA};
*video_codec_list = NULL;
*audio_codec_list = mmf_audio_list;
- } else {
+ } else if (!strcmp (format_name, "amr")) {
+ static enum CodecID amr_audio_list[] = {
+ CODEC_ID_AMR_NB, CODEC_ID_AMR_WB,
+ CODEC_ID_NONE };
+ *video_codec_list = NULL;
+ *audio_codec_list = amr_audio_list;
+ } else {
GST_LOG ("Format %s not found", format_name);
return FALSE;
}