|
|
DescriptionMake PipelineImpl state change tasks consistent.
Committed: https://crrev.com/12386d605430eaec8d7b5da7d7e3816eea3aa2b8
Cr-Commit-Position: refs/heads/master@{#408830}
Patch Set 1 #Patch Set 2 : rearrange #Patch Set 3 : fixes tests #
Total comments: 4
Patch Set 4 : rebase only #Patch Set 5 : rebase #Patch Set 6 : fix avtrack tests #Patch Set 7 : restores avtrack currTime logic #
Total comments: 2
Messages
Total messages: 55 (29 generated)
Dan: I made these changes originally in https://codereview.chromium.org/1999893004. But we decided to revert these changes since that patch was already too big to review. Please see if these changes look reasonable. https://codereview.chromium.org/2091893003/diff/40001/media/base/pipeline_imp... File media/base/pipeline_impl.cc (right): https://codereview.chromium.org/2091893003/diff/40001/media/base/pipeline_imp... media/base/pipeline_impl.cc:264: DestroyRenderer(); DoStop() moved here. https://codereview.chromium.org/2091893003/diff/40001/media/base/pipeline_imp... media/base/pipeline_impl.cc:300: // Queue asynchronous actions required to start. DoSeek() moved here. https://codereview.chromium.org/2091893003/diff/40001/media/base/pipeline_imp... media/base/pipeline_impl.cc:698: shared_state_.renderer->StartPlayingFrom( copied from PipelineImpl::RendererWrapper::StateTransitionTask; switch statement kPlaying. https://codereview.chromium.org/2091893003/diff/40001/media/base/pipeline_imp... media/base/pipeline_impl.cc:729: DestroyRenderer(); copied from PipelineImpl::RendererWrapper::StateTransitionTask; switch statement kSuspended.
alokp@chromium.org changed reviewers: + sandersd@chromium.org
lgtm
The CQ bit was checked by alokp@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by alokp@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by alokp@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by alokp@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from sandersd@chromium.org Link to the patchset: https://codereview.chromium.org/2091893003/#ps60001 (title: "rebase only")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by alokp@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by alokp@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
alokp@chromium.org changed reviewers: + servolk@chromium.org
Sergey: Can you check if the changes in OnEnabledAudioTracksChanged and OnSelectedVideoTrackChanged are OK? Thanks!
On 2016/07/28 23:07:50, alokp wrote: > Sergey: Can you check if the changes in OnEnabledAudioTracksChanged and > OnSelectedVideoTrackChanged are OK? Thanks! lgtm, although this made me wonder: shouldn't GetMediaTime return demuxer->GetStartTime instead of 0 (base::TimeDelta) when playback hasn't started yet?
On 2016/07/28 23:37:12, servolk wrote: > On 2016/07/28 23:07:50, alokp wrote: > > Sergey: Can you check if the changes in OnEnabledAudioTracksChanged and > > OnSelectedVideoTrackChanged are OK? Thanks! > > lgtm, although this made me wonder: shouldn't GetMediaTime return > demuxer->GetStartTime instead of 0 (base::TimeDelta) when playback hasn't > started yet? Right. I wondered that too after looking at your implementation. But thats how it has always been. I am not sure what it is supposed to return while seeking. Dan? Anyways if there is a bug in GetMediaTime, I will fix it separately.
The CQ bit was checked by alokp@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from sandersd@chromium.org Link to the patchset: https://codereview.chromium.org/2091893003/#ps100001 (title: "fix avtrack tests")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
On 2016/07/28 23:37:12, servolk wrote: > On 2016/07/28 23:07:50, alokp wrote: > > Sergey: Can you check if the changes in OnEnabledAudioTracksChanged and > > OnSelectedVideoTrackChanged are OK? Thanks! > > lgtm, although this made me wonder: shouldn't GetMediaTime return > demuxer->GetStartTime instead of 0 (base::TimeDelta) when playback hasn't > started yet? The renderer time and demuxer time are not the same; the timeline is shifted so that the start is at time 0 (at least whenever the demuxer start time is positive). I believe that 0 is correct in this case.
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by alokp@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
https://codereview.chromium.org/2091893003/diff/120001/media/base/pipeline_im... File media/base/pipeline_impl.cc (right): https://codereview.chromium.org/2091893003/diff/120001/media/base/pipeline_im... media/base/pipeline_impl.cc:589: : demuxer_->GetStartTime(); I cannot call RendererWrapper::GetMediaTime here because this function can get called even before Renderer has been initialized. And calling Renderer::GetMediaTime before Renderer::Initialize is not legal. Sergey advised me to use Demuxer::GetStartTime instead. Sergey: Can you check if this is what you meant?
https://codereview.chromium.org/2091893003/diff/120001/media/base/pipeline_im... File media/base/pipeline_impl.cc (right): https://codereview.chromium.org/2091893003/diff/120001/media/base/pipeline_im... media/base/pipeline_impl.cc:589: : demuxer_->GetStartTime(); On 2016/07/29 18:30:52, alokp wrote: > I cannot call RendererWrapper::GetMediaTime here because this function can get > called even before Renderer has been initialized. And calling > Renderer::GetMediaTime before Renderer::Initialize is not legal. > > Sergey advised me to use Demuxer::GetStartTime instead. Sergey: Can you check if > this is what you meant? Yes, I believe this should be fine. Indeed OnEnabledAudioTracksChanged and OnSelectedVideoTrackChanged can be invoked before renderer is initialized, as part of HTMLMediaElement initialization, since HTML ME selects the first audio track and the first video track by default just before the playback is started. In those cases the renderer might be not yet initialized and thus renderer->GetMediaTime would return an incorrect time (kNoTimestamp or base::TimeDelta). Using the demuxer_->GetStartTime here should be fine, since the demuxer should be able to tell us the correct start time after media tracks are initialized (and HTML ME wouldn't be able to select media tracks before they are populated by the demuxer).
The CQ bit was checked by alokp@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from servolk@chromium.org, sandersd@chromium.org Link to the patchset: https://codereview.chromium.org/2091893003/#ps120001 (title: "restores avtrack currTime logic")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by alokp@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #7 (id:120001)
Message was sent while issue was closed.
Description was changed from ========== Make PipelineImpl state change tasks consistent. ========== to ========== Make PipelineImpl state change tasks consistent. Committed: https://crrev.com/12386d605430eaec8d7b5da7d7e3816eea3aa2b8 Cr-Commit-Position: refs/heads/master@{#408830} ==========
Message was sent while issue was closed.
Patchset 7 (id:??) landed as https://crrev.com/12386d605430eaec8d7b5da7d7e3816eea3aa2b8 Cr-Commit-Position: refs/heads/master@{#408830} |