Index: media/base/data_buffer.cc |
diff --git a/media/base/data_buffer.cc b/media/base/data_buffer.cc |
index 31b3c1c75ee2965e2b8ac10e108722672504df0e..9e155ed18b5ff2a4292c45f27a372d39b54db521 100644 |
--- a/media/base/data_buffer.cc |
+++ b/media/base/data_buffer.cc |
@@ -13,6 +13,17 @@ DataBuffer::DataBuffer(uint8* buffer, size_t buffer_size) |
data_size_(buffer_size) { |
} |
+DataBuffer::DataBuffer(uint8* buffer, size_t buffer_size, bool copy) |
+ : buffer_size_(buffer_size), |
+ data_size_(buffer_size) { |
+ if (copy) { |
+ data_.reset(new uint8[buffer_size]); |
+ memcpy(data_.get(), buffer, buffer_size); |
+ } else { |
+ data_.reset(buffer); |
+ } |
+} |
+ |
DataBuffer::DataBuffer(size_t buffer_size) |
: data_(new uint8[buffer_size]), |
buffer_size_(buffer_size), |