Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / ppapi / thunk / ppb_audio_buffer_api.h
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_