| 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 <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "base/callback_helpers.h" |
| 10 #include "base/logging.h" | 11 #include "base/logging.h" |
| 11 #include "media/formats/webm/webm_cluster_parser.h" | 12 #include "media/formats/webm/webm_cluster_parser.h" |
| 12 #include "media/formats/webm/webm_constants.h" | 13 #include "media/formats/webm/webm_constants.h" |
| 13 #include "media/formats/webm/webm_content_encodings.h" | 14 #include "media/formats/webm/webm_content_encodings.h" |
| 14 #include "media/formats/webm/webm_crypto_helpers.h" | 15 #include "media/formats/webm/webm_crypto_helpers.h" |
| 15 #include "media/formats/webm/webm_info_parser.h" | 16 #include "media/formats/webm/webm_info_parser.h" |
| 16 #include "media/formats/webm/webm_tracks_parser.h" | 17 #include "media/formats/webm/webm_tracks_parser.h" |
| 17 | 18 |
| 18 namespace media { | 19 namespace media { |
| 19 | 20 |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 207 tracks_parser.audio_track_num(), | 208 tracks_parser.audio_track_num(), |
| 208 tracks_parser.video_track_num(), | 209 tracks_parser.video_track_num(), |
| 209 tracks_parser.text_tracks(), | 210 tracks_parser.text_tracks(), |
| 210 tracks_parser.ignored_tracks(), | 211 tracks_parser.ignored_tracks(), |
| 211 tracks_parser.audio_encryption_key_id(), | 212 tracks_parser.audio_encryption_key_id(), |
| 212 tracks_parser.video_encryption_key_id(), | 213 tracks_parser.video_encryption_key_id(), |
| 213 log_cb_)); | 214 log_cb_)); |
| 214 | 215 |
| 215 ChangeState(kParsingClusters); | 216 ChangeState(kParsingClusters); |
| 216 | 217 |
| 217 if (!init_cb_.is_null()) { | 218 if (!init_cb_.is_null()) |
| 218 init_cb_.Run(true, duration); | 219 base::ResetAndReturn(&init_cb_).Run(true, duration, false); |
| 219 init_cb_.Reset(); | |
| 220 } | |
| 221 | 220 |
| 222 return bytes_parsed; | 221 return bytes_parsed; |
| 223 } | 222 } |
| 224 | 223 |
| 225 int WebMStreamParser::ParseCluster(const uint8* data, int size) { | 224 int WebMStreamParser::ParseCluster(const uint8* data, int size) { |
| 226 if (!cluster_parser_) | 225 if (!cluster_parser_) |
| 227 return -1; | 226 return -1; |
| 228 | 227 |
| 229 int id; | 228 int id; |
| 230 int64 element_size; | 229 int64 element_size; |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 281 | 280 |
| 282 return bytes_parsed; | 281 return bytes_parsed; |
| 283 } | 282 } |
| 284 | 283 |
| 285 void WebMStreamParser::FireNeedKey(const std::string& key_id) { | 284 void WebMStreamParser::FireNeedKey(const std::string& key_id) { |
| 286 std::vector<uint8> key_id_vector(key_id.begin(), key_id.end()); | 285 std::vector<uint8> key_id_vector(key_id.begin(), key_id.end()); |
| 287 need_key_cb_.Run(kWebMEncryptInitDataType, key_id_vector); | 286 need_key_cb_.Run(kWebMEncryptInitDataType, key_id_vector); |
| 288 } | 287 } |
| 289 | 288 |
| 290 } // namespace media | 289 } // namespace media |
| OLD | NEW |