OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/mojo/services/mojo_renderer_service.h" | 5 #include "media/mojo/services/mojo_renderer_service.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "media/base/media_keys.h" | 10 #include "media/base/media_keys.h" |
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 base::Bind(&MojoRendererService::OnFlushCompleted, weak_this_, callback)); | 61 base::Bind(&MojoRendererService::OnFlushCompleted, weak_this_, callback)); |
62 } | 62 } |
63 | 63 |
64 void MojoRendererService::StartPlayingFrom(int64_t time_delta_usec) { | 64 void MojoRendererService::StartPlayingFrom(int64_t time_delta_usec) { |
65 DVLOG(2) << __FUNCTION__ << ": " << time_delta_usec; | 65 DVLOG(2) << __FUNCTION__ << ": " << time_delta_usec; |
66 renderer_->StartPlayingFrom( | 66 renderer_->StartPlayingFrom( |
67 base::TimeDelta::FromMicroseconds(time_delta_usec)); | 67 base::TimeDelta::FromMicroseconds(time_delta_usec)); |
68 SchedulePeriodicMediaTimeUpdates(); | 68 SchedulePeriodicMediaTimeUpdates(); |
69 } | 69 } |
70 | 70 |
| 71 void MojoRendererService::RestartStreamPlayback(bool video_stream, |
| 72 int64_t time_delta_usec) { |
| 73 DemuxerStream* demuxer_stream = nullptr; |
| 74 |
| 75 if (video_stream) |
| 76 demuxer_stream = stream_provider_->GetStream(DemuxerStream::VIDEO); |
| 77 else |
| 78 demuxer_stream = stream_provider_->GetStream(DemuxerStream::AUDIO); |
| 79 |
| 80 DVLOG(2) << __FUNCTION__ << ": demuxer_stream=" << demuxer_stream |
| 81 << " time=" << time_delta_usec; |
| 82 renderer_->RestartStreamPlayback( |
| 83 demuxer_stream, base::TimeDelta::FromMicroseconds(time_delta_usec)); |
| 84 } |
| 85 |
71 void MojoRendererService::SetPlaybackRate(double playback_rate) { | 86 void MojoRendererService::SetPlaybackRate(double playback_rate) { |
72 DVLOG(2) << __FUNCTION__ << ": " << playback_rate; | 87 DVLOG(2) << __FUNCTION__ << ": " << playback_rate; |
73 DCHECK_EQ(state_, STATE_PLAYING); | 88 DCHECK_EQ(state_, STATE_PLAYING); |
74 renderer_->SetPlaybackRate(playback_rate); | 89 renderer_->SetPlaybackRate(playback_rate); |
75 } | 90 } |
76 | 91 |
77 void MojoRendererService::SetVolume(float volume) { | 92 void MojoRendererService::SetVolume(float volume) { |
78 renderer_->SetVolume(volume); | 93 renderer_->SetVolume(volume); |
79 } | 94 } |
80 | 95 |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
202 bool success) { | 217 bool success) { |
203 DVLOG(1) << __FUNCTION__ << "(" << success << ")"; | 218 DVLOG(1) << __FUNCTION__ << "(" << success << ")"; |
204 | 219 |
205 if (success) | 220 if (success) |
206 cdm_ = cdm; | 221 cdm_ = cdm; |
207 | 222 |
208 callback.Run(success); | 223 callback.Run(success); |
209 } | 224 } |
210 | 225 |
211 } // namespace media | 226 } // namespace media |
OLD | NEW |