| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "media/blink/webmediaplayer_impl.h" | 5 #include "media/blink/webmediaplayer_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <limits> | 9 #include <limits> |
| 10 #include <string> | 10 #include <string> |
| (...skipping 518 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 } | 529 } |
| 530 } | 530 } |
| 531 | 531 |
| 532 void WebMediaPlayerImpl::setVolume(double volume) { | 532 void WebMediaPlayerImpl::setVolume(double volume) { |
| 533 DVLOG(1) << __func__ << "(" << volume << ")"; | 533 DVLOG(1) << __func__ << "(" << volume << ")"; |
| 534 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 534 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
| 535 volume_ = volume; | 535 volume_ = volume; |
| 536 pipeline_.SetVolume(volume_ * volume_multiplier_); | 536 pipeline_.SetVolume(volume_ * volume_multiplier_); |
| 537 if (watch_time_reporter_) | 537 if (watch_time_reporter_) |
| 538 watch_time_reporter_->OnVolumeChange(volume); | 538 watch_time_reporter_->OnVolumeChange(volume); |
| 539 |
| 540 UpdatePlayState(); |
| 539 } | 541 } |
| 540 | 542 |
| 541 void WebMediaPlayerImpl::setSinkId( | 543 void WebMediaPlayerImpl::setSinkId( |
| 542 const blink::WebString& sink_id, | 544 const blink::WebString& sink_id, |
| 543 const blink::WebSecurityOrigin& security_origin, | 545 const blink::WebSecurityOrigin& security_origin, |
| 544 blink::WebSetSinkIdCallbacks* web_callback) { | 546 blink::WebSetSinkIdCallbacks* web_callback) { |
| 545 DCHECK(main_task_runner_->BelongsToCurrentThread()); | 547 DCHECK(main_task_runner_->BelongsToCurrentThread()); |
| 546 DVLOG(1) << __func__; | 548 DVLOG(1) << __func__; |
| 547 | 549 |
| 548 media::OutputDeviceStatusCB callback = | 550 media::OutputDeviceStatusCB callback = |
| (...skipping 1028 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1577 bool is_backgrounded = | 1579 bool is_backgrounded = |
| 1578 IsBackgroundedSuspendEnabled() && delegate_ && delegate_->IsHidden(); | 1580 IsBackgroundedSuspendEnabled() && delegate_ && delegate_->IsHidden(); |
| 1579 PlayState state = UpdatePlayState_ComputePlayState(is_remote, is_suspended, | 1581 PlayState state = UpdatePlayState_ComputePlayState(is_remote, is_suspended, |
| 1580 is_backgrounded); | 1582 is_backgrounded); |
| 1581 SetDelegateState(state.delegate_state); | 1583 SetDelegateState(state.delegate_state); |
| 1582 SetMemoryReportingState(state.is_memory_reporting_enabled); | 1584 SetMemoryReportingState(state.is_memory_reporting_enabled); |
| 1583 SetSuspendState(state.is_suspended || pending_suspend_resume_cycle_); | 1585 SetSuspendState(state.is_suspended || pending_suspend_resume_cycle_); |
| 1584 } | 1586 } |
| 1585 | 1587 |
| 1586 void WebMediaPlayerImpl::SetDelegateState(DelegateState new_state) { | 1588 void WebMediaPlayerImpl::SetDelegateState(DelegateState new_state) { |
| 1587 if (!delegate_ || delegate_state_ == new_state) | 1589 if (!delegate_) |
| 1588 return; | 1590 return; |
| 1589 | 1591 |
| 1592 if (delegate_state_ != DelegateState::PLAYING && |
| 1593 delegate_state_ == new_state) { |
| 1594 return; |
| 1595 } |
| 1596 |
| 1590 delegate_state_ = new_state; | 1597 delegate_state_ = new_state; |
| 1591 | 1598 |
| 1592 switch (delegate_state_) { | 1599 switch (delegate_state_) { |
| 1593 case DelegateState::GONE: | 1600 case DelegateState::GONE: |
| 1594 delegate_->PlayerGone(delegate_id_); | 1601 delegate_->PlayerGone(delegate_id_); |
| 1595 break; | 1602 break; |
| 1596 case DelegateState::PLAYING: | 1603 case DelegateState::PLAYING: { |
| 1604 bool has_audio = client_->isAutoplayingMuted() ? false : hasAudio(); |
| 1597 delegate_->DidPlay( | 1605 delegate_->DidPlay( |
| 1598 delegate_id_, hasVideo(), hasAudio(), false, | 1606 delegate_id_, hasVideo(), has_audio, false, |
| 1599 media::DurationToMediaContentType(pipeline_.GetMediaDuration())); | 1607 media::DurationToMediaContentType(pipeline_.GetMediaDuration())); |
| 1600 break; | 1608 break; |
| 1609 } |
| 1601 case DelegateState::PAUSED: | 1610 case DelegateState::PAUSED: |
| 1602 delegate_->DidPause(delegate_id_, false); | 1611 delegate_->DidPause(delegate_id_, false); |
| 1603 break; | 1612 break; |
| 1604 case DelegateState::ENDED: | 1613 case DelegateState::ENDED: |
| 1605 delegate_->DidPause(delegate_id_, true); | 1614 delegate_->DidPause(delegate_id_, true); |
| 1606 break; | 1615 break; |
| 1607 } | 1616 } |
| 1608 } | 1617 } |
| 1609 | 1618 |
| 1610 void WebMediaPlayerImpl::SetMemoryReportingState( | 1619 void WebMediaPlayerImpl::SetMemoryReportingState( |
| (...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1815 pipeline_metadata_.natural_size, | 1824 pipeline_metadata_.natural_size, |
| 1816 base::Bind(&GetCurrentTimeInternal, this))); | 1825 base::Bind(&GetCurrentTimeInternal, this))); |
| 1817 watch_time_reporter_->OnVolumeChange(volume_); | 1826 watch_time_reporter_->OnVolumeChange(volume_); |
| 1818 if (delegate_ && delegate_->IsHidden()) | 1827 if (delegate_ && delegate_->IsHidden()) |
| 1819 watch_time_reporter_->OnHidden(); | 1828 watch_time_reporter_->OnHidden(); |
| 1820 else | 1829 else |
| 1821 watch_time_reporter_->OnShown(); | 1830 watch_time_reporter_->OnShown(); |
| 1822 } | 1831 } |
| 1823 | 1832 |
| 1824 } // namespace media | 1833 } // namespace media |
| OLD | NEW |