OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_audio
_encoder.h" | 5 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_audio
_encoder.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 | 8 |
9 namespace extensions { | 9 namespace extensions { |
10 | 10 |
11 WiFiDisplayAudioEncoder::WiFiDisplayAudioEncoder( | 11 WiFiDisplayAudioEncoder::WiFiDisplayAudioEncoder( |
12 const wds::AudioCodec& audio_codec) | 12 const wds::AudioCodec& audio_codec) |
13 : audio_codec_(audio_codec) {} | 13 : audio_codec_(audio_codec) {} |
14 | 14 |
15 WiFiDisplayAudioEncoder::~WiFiDisplayAudioEncoder() = default; | 15 WiFiDisplayAudioEncoder::~WiFiDisplayAudioEncoder() = default; |
16 | 16 |
17 void WiFiDisplayAudioEncoder::Create( | 17 void WiFiDisplayAudioEncoder::Create( |
18 const wds::AudioCodec& audio_codec, | 18 const wds::AudioCodec& audio_codec, |
19 const AudioEncoderCallback& encoder_callback) { | 19 const AudioEncoderCallback& encoder_callback) { |
| 20 // Create a format specific encoder. |
| 21 switch (audio_codec.format) { |
| 22 case wds::LPCM: |
| 23 CreateLPCM(audio_codec, encoder_callback); |
| 24 return; |
| 25 default: |
| 26 break; |
| 27 } |
| 28 |
20 // Report failure. | 29 // Report failure. |
21 encoder_callback.Run(nullptr); | 30 encoder_callback.Run(nullptr); |
22 } | 31 } |
23 | 32 |
24 size_t WiFiDisplayAudioEncoder::GetAudioCodecMode() const { | 33 size_t WiFiDisplayAudioEncoder::GetAudioCodecMode() const { |
25 DCHECK_EQ(1u, audio_codec_.modes.count()); | 34 DCHECK_EQ(1u, audio_codec_.modes.count()); |
26 for (size_t mode = 0u; mode < audio_codec_.modes.size(); ++mode) { | 35 for (size_t mode = 0u; mode < audio_codec_.modes.size(); ++mode) { |
27 if (audio_codec_.modes.test(mode)) | 36 if (audio_codec_.modes.test(mode)) |
28 return mode; | 37 return mode; |
29 } | 38 } |
30 NOTREACHED(); | 39 NOTREACHED(); |
31 return kInvalidCodecModeValue; | 40 return kInvalidCodecModeValue; |
32 } | 41 } |
33 | 42 |
34 } // namespace extensions | 43 } // namespace extensions |
OLD | NEW |