From 955c6843b6b7a491d1707104e5fad048cd1ab72c Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 23 Oct 2015 14:53:19 +0200 Subject: command: do not return 0 for bitrates if unknown This makes the bitrate properties unavailable, instead of returning 0 when: 1. No track is selected, or 2. Not enough packets have been read to have a bitrate estimate yet --- demux/demux.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'demux') diff --git a/demux/demux.c b/demux/demux.c index 53fb5c6cad..3233541be2 100644 --- a/demux/demux.c +++ b/demux/demux.c @@ -1392,10 +1392,11 @@ static int cached_demux_control(struct demux_internal *in, int cmd, void *arg) case DEMUXER_CTRL_GET_BITRATE_STATS: { double *rates = arg; for (int n = 0; n < STREAM_TYPE_COUNT; n++) - rates[n] = 0; + rates[n] = -1; for (int n = 0; n < in->d_user->num_streams; n++) { struct demux_stream *ds = in->d_user->streams[n]->ds; - rates[ds->type] += MPMAX(0, ds->bitrate); + if (ds->selected && ds->bitrate >= 0) + rates[ds->type] = MPMAX(0, rates[ds->type]) + ds->bitrate; } return DEMUXER_CTRL_OK; } -- cgit v1.2.3