1// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef MEDIA_BASE_BITSTREAM_BUFFER_H_
6#define MEDIA_BASE_BITSTREAM_BUFFER_H_
7
8#include "base/basictypes.h"
9#include "base/memory/shared_memory.h"
10
11namespace media {
12
13// Class for passing bitstream buffers around.  Does not take ownership of the
14// data.  This is the media-namespace equivalent of PP_VideoBitstreamBuffer_Dev.
15class BitstreamBuffer {
16 public:
17  BitstreamBuffer(int32 id, base::SharedMemoryHandle handle, size_t size)
18      : id_(id),
19        handle_(handle),
20        size_(size) {
21  }
22
23  int32 id() const { return id_; }
24  base::SharedMemoryHandle handle() const { return handle_; }
25  size_t size() const { return size_; }
26
27 private:
28  int32 id_;
29  base::SharedMemoryHandle handle_;
30  size_t size_;
31
32  // Allow compiler-generated copy & assign constructors.
33};
34
35}  // namespace media
36
37#endif  // MEDIA_BASE_BITSTREAM_BUFFER_H_
38