diff options
author | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2010-06-16 15:40:34 +0200 |
---|---|---|
committer | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | 2010-06-16 15:53:47 +0200 |
commit | a69e419c8eaf61b66c5889f5b635bfe8e97d3f71 (patch) | |
tree | a28eabbe76b9b8324df6b2d359cb1bbef139bb6a | |
parent | 6a9c70486ff3f1d3771105b2fccedb912e78f6fe (diff) |
avidemux: improve audio vbr detection
Subsequent entry time calculations use blockalign value to determine
number of frames per chunk, and blockalign == 1 is then most unlikely to result
in reasonable values (which also aligns with "spec").
-rw-r--r-- | gst/avi/gstavidemux.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index e2c5c16fb..e7fe2c381 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -1988,11 +1988,12 @@ gst_avi_demux_parse_stream (GstAviDemux * avi, GstBuffer * buf) GST_DEBUG_OBJECT (element, "marking video as VBR, res %d", res); break; case GST_RIFF_FCC_auds: - stream->is_vbr = (stream->strh->samplesize == 0) - && stream->strh->scale > 1; res = gst_riff_parse_strf_auds (element, sub, &stream->strf.auds, &stream->extradata); + stream->is_vbr = (stream->strh->samplesize == 0) + && stream->strh->scale > 1 + && stream->strf.auds->blockalign != 1; sub = NULL; GST_DEBUG_OBJECT (element, "marking audio as VBR:%d, res %d", stream->is_vbr, res); |