Browse Source

Show duration for large asf files as written in the file header.

Fixes ticket #3428.
tags/n2.3
Carl Eugen Hoyos 11 years ago
parent
commit
e3fd263f0b
1 changed files with 2 additions and 1 deletions
  1. +2
    -1
      libavformat/asfdec.c

+ 2
- 1
libavformat/asfdec.c View File

@@ -372,7 +372,8 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size)

if (!(asf->hdr.flags & 0x01)) { // if we aren't streaming...
int64_t fsize = avio_size(pb);
if (fsize <= 0 || (int64_t)asf->hdr.file_size <= 0 || FFABS(fsize - (int64_t)asf->hdr.file_size) < 10000)
if (fsize <= 0 || (int64_t)asf->hdr.file_size <= 0 ||
FFABS(fsize - (int64_t)asf->hdr.file_size) / (float)FFMIN(fsize, asf->hdr.file_size) < 0.05)
st->duration = asf->hdr.play_time /
(10000000 / 1000) - start_time;
}


Loading…
Cancel
Save