summaryrefslogtreecommitdiff
path: root/dom
diff options
context:
space:
mode:
authorathenian200 <athenian200@outlook.com>2020-05-10 06:45:59 -0500
committerathenian200 <athenian200@outlook.com>2020-05-10 06:45:59 -0500
commit5de19e74bf96925ced2b65bfc8f2878b40e96b43 (patch)
tree91c49ca5152ef957be6392452a4e50339d9fd841 /dom
parent82d251b25055b63c48f8fe26aaa354e3f9c896e4 (diff)
downloadaura-central-5de19e74bf96925ced2b65bfc8f2878b40e96b43.tar.gz
Issue mcp-graveyard/UXP%1540 - Stop MP3 demuxer from choking on very small files.
Diffstat (limited to 'dom')
-rw-r--r--dom/media/mp3/MP3Demuxer.cpp5
1 files changed, 4 insertions, 1 deletions
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;