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

Unified Diff: media/webm/webm_cluster_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: Fix nit. 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
« no previous file with comments | « media/webm/webm_cluster_parser.h ('k') | media/webm/webm_cluster_parser_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/webm/webm_cluster_parser.cc
diff --git a/media/webm/webm_cluster_parser.cc b/media/webm/webm_cluster_parser.cc
index 477f6683074c48ad70887418830f0fce689ccf80..4027f112126702dc95dff07152737ff9a2e63a74 100644
--- a/media/webm/webm_cluster_parser.cc
+++ b/media/webm/webm_cluster_parser.cc
@@ -23,11 +23,11 @@ static std::string GenerateCounterBlock(const uint8* iv, int iv_size) {
return counter_block;
}
-WebMClusterParser::WebMClusterParser(int64 timecode_scale,
- int audio_track_num,
- int video_track_num,
- const std::string& audio_encryption_key_id,
- const std::string& video_encryption_key_id)
+WebMClusterParser::WebMClusterParser(
+ int64 timecode_scale, int audio_track_num, int video_track_num,
+ const std::string& audio_encryption_key_id,
+ const std::string& video_encryption_key_id,
+ const LogCB& log_cb)
: timecode_multiplier_(timecode_scale / 1000.0),
audio_encryption_key_id_(audio_encryption_key_id),
video_encryption_key_id_(video_encryption_key_id),
@@ -39,7 +39,8 @@ WebMClusterParser::WebMClusterParser(int64 timecode_scale,
cluster_start_time_(kNoTimestamp()),
cluster_ended_(false),
audio_(audio_track_num),
- video_(video_track_num) {
+ video_(video_track_num),
+ log_cb_(log_cb) {
}
WebMClusterParser::~WebMClusterParser() {}
@@ -106,7 +107,7 @@ bool WebMClusterParser::OnListEnd(int id) {
// Make sure the BlockGroup actually had a Block.
if (block_data_size_ == -1) {
- DVLOG(1) << "Block missing from BlockGroup.";
+ MEDIA_LOG(log_cb_) << "Block missing from BlockGroup.";
return false;
}
@@ -140,7 +141,7 @@ bool WebMClusterParser::ParseBlock(const uint8* buf, int size, int duration) {
// Return an error if the trackNum > 127. We just aren't
// going to support large track numbers right now.
if (!(buf[0] & 0x80)) {
- DVLOG(1) << "TrackNumber over 127 not supported";
+ MEDIA_LOG(log_cb_) << "TrackNumber over 127 not supported";
return false;
}
@@ -150,7 +151,7 @@ bool WebMClusterParser::ParseBlock(const uint8* buf, int size, int duration) {
int lacing = (flags >> 1) & 0x3;
if (lacing) {
- DVLOG(1) << "Lacing " << lacing << " not supported yet.";
+ MEDIA_LOG(log_cb_) << "Lacing " << lacing << " is not supported yet.";
return false;
}
@@ -171,7 +172,7 @@ bool WebMClusterParser::OnBinary(int id, const uint8* data, int size) {
return true;
if (block_data_.get()) {
- DVLOG(1) << "More than 1 Block in a BlockGroup is not supported.";
+ MEDIA_LOG(log_cb_) << "More than 1 Block in a BlockGroup is not supported.";
return false;
}
@@ -187,17 +188,19 @@ bool WebMClusterParser::OnBlock(int track_num, int timecode,
const uint8* data, int size) {
DCHECK_GE(size, 0);
if (cluster_timecode_ == -1) {
- DVLOG(1) << "Got a block before cluster timecode.";
+ MEDIA_LOG(log_cb_) << "Got a block before cluster timecode.";
return false;
}
if (timecode < 0) {
- DVLOG(1) << "Got a block with negative timecode offset " << timecode;
+ MEDIA_LOG(log_cb_) << "Got a block with negative timecode offset "
+ << timecode;
return false;
}
if (last_block_timecode_ != -1 && timecode < last_block_timecode_) {
- DVLOG(1) << "Got a block with a timecode before the previous block.";
+ MEDIA_LOG(log_cb_)
+ << "Got a block with a timecode before the previous block.";
return false;
}
@@ -210,7 +213,7 @@ bool WebMClusterParser::OnBlock(int track_num, int timecode,
track = &video_;
encryption_key_id = video_encryption_key_id_;
} else {
- DVLOG(1) << "Unexpected track number " << track_num;
+ MEDIA_LOG(log_cb_) << "Unexpected track number " << track_num;
return false;
}
@@ -231,7 +234,8 @@ bool WebMClusterParser::OnBlock(int track_num, int timecode,
if (!encryption_key_id.empty()) {
DCHECK_EQ(kWebMSignalByteSize, 1);
if (size < kWebMSignalByteSize) {
- DVLOG(1) << "Got a block from an encrypted stream with no data.";
+ MEDIA_LOG(log_cb_)
+ << "Got a block from an encrypted stream with no data.";
return false;
}
uint8 signal_byte = data[0];
@@ -244,7 +248,8 @@ bool WebMClusterParser::OnBlock(int track_num, int timecode,
if (signal_byte & kWebMFlagEncryptedFrame) {
if (size < kWebMSignalByteSize + kWebMIvSize) {
- DVLOG(1) << "Got an encrypted block with not enough data " << size;
+ MEDIA_LOG(log_cb_) << "Got an encrypted block with not enough data "
+ << size;
return false;
}
counter_block = GenerateCounterBlock(data + data_offset, kWebMIvSize);
« no previous file with comments | « media/webm/webm_cluster_parser.h ('k') | media/webm/webm_cluster_parser_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698