Make Metadata-extractors fail fast
See original GitHub issueUse case description
Right now incorrectly videos with incorrect metadata failing to play with cryptic assert:
Loading finished before preparation is completed
The most primitive scenario is to pass 0-length video. You could try it in any sample app.
Failure to find the moov segment by any reason causes the same assert. I guess failure to find tracks will cause the similar problem as well.
Proposed solution
The Extractor should throw an error instead of letting the upper layer to guess what went wrong. Ideally extractor should provide some information about file size, missing fields etc.
It will simplify debugging of such issues.
Issue Analytics
- State:
- Created 4 years ago
- Comments:9 (8 by maintainers)
Top Results From Across the Web
How to make Powershell Extract Metadata script run faster?
I tried putting all the get-item lines together in a for-loop thinking that it would be faster to retrieve the file once from...
Read more >Metadata extraction failed - CloverCARE Support - CloverDX
I am using CloverETL to extract data and metadata from a sql database. The sql database connection is valid, however when I try...
Read more >Failed to start Tracker metadata extractor 2 - Support
systemd[1671]: Failed to start Tracker metadata extractor. ░░ Subject: A start job for unit UNIT has failed ░░ Defined-By: systemd ░░ Support: ...
Read more >Is Fast Search able to extract file metadata?
I was not able to find if Fast Search is able to extract meta data from files. I'm not talking about meta data...
Read more >meta-extractor-info-sheet.pdf - Metadata Extraction Tool
Automation is integral to implementing a digital preservation metadata strategy: o It mitigates the risk of human error. o It allows the processing...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
It’s not feasible to implement such a feature in a sensible way. Codec support isn’t even evaluated in the
MediaSource
, since it’s not theMediaSource
s responsibility to try and play the media.Coming back to the original request:
Yes, it would definitely be better, but there are many thousands of potential reasons for failure in our extractors. It would not be a good use of time for us to create friendly debug messages for all of them, and it would add a significant amount of bloat to the library.
The well known case is that the media is not malformed. I’m not sure that feeding a file of length 0 to the player is a common case. It’s also easy for a developer to debug themselves by taking a very cursory look at what they’ve fed in.
Determining which extractor will be being used is equivalent to knowing what container format the media uses, which is also easy to determine with a very cursory look at what was fed in (e.g.,
mediainfo file.ext
on the command line).