OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 // will be the same value as in default codec settings, but not for all. | 43 // will be the same value as in default codec settings, but not for all. |
44 ci->channels = channels; | 44 ci->channels = channels; |
45 | 45 |
46 return ci; | 46 return ci; |
47 } | 47 } |
48 | 48 |
49 bool RentACodec::IsCodecValid(const CodecInst& codec_inst) { | 49 bool RentACodec::IsCodecValid(const CodecInst& codec_inst) { |
50 return ACMCodecDB::CodecNumber(codec_inst) >= 0; | 50 return ACMCodecDB::CodecNumber(codec_inst) >= 0; |
51 } | 51 } |
52 | 52 |
| 53 rtc::Maybe<bool> RentACodec::IsSupportedNumChannels(CodecId codec_id, |
| 54 int num_channels) { |
| 55 auto i = CodecIndexFromId(codec_id); |
| 56 return i ? rtc::Maybe<bool>(ACMCodecDB::codec_settings_[*i].channel_support >= |
| 57 num_channels) |
| 58 : rtc::Maybe<bool>(); |
| 59 } |
| 60 |
53 rtc::ArrayView<const CodecInst> RentACodec::Database() { | 61 rtc::ArrayView<const CodecInst> RentACodec::Database() { |
54 return rtc::ArrayView<const CodecInst>(ACMCodecDB::database_, | 62 return rtc::ArrayView<const CodecInst>(ACMCodecDB::database_, |
55 NumberOfCodecs()); | 63 NumberOfCodecs()); |
56 } | 64 } |
57 | 65 |
58 rtc::Maybe<NetEqDecoder> RentACodec::NetEqDecoderFromCodecId(CodecId codec_id, | 66 rtc::Maybe<NetEqDecoder> RentACodec::NetEqDecoderFromCodecId(CodecId codec_id, |
59 int num_channels) { | 67 int num_channels) { |
60 rtc::Maybe<int> i = CodecIndexFromId(codec_id); | 68 rtc::Maybe<int> i = CodecIndexFromId(codec_id); |
61 if (!i) | 69 if (!i) |
62 return rtc::Maybe<NetEqDecoder>(); | 70 return rtc::Maybe<NetEqDecoder>(); |
63 const NetEqDecoder ned = ACMCodecDB::neteq_decoders_[*i]; | 71 const NetEqDecoder ned = ACMCodecDB::neteq_decoders_[*i]; |
64 return rtc::Maybe<NetEqDecoder>( | 72 return rtc::Maybe<NetEqDecoder>( |
65 (ned == NetEqDecoder::kDecoderOpus && num_channels == 2) | 73 (ned == NetEqDecoder::kDecoderOpus && num_channels == 2) |
66 ? NetEqDecoder::kDecoderOpus_2ch | 74 ? NetEqDecoder::kDecoderOpus_2ch |
67 : ned); | 75 : ned); |
68 } | 76 } |
69 | 77 |
70 } // namespace acm2 | 78 } // namespace acm2 |
71 } // namespace webrtc | 79 } // namespace webrtc |
OLD | NEW |