summaryrefslogtreecommitdiff
path: root/libavformat/mpegts.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2020-12-19 00:22:02 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2020-12-22 00:30:50 +0100
commitc0e660ba14161f1d58dab2e59c603a08aff9e8c8 (patch)
tree90dc95de6174d023a79818ca264b0ccbd6d36010 /libavformat/mpegts.c
parentef7b117b7be8a81d6b245cadf096cbe4b1a12987 (diff)
avformat/mpegts: simplify nb_packets code
Reviewed-by: Marton Balint <cus@passwd.hu> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/mpegts.c')
-rw-r--r--libavformat/mpegts.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c
index 1122455f66..cc292ab929 100644
--- a/libavformat/mpegts.c
+++ b/libavformat/mpegts.c
@@ -3090,7 +3090,6 @@ static int mpegts_read_header(AVFormatContext *s)
AVStream *st;
int pcr_pid, pid, nb_packets, nb_pcrs, ret, pcr_l;
int64_t pcrs[2], pcr_h;
- int packet_count[2];
uint8_t packet[TS_PACKET_SIZE];
const uint8_t *data;
@@ -3116,7 +3115,6 @@ static int mpegts_read_header(AVFormatContext *s)
parse_pcr(&pcr_h, &pcr_l, data) == 0) {
finished_reading_packet(s, ts->raw_packet_size);
pcr_pid = pid;
- packet_count[nb_pcrs] = nb_packets;
pcrs[nb_pcrs] = pcr_h * 300 + pcr_l;
nb_pcrs++;
if (nb_pcrs >= 2) {
@@ -3126,7 +3124,6 @@ static int mpegts_read_header(AVFormatContext *s)
} else {
av_log(ts->stream, AV_LOG_WARNING, "invalid pcr pair %"PRId64" >= %"PRId64"\n", pcrs[0], pcrs[1]);
pcrs[0] = pcrs[1];
- packet_count[0] = packet_count[1];
nb_pcrs--;
}
}
@@ -3138,8 +3135,8 @@ static int mpegts_read_header(AVFormatContext *s)
/* NOTE1: the bitrate is computed without the FEC */
/* NOTE2: it is only the bitrate of the start of the stream */
- ts->pcr_incr = (pcrs[1] - pcrs[0]) / (packet_count[1] - packet_count[0]);
- ts->cur_pcr = pcrs[0] - ts->pcr_incr * packet_count[0];
+ ts->pcr_incr = pcrs[1] - pcrs[0];
+ ts->cur_pcr = pcrs[0] - ts->pcr_incr * (nb_packets - 1);
s->bit_rate = TS_PACKET_SIZE * 8 * 27000000LL / ts->pcr_incr;
st->codecpar->bit_rate = s->bit_rate;
st->start_time = ts->cur_pcr;