[FFmpeg-devel] [PATCH]Warn all lavf users if ac3 (dts, pcm) is muxed into mpeg-1 system

Carl Eugen Hoyos cehoyos at ag.or.at
Fri Nov 22 00:17:34 CET 2013


Hi!

Attached is a second variant of the mpeg-1 system warning patch 
(as suggested by Michael).

This still assumes that ac-3 (dts, pcm) in MPEG-1 System is valid, 
I don't know if this is true.

Please comment, Carl Eugen
-------------- next part --------------
diff --git a/libavformat/mpegenc.c b/libavformat/mpegenc.c
index 0a9d69b..e4233b4 100644
--- a/libavformat/mpegenc.c
+++ b/libavformat/mpegenc.c
@@ -344,6 +344,15 @@ static av_cold int mpeg_mux_init(AVFormatContext *ctx)
 
         switch(st->codec->codec_type) {
         case AVMEDIA_TYPE_AUDIO:
+            if (!strcmp(ctx->oformat->name, "mpeg") &&
+                (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) {


More information about the ffmpeg-devel mailing list