ECToo / lavfilters

Automatically exported from code.google.com/p/lavfilters
GNU General Public License v2.0
0 stars 0 forks source link

Very long media results in inconsistent get_Duration values #489

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Describe the issue you're having:

I have an fragmented MP4 file (PIFF 1.3 CFF) that is 5H 47M 10S  in duration at 
23.976FPS. It is 22.8GB in size. I'm using the LAV source splitter to read it.

The value returned by mediaPosition.get_Duration is incorrect. Using the in-box 
MediaFoundation bits in Windows 8.1 works. But the legacy bits I'm working on 
are DShow, so that's not an option right now.

How can the issue be reproduced? Sample File?
I cannot upload this content. Sorry. 

What version of the product are you using? In which Player?
.62
Graphstudio and code

Please provide any additional information below.

Original issue reported on code.google.com by iankph...@gmail.com on 29 Sep 2014 at 6:16

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
Workaround: use the default DShow Async File Reader with the LAV splitter 
instead of the LAV Splitter/Source alone.

This results in very long load times for large/long files but you get the 
correct duration. 

Original comment by iankph...@gmail.com on 29 Sep 2014 at 11:02

GoogleCodeExporter commented 9 years ago
It would appear that the splitter (and splitter/source) attempt to read all the 
indexes in the fMP4 file rather than pulling the duration from the appropriate 
box. Or something. Not sure. 

Load times when using the async source is excessive for long files, with tons 
of disk IO before playback starts. 

If you load the file once using the async filter, subsequent load with the LAV 
splitter/source work, I assume due to disk cache.

Original comment by iankph...@gmail.com on 30 Sep 2014 at 5:04