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.
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.
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1055904
You need to log in before you can comment on or make changes to this bug.