diff options
author | athenian200 <athenian200@outlook.com> | 2020-05-10 06:45:59 -0500 |
---|---|---|
committer | athenian200 <athenian200@outlook.com> | 2020-05-10 06:45:59 -0500 |
commit | bc4dacf690851ad180a1abe1efdd1ee890fcc5da (patch) | |
tree | 91c49ca5152ef957be6392452a4e50339d9fd841 /dom | |
parent | 8b41800216fc404f016836e18d0da415c618611d (diff) | |
download | uxp-bc4dacf690851ad180a1abe1efdd1ee890fcc5da.tar.gz |
Issue #1540 - Stop MP3 demuxer from choking on very small files.
Diffstat (limited to 'dom')
-rw-r--r-- | dom/media/mp3/MP3Demuxer.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/dom/media/mp3/MP3Demuxer.cpp b/dom/media/mp3/MP3Demuxer.cpp index 5a98cabfed..ccc515afb4 100644 --- a/dom/media/mp3/MP3Demuxer.cpp +++ b/dom/media/mp3/MP3Demuxer.cpp @@ -396,7 +396,10 @@ MP3TrackDemuxer::Duration(int64_t aNumFrames) const { MediaByteRange MP3TrackDemuxer::FindFirstFrame() { - static const int MIN_SUCCESSIVE_FRAMES = 4; + // This check is meant to avoid invalid frames from broken streams, but + // small MP3 files and streams with odd header data can break this. Lowering + // the value to 3 seems to help significantly. + static const int MIN_SUCCESSIVE_FRAMES = 3; MediaByteRange candidateFrame = FindNextFrame(); int numSuccFrames = candidateFrame.Length() > 0; |