New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 669159 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 3
Type: Bug

Blocking:
issue 663999



Sign in to add a comment

When video track is disabled and then enabled again - playback doesn't resume

Project Member Reported by avayvod@chromium.org, Nov 28 2016

Issue description

Found 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
 
Seems like the default video track with the 'video' id is created to early to be selected for the demuxer?
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.
Status: Fixed (was: Started)
Cc: rbasuvula@chromium.org
Labels: Needs-Feedback
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! 
669159.ogv
8.6 MB View Download
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.
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..


Linux-669159.mp4
23.6 MB Download
Cc: sureshkumari@chromium.org

Sign in to add a comment