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

Unified Diff: media/mp4/box_reader.h

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/filters/source_buffer_stream_unittest.cc ('k') | media/mp4/box_reader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/mp4/box_reader.h
diff --git a/media/mp4/box_reader.h b/media/mp4/box_reader.h
index bcc3200f05ffd06f7c500ae61d7aaaf2dd6e29f3..43f11d56fe6e5f93fe7bf471ecb5dc8b4ade9f5e 100644
--- a/media/mp4/box_reader.h
+++ b/media/mp4/box_reader.h
@@ -11,6 +11,7 @@
#include "base/compiler_specific.h"
#include "base/logging.h"
#include "media/base/media_export.h"
+#include "media/base/media_log.h"
#include "media/mp4/fourccs.h"
#include "media/mp4/rcheck.h"
@@ -78,6 +79,7 @@ class MEDIA_EXPORT BoxReader : public BufferReader {
// |buf| is retained but not owned, and must outlive the BoxReader instance.
static BoxReader* ReadTopLevelBox(const uint8* buf,
const int buf_size,
+ const LogCB& log_cb,
bool* err);
// Read the box header from the current buffer. This function returns true if
@@ -88,6 +90,7 @@ class MEDIA_EXPORT BoxReader : public BufferReader {
// |buf| is not retained.
static bool StartTopLevelBox(const uint8* buf,
const int buf_size,
+ const LogCB& log_cb,
FourCC* type,
int* box_size,
bool* err) WARN_UNUSED_RESULT;
@@ -95,7 +98,8 @@ class MEDIA_EXPORT BoxReader : public BufferReader {
// Returns true if |type| is recognized to be a top-level box, false
// otherwise. This returns true for some boxes which we do not parse.
// Helpful in debugging misaligned appends.
- static bool IsValidTopLevelBox(const FourCC& type);
+ static bool IsValidTopLevelBox(const FourCC& type,
+ const LogCB& log_cb);
// Scan through all boxes within the current box, starting at the current
// buffer position. Must be called before any of the *Child functions work.
@@ -133,7 +137,7 @@ class MEDIA_EXPORT BoxReader : public BufferReader {
uint32 flags() const { return flags_; }
private:
- BoxReader(const uint8* buf, const int size);
+ BoxReader(const uint8* buf, const int size, const LogCB& log_cb);
// Must be called immediately after init. If the return is false, this
// indicates that the box header and its contents were not available in the
@@ -144,6 +148,7 @@ class MEDIA_EXPORT BoxReader : public BufferReader {
// true, the error is unrecoverable and the stream should be aborted.
bool ReadHeader(bool* err);
+ LogCB log_cb_;
FourCC type_;
uint8 version_;
uint32 flags_;
@@ -192,7 +197,7 @@ bool BoxReader::ReadAllChildren(std::vector<T>* children) {
bool err = false;
while (pos() < size()) {
- BoxReader child_reader(&buf_[pos_], size_ - pos_);
+ BoxReader child_reader(&buf_[pos_], size_ - pos_, log_cb_);
if (!child_reader.ReadHeader(&err)) break;
T child;
RCHECK(child.Parse(&child_reader));
« no previous file with comments | « media/filters/source_buffer_stream_unittest.cc ('k') | media/mp4/box_reader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698