| 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/formats/webm/webm_stream_parser.h" | 5 #include "media/formats/webm/webm_stream_parser.h" |
| 6 | 6 |
| 7 #include <memory> |
| 7 #include <string> | 8 #include <string> |
| 8 | 9 |
| 9 #include "base/callback.h" | 10 #include "base/callback.h" |
| 10 #include "base/callback_helpers.h" | 11 #include "base/callback_helpers.h" |
| 11 #include "base/logging.h" | 12 #include "base/logging.h" |
| 12 #include "base/strings/string_number_conversions.h" | 13 #include "base/strings/string_number_conversions.h" |
| 13 #include "media/base/media_track.h" | 14 #include "media/base/media_track.h" |
| 14 #include "media/base/media_tracks.h" | 15 #include "media/base/media_tracks.h" |
| 15 #include "media/base/timestamp_constants.h" | 16 #include "media/base/timestamp_constants.h" |
| 16 #include "media/formats/webm/webm_cluster_parser.h" | 17 #include "media/formats/webm/webm_cluster_parser.h" |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 218 } | 219 } |
| 219 | 220 |
| 220 const AudioDecoderConfig& audio_config = tracks_parser.audio_decoder_config(); | 221 const AudioDecoderConfig& audio_config = tracks_parser.audio_decoder_config(); |
| 221 if (audio_config.is_encrypted()) | 222 if (audio_config.is_encrypted()) |
| 222 OnEncryptedMediaInitData(tracks_parser.audio_encryption_key_id()); | 223 OnEncryptedMediaInitData(tracks_parser.audio_encryption_key_id()); |
| 223 | 224 |
| 224 const VideoDecoderConfig& video_config = tracks_parser.video_decoder_config(); | 225 const VideoDecoderConfig& video_config = tracks_parser.video_decoder_config(); |
| 225 if (video_config.is_encrypted()) | 226 if (video_config.is_encrypted()) |
| 226 OnEncryptedMediaInitData(tracks_parser.video_encryption_key_id()); | 227 OnEncryptedMediaInitData(tracks_parser.video_encryption_key_id()); |
| 227 | 228 |
| 228 scoped_ptr<MediaTracks> media_tracks = tracks_parser.media_tracks(); | 229 std::unique_ptr<MediaTracks> media_tracks = tracks_parser.media_tracks(); |
| 229 CHECK(media_tracks.get()); | 230 CHECK(media_tracks.get()); |
| 230 if (!config_cb_.Run(std::move(media_tracks), tracks_parser.text_tracks())) { | 231 if (!config_cb_.Run(std::move(media_tracks), tracks_parser.text_tracks())) { |
| 231 DVLOG(1) << "New config data isn't allowed."; | 232 DVLOG(1) << "New config data isn't allowed."; |
| 232 return -1; | 233 return -1; |
| 233 } | 234 } |
| 234 | 235 |
| 235 cluster_parser_.reset(new WebMClusterParser( | 236 cluster_parser_.reset(new WebMClusterParser( |
| 236 info_parser.timecode_scale(), tracks_parser.audio_track_num(), | 237 info_parser.timecode_scale(), tracks_parser.audio_track_num(), |
| 237 tracks_parser.GetAudioDefaultDuration(timecode_scale_in_us), | 238 tracks_parser.GetAudioDefaultDuration(timecode_scale_in_us), |
| 238 tracks_parser.video_track_num(), | 239 tracks_parser.video_track_num(), |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 282 | 283 |
| 283 return bytes_parsed; | 284 return bytes_parsed; |
| 284 } | 285 } |
| 285 | 286 |
| 286 void WebMStreamParser::OnEncryptedMediaInitData(const std::string& key_id) { | 287 void WebMStreamParser::OnEncryptedMediaInitData(const std::string& key_id) { |
| 287 std::vector<uint8_t> key_id_vector(key_id.begin(), key_id.end()); | 288 std::vector<uint8_t> key_id_vector(key_id.begin(), key_id.end()); |
| 288 encrypted_media_init_data_cb_.Run(EmeInitDataType::WEBM, key_id_vector); | 289 encrypted_media_init_data_cb_.Run(EmeInitDataType::WEBM, key_id_vector); |
| 289 } | 290 } |
| 290 | 291 |
| 291 } // namespace media | 292 } // namespace media |
| OLD | NEW |