diff options
Diffstat (limited to 'ppapi')
-rw-r--r-- | ppapi/shared_impl/media_stream_buffer_manager.cc | 4 | ||||
-rw-r--r-- | ppapi/shared_impl/media_stream_buffer_manager.h | 3 | ||||
-rw-r--r-- | ppapi/shared_impl/media_stream_buffer_manager_unittest.cc | 2 |
3 files changed, 9 insertions, 0 deletions
diff --git a/ppapi/shared_impl/media_stream_buffer_manager.cc b/ppapi/shared_impl/media_stream_buffer_manager.cc index 29bc153..a9e0e4f 100644 --- a/ppapi/shared_impl/media_stream_buffer_manager.cc +++ b/ppapi/shared_impl/media_stream_buffer_manager.cc @@ -72,6 +72,10 @@ void MediaStreamBufferManager::EnqueueBuffer(int32_t index) { delegate_->OnNewBufferEnqueued(); } +bool MediaStreamBufferManager::HasAvailableBuffer() { + return !buffer_queue_.empty(); +} + MediaStreamBuffer* MediaStreamBufferManager::GetBufferPointer(int32_t index) { if (index < 0 || index >= number_of_buffers_) return NULL; diff --git a/ppapi/shared_impl/media_stream_buffer_manager.h b/ppapi/shared_impl/media_stream_buffer_manager.h index 28d8e80..7633624 100644 --- a/ppapi/shared_impl/media_stream_buffer_manager.h +++ b/ppapi/shared_impl/media_stream_buffer_manager.h @@ -70,6 +70,9 @@ class PPAPI_SHARED_EXPORT MediaStreamBufferManager { // Puts a buffer into |buffer_queue_|. void EnqueueBuffer(int32_t index); + // Queries whether a buffer will be returned by DequeueBuffer(). + bool HasAvailableBuffer(); + // Gets the buffer address for the given buffer index. MediaStreamBuffer* GetBufferPointer(int32_t index); diff --git a/ppapi/shared_impl/media_stream_buffer_manager_unittest.cc b/ppapi/shared_impl/media_stream_buffer_manager_unittest.cc index 3db0117..75c5660 100644 --- a/ppapi/shared_impl/media_stream_buffer_manager_unittest.cc +++ b/ppapi/shared_impl/media_stream_buffer_manager_unittest.cc @@ -56,6 +56,7 @@ TEST(MediaStreamBufferManager, General) { EXPECT_EQ(kNumberOfBuffers, manager.number_of_buffers()); EXPECT_EQ(kBufferSize, manager.buffer_size()); + EXPECT_TRUE(manager.HasAvailableBuffer()); // Test DequeueBuffer() and GetBufferPointer() for (int32_t i = 0; i < kNumberOfBuffers; ++i) { @@ -78,6 +79,7 @@ TEST(MediaStreamBufferManager, General) { EXPECT_EQ(2, manager.DequeueBuffer()); EXPECT_EQ(PP_ERROR_FAILED, manager.DequeueBuffer()); EXPECT_EQ(PP_ERROR_FAILED, manager.DequeueBuffer()); + EXPECT_FALSE(manager.HasAvailableBuffer()); // Returns NULL for invalid index to GetBufferPointer() EXPECT_EQ(NULL, manager.GetBufferPointer(-1)); |