From d8a447c5f7eef2dfe00a2a80466288be0d7329f7 Mon Sep 17 00:00:00 2001
From: "scherkus@chromium.org"
 <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>
Date: Tue, 16 Dec 2008 21:46:10 +0000
Subject: 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
---
 media/base/data_buffer.h | 50 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100755 media/base/data_buffer.h

(limited to 'media/base/data_buffer.h')

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_
-- 
cgit v1.1