summaryrefslogtreecommitdiffstats
path: root/media/base/data_buffer.h
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-16 21:46:10 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2008-12-16 21:46:10 +0000
commitd8a447c5f7eef2dfe00a2a80466288be0d7329f7 (patch)
tree81378251205188e2718b4fc73282e62beca1c624 /media/base/data_buffer.h
parentf7842f9049b7c2a16e29f01d713685ab32cd4c47 (diff)
downloadchromium_src-d8a447c5f7eef2dfe00a2a80466288be0d7329f7.zip
chromium_src-d8a447c5f7eef2dfe00a2a80466288be0d7329f7.tar.gz
chromium_src-d8a447c5f7eef2dfe00a2a80466288be0d7329f7.tar.bz2
Checking in media::DataBuffer, a simple implementation of WritableBufferInterface.
Removed media/base/media.cc, since it's no longer needed to generate media.lib. Also added media/using_media.scons and updated scons files for Linux build. Review URL: http://codereview.chromium.org/13682 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7099 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'media/base/data_buffer.h')
-rwxr-xr-xmedia/base/data_buffer.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/media/base/data_buffer.h b/media/base/data_buffer.h
new file mode 100755
index 0000000..6e1a004
--- /dev/null
+++ b/media/base/data_buffer.h
@@ -0,0 +1,50 @@
+// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// A simple implementation of WritableBufferInterface that takes ownership of
+// the given data pointer.
+//
+// DataBuffer assumes that memory was allocated with new char[].
+
+#ifndef MEDIA_BASE_DATA_BUFFER_H_
+#define MEDIA_BASE_DATA_BUFFER_H_
+
+#include "media/base/buffers.h"
+
+namespace media {
+
+class DataBuffer : public WritableBufferInterface {
+ public:
+ DataBuffer(char* data, size_t buffer_size, size_t data_size,
+ int64 timestamp, int64 duration);
+
+ // StreamSampleInterface
+ virtual int64 GetTimestamp() const;
+ virtual void SetTimestamp(int64 timestamp);
+ virtual int64 GetDuration() const;
+ virtual void SetDuration(int64 duration);
+
+ // BufferInterface
+ virtual const char* GetData() const;
+ virtual size_t GetDataSize() const;
+
+ // WritableBufferInterface
+ virtual char* GetWritableData();
+ virtual size_t GetBufferSize() const;
+ virtual void SetDataSize(size_t data_size);
+
+ protected:
+ virtual ~DataBuffer();
+
+ private:
+ char* data_;
+ size_t buffer_size_;
+ size_t data_size_;
+ int64 timestamp_;
+ int64 duration_;
+};
+
+} // namespace media
+
+#endif // MEDIA_BASE_DATA_BUFFER_H_