|
|
|
@ -1382,28 +1382,28 @@ static void mpegts_write_pes(AVFormatContext *s, AVStream *st, |
|
|
|
|
is_dvb_teletext = 0; |
|
|
|
|
if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { |
|
|
|
|
if (st->codecpar->codec_id == AV_CODEC_ID_DIRAC) |
|
|
|
|
*q++ = 0xfd; |
|
|
|
|
*q++ = STREAM_ID_EXTENDED_STREAM_ID; |
|
|
|
|
else |
|
|
|
|
*q++ = 0xe0; |
|
|
|
|
*q++ = STREAM_ID_VIDEO_STREAM_0; |
|
|
|
|
} else if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && |
|
|
|
|
(st->codecpar->codec_id == AV_CODEC_ID_MP2 || |
|
|
|
|
st->codecpar->codec_id == AV_CODEC_ID_MP3 || |
|
|
|
|
st->codecpar->codec_id == AV_CODEC_ID_AAC)) { |
|
|
|
|
*q++ = 0xc0; |
|
|
|
|
*q++ = STREAM_ID_AUDIO_STREAM_0; |
|
|
|
|
} else if (st->codecpar->codec_type == AVMEDIA_TYPE_AUDIO && |
|
|
|
|
st->codecpar->codec_id == AV_CODEC_ID_AC3 && |
|
|
|
|
ts->m2ts_mode) { |
|
|
|
|
*q++ = 0xfd; |
|
|
|
|
*q++ = STREAM_ID_EXTENDED_STREAM_ID; |
|
|
|
|
} else if (st->codecpar->codec_type == AVMEDIA_TYPE_DATA && |
|
|
|
|
st->codecpar->codec_id == AV_CODEC_ID_TIMED_ID3) { |
|
|
|
|
*q++ = 0xbd; |
|
|
|
|
*q++ = STREAM_ID_PRIVATE_STREAM_1; |
|
|
|
|
} else if (st->codecpar->codec_type == AVMEDIA_TYPE_DATA) { |
|
|
|
|
*q++ = stream_id != -1 ? stream_id : 0xfc; |
|
|
|
|
*q++ = stream_id != -1 ? stream_id : STREAM_ID_METADATA_STREAM; |
|
|
|
|
|
|
|
|
|
if (stream_id == 0xbd) /* asynchronous KLV */ |
|
|
|
|
if (stream_id == STREAM_ID_PRIVATE_STREAM_1) /* asynchronous KLV */ |
|
|
|
|
pts = dts = AV_NOPTS_VALUE; |
|
|
|
|
} else { |
|
|
|
|
*q++ = 0xbd; |
|
|
|
|
*q++ = STREAM_ID_PRIVATE_STREAM_1; |
|
|
|
|
if (st->codecpar->codec_type == AVMEDIA_TYPE_SUBTITLE) { |
|
|
|
|
if (st->codecpar->codec_id == AV_CODEC_ID_DVB_SUBTITLE) { |
|
|
|
|
is_dvb_subtitle = 1; |
|
|
|
|