From e043298cb1b91625ee49e89dcd63916b410bb748 Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Sun, 24 Nov 2013 10:37:52 +0100 Subject: 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. --- libavformat/mpegenc.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libavformat/mpegenc.c') 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) { -- cgit v1.2.3