Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(137)

Side by Side Diff: webrtc/modules/audio_coding/main/acm2/rent_a_codec.cc

Issue 1432553007: Rename Maybe to Optional (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: a -> an Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
11 #include "webrtc/modules/audio_coding/main/acm2/rent_a_codec.h" 11 #include "webrtc/modules/audio_coding/main/acm2/rent_a_codec.h"
12 12
13 #include "webrtc/modules/audio_coding/main/acm2/acm_codec_database.h" 13 #include "webrtc/modules/audio_coding/main/acm2/acm_codec_database.h"
14 #include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h" 14 #include "webrtc/modules/audio_coding/main/acm2/acm_common_defs.h"
15 15
16 namespace webrtc { 16 namespace webrtc {
17 namespace acm2 { 17 namespace acm2 {
18 18
19 rtc::Maybe<RentACodec::CodecId> RentACodec::CodecIdByParams( 19 rtc::Optional<RentACodec::CodecId> RentACodec::CodecIdByParams(
20 const char* payload_name, 20 const char* payload_name,
21 int sampling_freq_hz, 21 int sampling_freq_hz,
22 int channels) { 22 int channels) {
23 return CodecIdFromIndex( 23 return CodecIdFromIndex(
24 ACMCodecDB::CodecId(payload_name, sampling_freq_hz, channels)); 24 ACMCodecDB::CodecId(payload_name, sampling_freq_hz, channels));
25 } 25 }
26 26
27 rtc::Maybe<CodecInst> RentACodec::CodecInstById(CodecId codec_id) { 27 rtc::Optional<CodecInst> RentACodec::CodecInstById(CodecId codec_id) {
28 rtc::Maybe<int> mi = CodecIndexFromId(codec_id); 28 rtc::Optional<int> mi = CodecIndexFromId(codec_id);
29 return mi ? rtc::Maybe<CodecInst>(Database()[*mi]) : rtc::Maybe<CodecInst>(); 29 return mi ? rtc::Optional<CodecInst>(Database()[*mi])
30 : rtc::Optional<CodecInst>();
30 } 31 }
31 32
32 rtc::Maybe<RentACodec::CodecId> RentACodec::CodecIdByInst( 33 rtc::Optional<RentACodec::CodecId> RentACodec::CodecIdByInst(
33 const CodecInst& codec_inst) { 34 const CodecInst& codec_inst) {
34 return CodecIdFromIndex(ACMCodecDB::CodecNumber(codec_inst)); 35 return CodecIdFromIndex(ACMCodecDB::CodecNumber(codec_inst));
35 } 36 }
36 37
37 rtc::Maybe<CodecInst> RentACodec::CodecInstByParams(const char* payload_name, 38 rtc::Optional<CodecInst> RentACodec::CodecInstByParams(const char* payload_name,
38 int sampling_freq_hz, 39 int sampling_freq_hz,
39 int channels) { 40 int channels) {
40 rtc::Maybe<CodecId> codec_id = 41 rtc::Optional<CodecId> codec_id =
41 CodecIdByParams(payload_name, sampling_freq_hz, channels); 42 CodecIdByParams(payload_name, sampling_freq_hz, channels);
42 if (!codec_id) 43 if (!codec_id)
43 return rtc::Maybe<CodecInst>(); 44 return rtc::Optional<CodecInst>();
44 rtc::Maybe<CodecInst> ci = CodecInstById(*codec_id); 45 rtc::Optional<CodecInst> ci = CodecInstById(*codec_id);
45 RTC_DCHECK(ci); 46 RTC_DCHECK(ci);
46 47
47 // Keep the number of channels from the function call. For most codecs it 48 // Keep the number of channels from the function call. For most codecs it
48 // will be the same value as in default codec settings, but not for all. 49 // will be the same value as in default codec settings, but not for all.
49 ci->channels = channels; 50 ci->channels = channels;
50 51
51 return ci; 52 return ci;
52 } 53 }
53 54
54 bool RentACodec::IsCodecValid(const CodecInst& codec_inst) { 55 bool RentACodec::IsCodecValid(const CodecInst& codec_inst) {
55 return ACMCodecDB::CodecNumber(codec_inst) >= 0; 56 return ACMCodecDB::CodecNumber(codec_inst) >= 0;
56 } 57 }
57 58
58 rtc::Maybe<bool> RentACodec::IsSupportedNumChannels(CodecId codec_id, 59 rtc::Optional<bool> RentACodec::IsSupportedNumChannels(CodecId codec_id,
59 int num_channels) { 60 int num_channels) {
60 auto i = CodecIndexFromId(codec_id); 61 auto i = CodecIndexFromId(codec_id);
61 return i ? rtc::Maybe<bool>(ACMCodecDB::codec_settings_[*i].channel_support >= 62 return i ? rtc::Optional<bool>(
62 num_channels) 63 ACMCodecDB::codec_settings_[*i].channel_support >=
63 : rtc::Maybe<bool>(); 64 num_channels)
65 : rtc::Optional<bool>();
64 } 66 }
65 67
66 rtc::ArrayView<const CodecInst> RentACodec::Database() { 68 rtc::ArrayView<const CodecInst> RentACodec::Database() {
67 return rtc::ArrayView<const CodecInst>(ACMCodecDB::database_, 69 return rtc::ArrayView<const CodecInst>(ACMCodecDB::database_,
68 NumberOfCodecs()); 70 NumberOfCodecs());
69 } 71 }
70 72
71 rtc::Maybe<NetEqDecoder> RentACodec::NetEqDecoderFromCodecId(CodecId codec_id, 73 rtc::Optional<NetEqDecoder> RentACodec::NetEqDecoderFromCodecId(
72 int num_channels) { 74 CodecId codec_id,
73 rtc::Maybe<int> i = CodecIndexFromId(codec_id); 75 int num_channels) {
76 rtc::Optional<int> i = CodecIndexFromId(codec_id);
74 if (!i) 77 if (!i)
75 return rtc::Maybe<NetEqDecoder>(); 78 return rtc::Optional<NetEqDecoder>();
76 const NetEqDecoder ned = ACMCodecDB::neteq_decoders_[*i]; 79 const NetEqDecoder ned = ACMCodecDB::neteq_decoders_[*i];
77 return rtc::Maybe<NetEqDecoder>( 80 return rtc::Optional<NetEqDecoder>(
78 (ned == NetEqDecoder::kDecoderOpus && num_channels == 2) 81 (ned == NetEqDecoder::kDecoderOpus && num_channels == 2)
79 ? NetEqDecoder::kDecoderOpus_2ch 82 ? NetEqDecoder::kDecoderOpus_2ch
80 : ned); 83 : ned);
81 } 84 }
82 85
83 } // namespace acm2 86 } // namespace acm2
84 } // namespace webrtc 87 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698