Closed Bug 1121288 Opened 6 years ago Closed 6 years ago
Assertion when switching buffers in MSE MP4 You
Steps to Reproduce: 1) Play YouTube MSE MP4 video. 2) Switch playback bitrate to something other than what is playing 3) If playback continues repeat (2) What should happen: 4) Playback continues What happens: 5) Assertion is hit, playback thread dies and video looks stuck on buffering because of this: -360270080[7f3fdcecec40]: MediaSourceReader(7f3fd7b44400)::SelectReader(102500000) newReader=7f3fc7cc6800 target not in ranges=[(100.000000, 101.958333)] Assertion failure: HasVideo() && mPlatform && mVideo.mDecoder, at dom/media/fmp4/MP4Reader.cpp:541
This appears to happen if TrackBuffer:EvictData calls RemoveDecoder. If I comment out the RemoveDecoder parts then the crash does not occur.
6 years ago
Priority: -- → P1
Not fixing this as part of bug 1055904 now.
Assignee: cajbir.bugzilla → matt.woodrow
Matt, kft recommended you look at this during the bug triage today. Are you able to reproduce?
This happens when we evict (and shutdown) a decoder that is still in use by MediaSourceReader (as mVideoReader). MediaSourceReader can then call RequestVideoData on a reader that has been shutdown, and we get these errors/failures. This should indeed be fixed by bug 1055904.
Confirmed that with the fix in bug 1055904 for checking if the reader is in use that the bug does not occur.
6 years ago
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1055904
You need to log in before you can comment on or make changes to this bug.