diff options
Diffstat (limited to 'libavformat/mpegtsenc.c')
-rw-r--r-- | libavformat/mpegtsenc.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/libavformat/mpegtsenc.c b/libavformat/mpegtsenc.c index 9b12af7ecb..21e92bf6b2 100644 --- a/libavformat/mpegtsenc.c +++ b/libavformat/mpegtsenc.c @@ -196,6 +196,8 @@ static void mpegts_write_pat(AVFormatContext *s) data, q - data); } + + static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) { // MpegTSWrite *ts = s->priv_data; @@ -240,7 +242,10 @@ static void mpegts_write_pmt(AVFormatContext *s, MpegTSService *service) stream_type = STREAM_TYPE_AUDIO_AAC; break; case CODEC_ID_AC3: - stream_type = STREAM_TYPE_AUDIO_AC3; + if (!strcmp(s->oformat->name, "dvb")) + stream_type = STREAM_TYPE_PRIVATE_DATA; + else + stream_type = STREAM_TYPE_AUDIO_AC3; break; default: stream_type = STREAM_TYPE_PRIVATE_DATA; @@ -886,3 +891,17 @@ AVOutputFormat mpegts_muxer = { mpegts_write_packet, mpegts_write_end, }; + + +AVOutputFormat dvb_muxer = { + "dvb", + NULL_IF_CONFIG_SMALL("DVB style MPEG-2 transport stream format"), + "video/x-mpegts", + "dvb", + sizeof(MpegTSWrite), + CODEC_ID_MP2, + CODEC_ID_MPEG2VIDEO, + mpegts_write_header, + mpegts_write_packet, + mpegts_write_end, +}; |