mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-08 13:22:53 +02:00
avformat/mpegts: add constants for MPEG-TS transport stream identifiers
Signed-off-by: Brad Hards <bradh@frogmouth.net> Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
81975cd24b
commit
fb819697f6
@ -137,6 +137,13 @@
|
||||
#define STREAM_TYPE_AUDIO_TRUEHD 0x83
|
||||
#define STREAM_TYPE_AUDIO_EAC3 0x87
|
||||
|
||||
/* ISO/IEC 13818-1 Table 2-22 */
|
||||
#define STREAM_ID_PRIVATE_STREAM_1 0xbd
|
||||
#define STREAM_ID_AUDIO_STREAM_0 0xc0
|
||||
#define STREAM_ID_VIDEO_STREAM_0 0xe0
|
||||
#define STREAM_ID_METADATA_STREAM 0xfc
|
||||
#define STREAM_ID_EXTENDED_STREAM_ID 0xfd
|
||||
|
||||
typedef struct MpegTSContext MpegTSContext;
|
||||
|
||||
MpegTSContext *avpriv_mpegts_parse_open(AVFormatContext *s);
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user