summaryrefslogtreecommitdiffstats
path: root/media/base/data_buffer.cc
diff options
context:
space:
mode:
authorralphl@chromium.org <ralphl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-16 19:54:34 +0000
committerralphl@chromium.org <ralphl@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-03-16 19:54:34 +0000
commit839807ce1e6e42917b330cc394ce938aa9ddd065 (patch)
tree618bc492650f10f52e70e0f74059a9dd9327f6f1 /media/base/data_buffer.cc
parentd56bcd21c5842c72ec0a8cd14c910e1dd4ed7048 (diff)
downloadchromium_src-839807ce1e6e42917b330cc394ce938aa9ddd065.zip
chromium_src-839807ce1e6e42917b330cc394ce938aa9ddd065.tar.gz
chromium_src-839807ce1e6e42917b330cc394ce938aa9ddd065.tar.bz2
Buffer interface is now uint8*. Slight change to way data buffers are created. Caller passes no parameters to the
constructor of a data buffer now. GetWritableData() method is responsible for allocating memory. Review URL: http://codereview.chromium.org/46015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11760 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/data_buffer.cc')
-rwxr-xr-xmedia/base/data_buffer.cc33
1 files changed, 17 insertions, 16 deletions
diff --git a/media/base/data_buffer.cc b/media/base/data_buffer.cc
index cdad4d7..b88790f 100755
--- a/media/base/data_buffer.cc
+++ b/media/base/data_buffer.cc
@@ -7,24 +7,17 @@
namespace media {
-DataBuffer::DataBuffer(char* data, size_t buffer_size, size_t data_size,
- const base::TimeDelta& timestamp,
- const base::TimeDelta& duration)
- : data_(data),
- buffer_size_(buffer_size),
- data_size_(data_size) {
- DCHECK(data);
- DCHECK(buffer_size >= 0);
- DCHECK(data_size <= buffer_size);
- SetTimestamp(timestamp);
- SetDuration(duration);
+DataBuffer::DataBuffer()
+ : data_(NULL),
+ buffer_size_(0),
+ data_size_(0) {
}
DataBuffer::~DataBuffer() {
delete [] data_;
}
-const char* DataBuffer::GetData() const {
+const uint8* DataBuffer::GetData() const {
return data_;
}
@@ -32,15 +25,23 @@ size_t DataBuffer::GetDataSize() const {
return data_size_;
}
-char* DataBuffer::GetWritableData() {
+uint8* DataBuffer::GetWritableData(size_t buffer_size) {
+ if (buffer_size > buffer_size_) {
+ delete [] data_;
+ data_ = new uint8[buffer_size];
+ if (!data_) {
+ NOTREACHED();
+ buffer_size = 0;
+ }
+ buffer_size_ = buffer_size;
+ }
+ data_size_ = buffer_size;
return data_;
}
-size_t DataBuffer::GetBufferSize() const {
- return buffer_size_;
-}
void DataBuffer::SetDataSize(size_t data_size) {
+ DCHECK(data_size <= buffer_size_);
data_size_ = data_size;
}