pepper_audio_player.h revision 5821806d5e7f356e8fa4b058a389a808ea183019
1// Copyright (c) 2012 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 REMOTING_CLIENT_PLUGIN_PEPPER_AUDIO_PLAYER_H_
6#define REMOTING_CLIENT_PLUGIN_PEPPER_AUDIO_PLAYER_H_
7
8#include "base/callback.h"
9#include "ppapi/cpp/audio.h"
10#include "ppapi/cpp/instance.h"
11#include "remoting/client/audio_player.h"
12#include "remoting/proto/audio.pb.h"
13
14namespace remoting {
15
16class PepperAudioPlayer : public AudioPlayer {
17 public:
18  explicit PepperAudioPlayer(pp::Instance* instance);
19  virtual ~PepperAudioPlayer();
20
21  virtual uint32 GetSamplesPerFrame() OVERRIDE;
22
23  virtual bool ResetAudioPlayer(AudioPacket::SamplingRate sampling_rate)
24      OVERRIDE;
25
26 private:
27  pp::Instance* instance_;
28  pp::Audio audio_;
29
30  // The count of sample frames per channel in an audio buffer.
31  uint32 samples_per_frame_;
32
33  DISALLOW_COPY_AND_ASSIGN(PepperAudioPlayer);
34};
35
36}  // namespace remoting
37
38#endif  // REMOTING_CLIENT_PLUGIN_PEPPER_AUDIO_PLAYER_H_
39