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 #include "remoting/codec/audio_decoder.h" 6 7 #include "base/logging.h" 8 #include "remoting/codec/audio_decoder_opus.h" 9 #include "remoting/codec/audio_decoder_verbatim.h" 10 #include "remoting/protocol/session_config.h" 11 12 namespace remoting { 13 14 scoped_ptr<AudioDecoder> AudioDecoder::CreateAudioDecoder( 15 const protocol::SessionConfig& config) { 16 const protocol::ChannelConfig& audio_config = config.audio_config(); 17 18 if (audio_config.codec == protocol::ChannelConfig::CODEC_VERBATIM) { 19 return scoped_ptr<AudioDecoder>(new AudioDecoderVerbatim()); 20 } else if (audio_config.codec == protocol::ChannelConfig::CODEC_OPUS) { 21 return scoped_ptr<AudioDecoder>(new AudioDecoderOpus()); 22 } 23 24 NOTIMPLEMENTED(); 25 return scoped_ptr<AudioDecoder>(); 26 } 27 28 } // namespace remoting 29