Index: media/base/audio_buffer.h |
diff --git a/media/base/audio_buffer.h b/media/base/audio_buffer.h |
index e97e2c23fd1e129db527fea552708382cc32a3b8..0503466859423d49aa34f09cbb20891d8754d0ef 100644 |
--- a/media/base/audio_buffer.h |
+++ b/media/base/audio_buffer.h |
@@ -64,6 +64,20 @@ class MEDIA_EXPORT AudioBuffer |
const base::TimeDelta timestamp, |
scoped_refptr<AudioBufferMemoryPool> pool = nullptr); |
+ // Create an AudioBuffer for compressed bitstream. Its channel data is copied |
+ // from |data|, and the size is |data_size|. |data| must not be null and |
+ // |frame_count| must be >= 0. |
+ static scoped_refptr<AudioBuffer> CopyBitstreamFrom( |
+ SampleFormat sample_format, |
+ ChannelLayout channel_layout, |
+ int channel_count, |
+ int sample_rate, |
+ int frame_count, |
+ const uint8_t* const* data, |
+ const size_t data_size, |
+ const base::TimeDelta timestamp, |
+ scoped_refptr<AudioBufferMemoryPool> pool = nullptr); |
+ |
// Create an AudioBuffer with |frame_count| frames. Buffer is allocated, but |
// not initialized. Timestamp and duration are set to kNoTimestamp. For |
// optimal efficiency when many buffers are being created, a |
@@ -76,6 +90,17 @@ class MEDIA_EXPORT AudioBuffer |
int frame_count, |
scoped_refptr<AudioBufferMemoryPool> pool = nullptr); |
+ // Create an AudioBuffer for compressed bitstream. Buffer is allocated, but |
+ // not initialized. Timestamp and duration are set to kNoTimestamp. |
+ static scoped_refptr<AudioBuffer> CreateBitstreamBuffer( |
+ SampleFormat sample_format, |
+ ChannelLayout channel_layout, |
+ int channel_count, |
+ int sample_rate, |
+ int frame_count, |
+ size_t data_size, |
+ scoped_refptr<AudioBufferMemoryPool> pool = nullptr); |
+ |
// Create an empty AudioBuffer with |frame_count| frames. |
static scoped_refptr<AudioBuffer> CreateEmptyBuffer( |
ChannelLayout channel_layout, |
@@ -119,6 +144,9 @@ class MEDIA_EXPORT AudioBuffer |
// Even if |start| is zero, timestamp() is not adjusted, only duration(). |
void TrimRange(int start, int end); |
+ // Return true if the buffer contains compressed bitstream. |
+ bool IsBitstreamFormat(); |
+ |
// Return the number of channels. |
int channel_count() const { return channel_count_; } |
@@ -168,6 +196,7 @@ class MEDIA_EXPORT AudioBuffer |
int frame_count, |
bool create_buffer, |
const uint8_t* const* data, |
+ const size_t data_size, |
const base::TimeDelta timestamp, |
scoped_refptr<AudioBufferMemoryPool> pool); |