mirror of https://git.ffmpeg.org/ffmpeg.git
avformat: remove some mpegts details from AVStream
These fields were added to support -merge_pmt_versions, but the mpegts demuxer is also keeping track its programs internally, so that should be a better place to handle it. Also it is not a very good idea to keep fields like program_num or pmt_stream_idx in an AVStream, because a single stream can be part of multiple programs, multiple PMTs, so the stream attributes can refer to any program the stream is part of. Since they are not part of public API, lets simply remove them, or rather replace them with placeholders for ABI compatibility with libavdevice. Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
parent
e57879ec18
commit
2e2891383e
|
@ -1096,12 +1096,12 @@ typedef struct AVStream {
|
||||||
*/
|
*/
|
||||||
int stream_identifier;
|
int stream_identifier;
|
||||||
|
|
||||||
/**
|
#if LIBAVFORMAT_VERSION_MAJOR < 59
|
||||||
* Details of the MPEG-TS program which created this stream.
|
// kept for ABI compatibility only, do not access in any way
|
||||||
*/
|
int unused8;
|
||||||
int program_num;
|
int unused9;
|
||||||
int pmt_version;
|
int unused10;
|
||||||
int pmt_stream_idx;
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An opaque field for libavformat internal usage.
|
* An opaque field for libavformat internal usage.
|
||||||
|
|
|
@ -2400,9 +2400,6 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
||||||
if (!pes->st)
|
if (!pes->st)
|
||||||
goto out;
|
goto out;
|
||||||
pes->st->id = pes->pid;
|
pes->st->id = pes->pid;
|
||||||
pes->st->program_num = h->id;
|
|
||||||
pes->st->pmt_version = h->version;
|
|
||||||
pes->st->pmt_stream_idx = i;
|
|
||||||
}
|
}
|
||||||
st = pes->st;
|
st = pes->st;
|
||||||
} else if (is_pes_stream(stream_type, prog_reg_desc)) {
|
} else if (is_pes_stream(stream_type, prog_reg_desc)) {
|
||||||
|
@ -2422,9 +2419,6 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
||||||
if (!st)
|
if (!st)
|
||||||
goto out;
|
goto out;
|
||||||
st->id = pes->pid;
|
st->id = pes->pid;
|
||||||
st->program_num = h->id;
|
|
||||||
st->pmt_version = h->version;
|
|
||||||
st->pmt_stream_idx = i;
|
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
int idx = ff_find_stream_index(ts->stream, pid);
|
int idx = ff_find_stream_index(ts->stream, pid);
|
||||||
|
@ -2439,9 +2433,6 @@ static void pmt_cb(MpegTSFilter *filter, const uint8_t *section, int section_len
|
||||||
if (!st)
|
if (!st)
|
||||||
goto out;
|
goto out;
|
||||||
st->id = pid;
|
st->id = pid;
|
||||||
st->program_num = h->id;
|
|
||||||
st->pmt_version = h->version;
|
|
||||||
st->pmt_stream_idx = i;
|
|
||||||
st->codecpar->codec_type = AVMEDIA_TYPE_DATA;
|
st->codecpar->codec_type = AVMEDIA_TYPE_DATA;
|
||||||
if (stream_type == 0x86 && prog_reg_desc == AV_RL32("CUEI")) {
|
if (stream_type == 0x86 && prog_reg_desc == AV_RL32("CUEI")) {
|
||||||
mpegts_find_stream_type(st, stream_type, SCTE_types);
|
mpegts_find_stream_type(st, stream_type, SCTE_types);
|
||||||
|
|
Loading…
Reference in New Issue