Home | History | Annotate | Download | only in thunk
      1 // Copyright 2014 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 PPAPI_THUNK_PPB_AUDIO_BUFFER_API_H_
      6 #define PPAPI_THUNK_PPB_AUDIO_BUFFER_API_H_
      7 
      8 #include "ppapi/c/ppb_audio_buffer.h"
      9 #include "ppapi/thunk/ppapi_thunk_export.h"
     10 
     11 namespace ppapi {
     12 
     13 union MediaStreamBuffer;
     14 
     15 namespace thunk {
     16 
     17 class PPAPI_THUNK_EXPORT PPB_AudioBuffer_API {
     18  public:
     19   virtual ~PPB_AudioBuffer_API() {}
     20   virtual PP_TimeDelta GetTimestamp() = 0;
     21   virtual void SetTimestamp(PP_TimeDelta timestamp) = 0;
     22   virtual PP_AudioBuffer_SampleRate GetSampleRate() = 0;
     23   virtual PP_AudioBuffer_SampleSize GetSampleSize() = 0;
     24   virtual uint32_t GetNumberOfChannels() = 0;
     25   virtual uint32_t GetNumberOfSamples() = 0;
     26   virtual void* GetDataBuffer() = 0;
     27   virtual uint32_t GetDataBufferSize() = 0;
     28 
     29   // Methods used by Pepper internal implementation only.
     30   virtual MediaStreamBuffer* GetBuffer() = 0;
     31   virtual int32_t GetBufferIndex() = 0;
     32   virtual void Invalidate() = 0;
     33 };
     34 
     35 }  // namespace thunk
     36 }  // namespace ppapi
     37 
     38 #endif  // PPAPI_THUNK_PPB_AUDIO_BUFFER_API_H_
     39