When video track is disabled and then enabled again - playback doesn't resume |
||||
Issue descriptionFound it when testing the background video track optimization flag landed in https://codereview.chromium.org/2487373003. 1. Play a video like https://www.youtube.com/watch?v=l42U5Cwn1Y0 2. Minimize the tab. 3. Open the tab. OR: renderer crashes in Debug or video doesn't resume in Release ER: video resumes The stack trace for the debug build is: [1:12:1128/141239:FATAL:chunk_demuxer.cc(719)] Check failed: selected_stream. #0 0x7f3b0cea583e base::debug::StackTrace::StackTrace() #1 0x7f3b0cf13acf logging::LogMessage::~LogMessage() #2 0x7f3b03e0e250 media::ChunkDemuxer::OnSelectedVideoTrackChanged() #3 0x7f3b04128d92 media::PipelineImpl::RendererWrapper::OnSelectedVideoTrackChanged() #4 0x7f3b041378cd _ZN4base8internal13FunctorTraitsIMN5media12PipelineImpl15RendererWrapperEFvRKNSt7__debug6vectorISsSaISsEEEEvE6InvokeIPS4_JSA_EEEvSC_OT_DpOT0_ #5 0x7f3b04137786 _ZN4base8internal12InvokeHelperILb0EvE8MakeItSoIRKMN5media12PipelineImpl15RendererWrapperEFvRKNSt7__debug6vectorISsSaISsEEEEJPS6_SC_EEEvOT_DpOT0_ #6 0x7f3b04137713 _ZN4base8internal7InvokerINS0_9BindStateIMN5media12PipelineImpl15RendererWrapperEFvRKNSt7__debug6vectorISsSaISsEEEEJNS0_17UnretainedWrapperIS5_EES9_EEEFvvEE7RunImplIRKSD_RKSt5tupleIJSF_S9_EEJLm0ELm1EEEEvOT_OT0_NS_13IndexSequenceIJXspT1_EEEE #7 0x7f3b0413762c _ZN4base8internal7InvokerINS0_9BindStateIMN5media12PipelineImpl15RendererWrapperEFvRKNSt7__debug6vectorISsSaISsEEEEJNS0_17UnretainedWrapperIS5_EES9_EEEFvvEE3RunEPNS0_13BindStateBaseE #8 0x7f3b0ceab651 _ZNO4base8internal8RunMixinINS_8CallbackIFvvELNS0_8CopyModeE0ELNS0_10RepeatModeE0EEEE3RunEv #9 0x7f3b0ceab022 base::debug::TaskAnnotator::RunTask() #10 0x7f3b0cf3cd0a base::MessageLoop::RunTask() #11 0x7f3b0cf3cf94 base::MessageLoop::DeferOrRunPendingTask() #12 0x7f3b0cf3d27e base::MessageLoop::DoWork() #13 0x7f3b0cf54bd3 base::MessagePumpDefault::Run() #14 0x7f3b0cf3c88a base::MessageLoop::RunHandler() #15 0x7f3b0cfe7524 base::RunLoop::Run() #16 0x7f3b0d08eb48 base::Thread::Run() #17 0x7f3b0d08f48a base::Thread::ThreadMain() #18 0x7f3b0d0767da base::(anonymous namespace)::ThreadFunc() #19 0x7f3b0d2ed184 start_thread #20 0x7f3af9acd37d clone
,
Nov 28 2016
So the default video and audio tracks are created as 'selected' and 'active' respectively. That leads to early exit checks to trigger when trying to select them and prevents the pipeline learning about the dummy video tracks being selected. https://codereview.chromium.org/2532233003 initializes the dummy tracks to be inactive/unselected to update the whole media stack. It also relaxes some of the DCHECKs about the media tracks being enabled.
,
Nov 30 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/9ff62f749846d5550a3f90abff959e0745afba5a commit 9ff62f749846d5550a3f90abff959e0745afba5a Author: avayvod <avayvod@chromium.org> Date: Wed Nov 30 22:06:04 2016 [Video] Add dummy video/audio tracks inactive to select them later. Also relax some DCHECKs w.r.t the MediaTracks API being enabled. BUG= 669159 TEST=manual + existing tests. Review-Url: https://codereview.chromium.org/2532233003 Cr-Commit-Position: refs/heads/master@{#435437} [modify] https://crrev.com/9ff62f749846d5550a3f90abff959e0745afba5a/third_party/WebKit/Source/core/html/HTMLMediaElement.cpp [modify] https://crrev.com/9ff62f749846d5550a3f90abff959e0745afba5a/third_party/WebKit/Source/core/html/HTMLMediaElement.h [modify] https://crrev.com/9ff62f749846d5550a3f90abff959e0745afba5a/third_party/WebKit/Source/modules/mediasource/MediaSource.cpp [modify] https://crrev.com/9ff62f749846d5550a3f90abff959e0745afba5a/third_party/WebKit/Source/modules/mediasource/SourceBuffer.cpp
,
Dec 1 2016
,
Dec 9 2016
Tested in chrome #57.0.2946.0 on Ubuntu 14.04 and observed that 1. Not able to find any rendered crashes while playing video with provided steps. Please find the screen cast for your reference. @avayvod: Please let me know if i have missed anything and please provide any other test cases required to proceed with. Thank you!
,
Dec 9 2016
Hey, as the description says, crash happened only in debug build. In release the symptom would be for the video to not resume after being brought to the foreground. You needed to enable background video track optimization flag in chrome://flags to reproduce.
,
Dec 13 2016
Tested in Chrome version #57.0.2950.0 and 57.0.2928.0 on Linux Ubuntu-14.04 with below steps 1.Opened Chrome and enabled background video track optimization flag in Chrome://flags 2.Navigated to the url https://www.youtube.com/watch?v=l42U5Cwn1Y0 and played the video 3.Minimize the tab and opened the tab. Observed that the video resumed. Please find the attached screen cast and Please let me know if i have missed anything and please provide any other test cases required to proceed with. Thanks..
,
Dec 13 2016
|
||||
►
Sign in to add a comment |
||||
Comment 1 by avayvod@chromium.org
, Nov 28 2016