OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "content/renderer/media_recorder/media_recorder_handler.h" | 5 #include "content/renderer/media_recorder/media_recorder_handler.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/location.h" | 10 #include "base/location.h" |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
160 DCHECK(!media_stream_.isNull()); | 160 DCHECK(!media_stream_.isNull()); |
161 DCHECK(timeslice_.is_zero()); | 161 DCHECK(timeslice_.is_zero()); |
162 DCHECK(!webm_muxer_); | 162 DCHECK(!webm_muxer_); |
163 | 163 |
164 timeslice_ = TimeDelta::FromMilliseconds(timeslice); | 164 timeslice_ = TimeDelta::FromMilliseconds(timeslice); |
165 slice_origin_timestamp_ = TimeTicks::Now(); | 165 slice_origin_timestamp_ = TimeTicks::Now(); |
166 | 166 |
167 media_stream_.videoTracks(video_tracks_); | 167 media_stream_.videoTracks(video_tracks_); |
168 media_stream_.audioTracks(audio_tracks_); | 168 media_stream_.audioTracks(audio_tracks_); |
169 | 169 |
170 if (video_tracks_.isEmpty() && audio_tracks_.isEmpty()) { | 170 if (video_tracks_.empty() && audio_tracks_.empty()) { |
171 LOG(WARNING) << __func__ << ": no media tracks."; | 171 LOG(WARNING) << __func__ << ": no media tracks."; |
172 return false; | 172 return false; |
173 } | 173 } |
174 | 174 |
175 const bool use_video_tracks = | 175 const bool use_video_tracks = |
176 !video_tracks_.isEmpty() && video_tracks_[0].isEnabled() && | 176 !video_tracks_.empty() && video_tracks_[0].isEnabled() && |
177 video_tracks_[0].source().getReadyState() != | 177 video_tracks_[0].source().getReadyState() != |
178 blink::WebMediaStreamSource::ReadyStateEnded; | 178 blink::WebMediaStreamSource::ReadyStateEnded; |
179 const bool use_audio_tracks = | 179 const bool use_audio_tracks = |
180 !audio_tracks_.isEmpty() && | 180 !audio_tracks_.empty() && MediaStreamAudioTrack::From(audio_tracks_[0]) && |
181 MediaStreamAudioTrack::From(audio_tracks_[0]) && | |
182 audio_tracks_[0].isEnabled() && | 181 audio_tracks_[0].isEnabled() && |
183 audio_tracks_[0].source().getReadyState() != | 182 audio_tracks_[0].source().getReadyState() != |
184 blink::WebMediaStreamSource::ReadyStateEnded; | 183 blink::WebMediaStreamSource::ReadyStateEnded; |
185 | 184 |
186 if (!use_video_tracks && !use_audio_tracks) { | 185 if (!use_video_tracks && !use_audio_tracks) { |
187 LOG(WARNING) << __func__ << ": no tracks to be recorded."; | 186 LOG(WARNING) << __func__ << ": no tracks to be recorded."; |
188 return false; | 187 return false; |
189 } | 188 } |
190 | 189 |
191 webm_muxer_.reset(new media::WebmMuxer( | 190 webm_muxer_.reset(new media::WebmMuxer( |
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
375 recorder->OnData(audio_bus, timestamp); | 374 recorder->OnData(audio_bus, timestamp); |
376 } | 375 } |
377 | 376 |
378 void MediaRecorderHandler::SetAudioFormatForTesting( | 377 void MediaRecorderHandler::SetAudioFormatForTesting( |
379 const media::AudioParameters& params) { | 378 const media::AudioParameters& params) { |
380 for (const auto& recorder : audio_recorders_) | 379 for (const auto& recorder : audio_recorders_) |
381 recorder->OnSetFormat(params); | 380 recorder->OnSetFormat(params); |
382 } | 381 } |
383 | 382 |
384 } // namespace content | 383 } // namespace content |
OLD | NEW |