Index: media/base/buffers.cc |
diff --git a/media/base/buffers.cc b/media/base/buffers.cc |
index ab66b9adbd2156be59e3b83cc137ae1cf7d9e22a..89f38776ec0d1b8628b014be561840293e522a08 100644 |
--- a/media/base/buffers.cc |
+++ b/media/base/buffers.cc |
@@ -4,6 +4,8 @@ |
#include "media/base/buffers.h" |
+#include "base/logging.h" |
+ |
namespace media { |
const base::TimeDelta kNoTimestamp = |
@@ -17,4 +19,28 @@ bool Buffer::IsEndOfStream() const { |
return GetData() == NULL; |
} |
+BufferImpl::BufferImpl(const base::TimeDelta& timestamp, |
+ const base::TimeDelta& duration, |
+ const uint8* data, size_t size) |
+ : size_(size) { |
+ SetTimestamp(timestamp); |
+ SetDuration(duration); |
+ |
+ if (!data) { |
+ DCHECK_EQ(size, 0u); |
+ data_ = NULL; |
+ return; |
+ } |
+ |
+ DCHECK_GT(size, 0u); |
+ data_ = new uint8[size]; |
+ memcpy(data_, data, size); |
+} |
+ |
+BufferImpl::~BufferImpl() { delete data_; } |
+ |
+// Buffer implementation. |
+const uint8* BufferImpl::GetData() const { return data_; } |
+size_t BufferImpl::GetDataSize() const { return size_; } |
+ |
} // namespace media |