[email protected] | e785780e | 2011-03-30 19:31:30 | [diff] [blame] | 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" | ||||
[email protected] | 0569965 | 2011-05-23 18:05:50 | [diff] [blame] | 9 | #include "base/shared_memory.h" |
[email protected] | e785780e | 2011-03-30 19:31:30 | [diff] [blame] | 10 | |
11 | namespace media { | ||||
12 | |||||
[email protected] | 0569965 | 2011-05-23 18:05:50 | [diff] [blame] | 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. | ||||
[email protected] | e785780e | 2011-03-30 19:31:30 | [diff] [blame] | 15 | class BitstreamBuffer { |
16 | public: | ||||
[email protected] | 0569965 | 2011-05-23 18:05:50 | [diff] [blame] | 17 | BitstreamBuffer(int32 id, base::SharedMemoryHandle handle, size_t size) |
[email protected] | 1357ae7 | 2011-05-13 18:28:08 | [diff] [blame] | 18 | : id_(id), |
[email protected] | 0569965 | 2011-05-23 18:05:50 | [diff] [blame] | 19 | handle_(handle), |
[email protected] | 1357ae7 | 2011-05-13 18:28:08 | [diff] [blame] | 20 | size_(size) { |
[email protected] | e785780e | 2011-03-30 19:31:30 | [diff] [blame] | 21 | } |
22 | |||||
[email protected] | 1357ae7 | 2011-05-13 18:28:08 | [diff] [blame] | 23 | int32 id() const { return id_; } |
[email protected] | 0569965 | 2011-05-23 18:05:50 | [diff] [blame] | 24 | base::SharedMemoryHandle handle() const { return handle_; } |
[email protected] | 1357ae7 | 2011-05-13 18:28:08 | [diff] [blame] | 25 | size_t size() const { return size_; } |
[email protected] | e785780e | 2011-03-30 19:31:30 | [diff] [blame] | 26 | |
27 | private: | ||||
[email protected] | 0569965 | 2011-05-23 18:05:50 | [diff] [blame] | 28 | const int32 id_; |
29 | const base::SharedMemoryHandle handle_; | ||||
30 | const size_t size_; | ||||
[email protected] | e785780e | 2011-03-30 19:31:30 | [diff] [blame] | 31 | |
[email protected] | 0569965 | 2011-05-23 18:05:50 | [diff] [blame] | 32 | // Allow compiler-generated copy & assign constructors. |
[email protected] | e785780e | 2011-03-30 19:31:30 | [diff] [blame] | 33 | }; |
34 | |||||
35 | } // namespace media | ||||
36 | |||||
37 | #endif // MEDIA_BASE_BITSTREAM_BUFFER_H_ |