• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_CODEC_AUDIO_DECODER_H_
6 #define REMOTING_CODEC_AUDIO_DECODER_H_
7 
8 #include "base/memory/scoped_ptr.h"
9 
10 namespace remoting {
11 
12 namespace protocol {
13 class SessionConfig;
14 }  // namespace protocol
15 
16 class AudioPacket;
17 
18 class AudioDecoder {
19  public:
20   static scoped_ptr<AudioDecoder> CreateAudioDecoder(
21       const protocol::SessionConfig& config);
22 
~AudioDecoder()23   virtual ~AudioDecoder() {}
24 
25   // Returns the decoded packet. If the packet is invalid, then a NULL
26   // scoped_ptr is returned.
27   virtual scoped_ptr<AudioPacket> Decode(scoped_ptr<AudioPacket> packet) = 0;
28 };
29 
30 }  // namespace remoting
31 
32 #endif  // REMOTING_CODEC_AUDIO_DECODER_H_
33