From fe0963002fb16b7e3e53f75004af0e79348c861c Mon Sep 17 00:00:00 2001 From: athenian200 Date: Sun, 10 May 2020 06:45:59 -0500 Subject: Issue #1540 - Stop MP3 demuxer from choking on very small files. --- dom/media/mp3/MP3Demuxer.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'dom') diff --git a/dom/media/mp3/MP3Demuxer.cpp b/dom/media/mp3/MP3Demuxer.cpp index 5a98cabfe..ccc515afb 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; -- cgit v1.2.3