summaryrefslogtreecommitdiff
path: root/libavformat/mpegenc.c
diff options
context:
space:
mode:
authorCarl Eugen Hoyos <cehoyos@ag.or.at>2013-11-24 10:37:52 +0100
committerCarl Eugen Hoyos <cehoyos@ag.or.at>2013-11-24 10:37:52 +0100
commite043298cb1b91625ee49e89dcd63916b410bb748 (patch)
treeb966fae945c04deee9ef1640538fedea08aa01db /libavformat/mpegenc.c
parentccdfa3e2711c42b6f8b7902c4dd08f7ac89b4f59 (diff)
lavf/mpegenc: Print a warning if ac3, pcm_s16be or dts are muxed into mpeg1.
Some media players don't play the resulting files. The warning should help users to avoid the issues described in ticket #1720.
Diffstat (limited to 'libavformat/mpegenc.c')
-rw-r--r--libavformat/mpegenc.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c
index 2c7fff22d4..ccf3ec21f7 100644
--- a/libavformat/mpegenc.c
+++ b/libavformat/mpegenc.c
@@ -346,6 +346,15 @@ static av_cold int mpeg_mux_init(AVFormatContext *ctx)
switch(st->codec->codec_type) {
case AVMEDIA_TYPE_AUDIO:
+ if (!s->is_mpeg2 &&
+ (st->codec->codec_id == AV_CODEC_ID_AC3 ||
+ st->codec->codec_id == AV_CODEC_ID_DTS ||
+ st->codec->codec_id == AV_CODEC_ID_PCM_S16BE))
+ av_log(ctx, AV_LOG_WARNING,
+ "%s in MPEG-1 system streams is not widely supported, "
+ "consider using the vob or the dvd muxer "
+ "to force a MPEG-2 program stream.\n",
+ avcodec_get_name(st->codec->codec_id));
if (st->codec->codec_id == AV_CODEC_ID_AC3) {
stream->id = ac3_id++;
} else if (st->codec->codec_id == AV_CODEC_ID_DTS) {