| Index: media/base/bitstream_buffer.h
|
| diff --git a/media/base/bitstream_buffer.h b/media/base/bitstream_buffer.h
|
| index c015b92ab5a143aca99f5218ec2dc39792b12ebd..6ff1c059b98ff595a4a45bdac7302554c1d2c100 100644
|
| --- a/media/base/bitstream_buffer.h
|
| +++ b/media/base/bitstream_buffer.h
|
| @@ -8,28 +8,26 @@
|
| #include "base/basictypes.h"
|
| #include "base/memory/shared_memory.h"
|
| #include "base/time/time.h"
|
| +#include "media/base/decrypt_config.h"
|
| +#include "media/base/media_export.h"
|
| #include "media/base/timestamp_constants.h"
|
|
|
| namespace media {
|
|
|
| // Class for passing bitstream buffers around. Does not take ownership of the
|
| // data. This is the media-namespace equivalent of PP_VideoBitstreamBuffer_Dev.
|
| -class BitstreamBuffer {
|
| +class MEDIA_EXPORT BitstreamBuffer {
|
| public:
|
| - BitstreamBuffer(int32 id, base::SharedMemoryHandle handle, size_t size)
|
| - : id_(id),
|
| - handle_(handle),
|
| - size_(size),
|
| - presentation_timestamp_(kNoTimestamp()) {}
|
| + BitstreamBuffer(int32 id, base::SharedMemoryHandle handle, size_t size);
|
|
|
| BitstreamBuffer(int32 id,
|
| base::SharedMemoryHandle handle,
|
| size_t size,
|
| - base::TimeDelta presentation_timestamp)
|
| - : id_(id),
|
| - handle_(handle),
|
| - size_(size),
|
| - presentation_timestamp_(presentation_timestamp) {}
|
| + base::TimeDelta presentation_timestamp);
|
| +
|
| + ~BitstreamBuffer();
|
| +
|
| + void SetDecryptConfig(const DecryptConfig& decrypt_config);
|
|
|
| int32 id() const { return id_; }
|
| base::SharedMemoryHandle handle() const { return handle_; }
|
| @@ -40,6 +38,12 @@ class BitstreamBuffer {
|
| return presentation_timestamp_;
|
| }
|
|
|
| + // The following methods come from DecryptConfig.
|
| +
|
| + const std::string& key_id() const { return key_id_; }
|
| + const std::string& iv() const { return iv_; }
|
| + const std::vector<SubsampleEntry>& subsamples() const { return subsamples_; }
|
| +
|
| private:
|
| int32 id_;
|
| base::SharedMemoryHandle handle_;
|
| @@ -50,6 +54,14 @@ class BitstreamBuffer {
|
| // determine the output order.
|
| base::TimeDelta presentation_timestamp_;
|
|
|
| + // The following fields come from DecryptConfig.
|
| + // TODO(timav): Try to DISALLOW_COPY_AND_ASSIGN and include these params as
|
| + // scoped_ptr<DecryptConfig> or explain why copy & assign is needed.
|
| +
|
| + std::string key_id_; // key ID.
|
| + std::string iv_; // initialization vector
|
| + std::vector<SubsampleEntry> subsamples_; // clear/cypher sizes
|
| +
|
| // Allow compiler-generated copy & assign constructors.
|
| };
|
|
|
|
|