Index: media/formats/webm/webm_stream_parser.cc |
diff --git a/media/formats/webm/webm_stream_parser.cc b/media/formats/webm/webm_stream_parser.cc |
index e36a972adec9a0a954bc2bff6550cb2fa7930390..aece4a4f82a3f7f7870b6505de94619fd8b4d9e8 100644 |
--- a/media/formats/webm/webm_stream_parser.cc |
+++ b/media/formats/webm/webm_stream_parser.cc |
@@ -9,6 +9,8 @@ |
#include "base/callback.h" |
#include "base/callback_helpers.h" |
#include "base/logging.h" |
+#include "media/base/media_track.h" |
+#include "media/base/media_tracks.h" |
#include "media/base/timestamp_constants.h" |
#include "media/formats/webm/webm_cluster_parser.h" |
#include "media/formats/webm/webm_constants.h" |
@@ -222,9 +224,14 @@ int WebMStreamParser::ParseInfoAndTracks(const uint8_t* data, int size) { |
if (video_config.is_encrypted()) |
OnEncryptedMediaInitData(tracks_parser.video_encryption_key_id()); |
- if (!config_cb_.Run(audio_config, |
- video_config, |
- tracks_parser.text_tracks())) { |
+ scoped_ptr<MediaTracks> media_tracks(new MediaTracks()); |
+ if (audio_config.IsValidConfig()) { |
+ media_tracks->AddAudioTrack(audio_config, "audio", "", "", ""); |
+ } |
+ if (video_config.IsValidConfig()) { |
+ media_tracks->AddVideoTrack(video_config, "video", "", "", ""); |
+ } |
+ if (!config_cb_.Run(std::move(media_tracks), tracks_parser.text_tracks())) { |
DVLOG(1) << "New config data isn't allowed."; |
return -1; |
} |