Home | History | Annotate | Download | only in base
      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 
     11 namespace 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.
     15 class 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