Chrome can't play a valid FLAC file
Reported by
paul.s...@zomepower.com,
Oct 2
|
||
Issue descriptionUserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3558.0 Safari/537.36 Example URL: https://drive.google.com/file/d/1alpHNNH_Ou4cSyRkJruezGfmoZypGU2b/view?usp=sharing Steps to reproduce the problem: 1. Download this file: https://drive.google.com/file/d/1alpHNNH_Ou4cSyRkJruezGfmoZypGU2b/view?usp=sharing 2. Try playing it in Chrome What is the expected behavior? The file plays correctly What went wrong? The FLAC file did not play at all Did this work before? No Is it a problem with Flash or HTML5? HTML5 Does this work in other browsers? Yes Chrome version: 71.0.3558.0 Channel: n/a OS Version: OS X 10.13.6 Flash Version: Contents of chrome://gpu: This file works correctly in Safari. It does not work in Chrome or Firefox
,
Oct 3
I made the fie publicly available
,
Oct 3
Huh, strange. The ffmpeg build on my macbook from July 2017 loads it just fine. =>jrummell who's working on the current ffmpeg roll. The file doesn't even make it past OpenContext() in Chrome: https://cs.chromium.org/chromium/src/media/filters/ffmpeg_demuxer.cc?l=976
,
Oct 3
Might be that it has a huge id3 tag which exceeds the probe size we set for content.
,
Oct 3
Doesn't look like it though, flac header starts at ~4k in.
,
Oct 4
FFmpeg doesn't like the file having metadata and ID3v2 metadata. It logs "Discarding ID3 tags because more suitable tags were found." Chrome passes in option AV_EF_EXPLODE, so this is treated as a failure [1] (and that would explain why ffmpeg directly plays it, since the flag is off by default).
Not sure why this is a fatal error. Will see if FFmpeg will accept a change that always treats it as a warning.
However, after locally commenting out the failure, FFmpeg logging reports all kinds of issues:
Before avformat_find_stream_info() pos: 140508137888864 bytes read:206158430232 seeks:32768 nb_streams:0
sample/frame number invalid; utf8 fscked
invalid sample size code (-1717201088)
header crc mismatch
21x sample/frame number mismatch in adjacent frames
sample/frame number invalid; utf8 fscked
All info found
stream -1717199760: start_time: 0.000 duration: 0.000
format: start_time: 0.000 duration: 0.000 bitrate=140508137888880 kb/s
After avformat_find_stream_info() pos: 140508137888864 bytes read:206158430232 seeks:98304 frames:0
invalid channel mode: -1717200624
3x sample/frame number mismatch in adjacent frames
broken stream, invalid padding
invalid channel mode: -1717200624
3x sample/frame number mismatch in adjacent frames
invalid sample size code (-1717200624)
... (lots more)
But the file seems to play OK, so it should be fine.
[1] https://cs.chromium.org/chromium/src/third_party/ffmpeg/libavformat/utils.c?l=643
|
||
►
Sign in to add a comment |
||
Comment 1 by phanindra.mandapaka@chromium.org
, Oct 2