Home | History | Annotate | Download | only in codec
      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