summaryrefslogtreecommitdiffstats
path: root/demux/demux.c
diff options
context:
space:
mode:
Diffstat (limited to 'demux/demux.c')
-rw-r--r--demux/demux.c24
1 files changed, 10 insertions, 14 deletions
diff --git a/demux/demux.c b/demux/demux.c
index 7c340fdd4b..f0512e5859 100644
--- a/demux/demux.c
+++ b/demux/demux.c
@@ -333,7 +333,6 @@ struct demux_stream {
double last_br_ts; // timestamp of last packet bitrate was calculated
size_t last_br_bytes; // summed packet sizes since last bitrate calculation
double bitrate;
- size_t fw_packs; // number of packets in buffer (forward)
size_t fw_bytes; // total bytes of packets in buffer (forward)
struct demux_packet *reader_head; // points at current decoder position
bool skip_to_keyframe;
@@ -415,7 +414,6 @@ static void check_queue_consistency(struct demux_internal *in)
assert(queue->range == range);
size_t fw_bytes = 0;
- size_t fw_packs = 0;
bool is_forward = false;
bool kf_found = false;
bool npt_found = false;
@@ -429,7 +427,6 @@ static void check_queue_consistency(struct demux_internal *in)
total_bytes += bytes;
if (is_forward) {
fw_bytes += bytes;
- fw_packs += 1;
assert(range == in->current_range);
assert(queue->ds->queue == queue);
}
@@ -458,9 +455,8 @@ static void check_queue_consistency(struct demux_internal *in)
if (range == in->current_range) {
assert(queue->ds->fw_bytes == fw_bytes);
- assert(queue->ds->fw_packs == fw_packs);
} else {
- assert(fw_bytes == 0 && fw_packs == 0);
+ assert(fw_bytes == 0);
}
if (queue->keyframe_latest)
@@ -530,12 +526,10 @@ static void mp_packet_tags_make_writable(struct mp_packet_tags **tags)
static void recompute_buffers(struct demux_stream *ds)
{
- ds->fw_packs = 0;
ds->fw_bytes = 0;
for (struct demux_packet *dp = ds->reader_head; dp; dp = dp->next) {
ds->fw_bytes += demux_packet_estimate_total_size(dp);
- ds->fw_packs++;
}
}
@@ -631,7 +625,7 @@ broken:
range->seek_start = range->seek_end = MP_NOPTS_VALUE;
}
-// Remove queue->head from the queue. Does not update in->fw_bytes/in->fw_packs.
+// Remove queue->head from the queue. Does not update in->fw_bytes.
static void remove_head_packet(struct demux_queue *queue)
{
struct demux_packet *dp = queue->head;
@@ -728,7 +722,6 @@ static void ds_clear_reader_queue_state(struct demux_stream *ds)
ds->in->fw_bytes -= ds->fw_bytes;
ds->reader_head = NULL;
ds->fw_bytes = 0;
- ds->fw_packs = 0;
ds->eof = false;
ds->need_wakeup = true;
}
@@ -1811,7 +1804,6 @@ static void add_packet_locked(struct sh_stream *stream, demux_packet_t *dp)
size_t bytes = demux_packet_estimate_total_size(dp);
in->total_bytes += bytes;
if (ds->reader_head) {
- ds->fw_packs++;
ds->fw_bytes += bytes;
in->fw_bytes += bytes;
}
@@ -1841,9 +1833,10 @@ static void add_packet_locked(struct sh_stream *stream, demux_packet_t *dp)
if (ds->base_ts == MP_NOPTS_VALUE)
ds->base_ts = queue->last_ts;
+ const char *num_pkts = queue->head == queue->tail ? "1" : ">1";
MP_TRACE(in, "append packet to %s: size=%d pts=%f dts=%f pos=%"PRIi64" "
- "[num=%zd size=%zd]\n", stream_type_name(stream->type),
- dp->len, dp->pts, dp->dts, dp->pos, ds->fw_packs, ds->fw_bytes);
+ "[num=%s size=%zd]\n", stream_type_name(stream->type),
+ dp->len, dp->pts, dp->dts, dp->pos, num_pkts, ds->fw_bytes);
adjust_seek_range_on_packet(ds, dp);
@@ -1950,9 +1943,13 @@ static bool read_packet(struct demux_internal *in)
for (int n = 0; n < in->num_streams; n++) {
struct demux_stream *ds = in->streams[n]->ds;
if (ds->selected) {
+ size_t num_pkts = 0;
+ for (struct demux_packet *dp = ds->reader_head;
+ dp; dp = dp->next)
+ num_pkts++;
MP_WARN(in, " %s/%d: %zd packets, %zd bytes%s%s\n",
stream_type_name(ds->type), n,
- ds->fw_packs, ds->fw_bytes,
+ num_pkts, ds->fw_bytes,
ds->eager ? "" : " (lazy)",
ds->refreshing ? " (refreshing)" : "");
}
@@ -2201,7 +2198,6 @@ static struct demux_packet *advance_reader_head(struct demux_stream *ds)
ds->reader_head = pkt->next;
// Update cached packet queue state.
- ds->fw_packs--;
size_t bytes = demux_packet_estimate_total_size(pkt);
ds->fw_bytes -= bytes;
ds->in->fw_bytes -= bytes;