Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(586)

Unified Diff: media/webm/webm_stream_parser.cc

Issue 11471006: Log MediaSource parsing errors to the MediaLog so they can appear in chrome:media-internals. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: media/webm/webm_stream_parser.cc
diff --git a/media/webm/webm_stream_parser.cc b/media/webm/webm_stream_parser.cc
index 89e85d72d3752846e94e22a085c8e3dd55da6b28..71535cdf844b5f9a3858c17472cb641fa0b4418a 100644
--- a/media/webm/webm_stream_parser.cc
+++ b/media/webm/webm_stream_parser.cc
@@ -186,7 +186,8 @@ void WebMStreamParser::Init(const InitCB& init_cb,
const NewBuffersCB& video_cb,
const NeedKeyCB& need_key_cb,
const NewMediaSegmentCB& new_segment_cb,
- const base::Closure& end_of_segment_cb) {
+ const base::Closure& end_of_segment_cb,
+ const ErrorLogCB& error_cb) {
DCHECK_EQ(state_, kWaitingForInit);
DCHECK(init_cb_.is_null());
DCHECK(!init_cb.is_null());
@@ -204,6 +205,7 @@ void WebMStreamParser::Init(const InitCB& init_cb,
need_key_cb_ = need_key_cb;
new_segment_cb_ = new_segment_cb;
end_of_segment_cb_ = end_of_segment_cb;
+ error_cb_ = error_cb;
}
void WebMStreamParser::Flush() {
@@ -305,9 +307,10 @@ int WebMStreamParser::ParseInfoAndTracks(const uint8* data, int size) {
case kWebMIdInfo:
// We've found the element we are looking for.
break;
- default:
- DVLOG(1) << "Unexpected ID 0x" << std::hex << id;
+ default: {
+ ERROR_LOG(error_cb_) << "Unexpected element ID 0x" << std::hex << id;
return -1;
+ }
}
WebMInfoParser info_parser;
@@ -320,7 +323,7 @@ int WebMStreamParser::ParseInfoAndTracks(const uint8* data, int size) {
cur_size -= result;
bytes_parsed += result;
- WebMTracksParser tracks_parser;
+ WebMTracksParser tracks_parser(error_cb_);
result = tracks_parser.Parse(cur, cur_size);
if (result <= 0)
@@ -393,7 +396,8 @@ int WebMStreamParser::ParseInfoAndTracks(const uint8* data, int size) {
tracks_parser.audio_track_num(),
tracks_parser.video_track_num(),
tracks_parser.audio_encryption_key_id(),
- tracks_parser.video_encryption_key_id()));
+ tracks_parser.video_encryption_key_id(),
+ error_cb_));
ChangeState(kParsingClusters);

Powered by Google App Engine
This is Rietveld 408576698