| OLD | NEW | 
|---|
| (Empty) |  | 
|  | 1 /* | 
|  | 2  *  Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 
|  | 3  * | 
|  | 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 | 
|  | 6  *  tree. An additional intellectual property rights grant can be found | 
|  | 7  *  in the file PATENTS.  All contributing project authors may | 
|  | 8  *  be found in the AUTHORS file in the root of the source tree. | 
|  | 9  */ | 
|  | 10 | 
|  | 11 #ifndef WEBRTC_MODULES_AUDIO_CODING_AUDIO_NETWORK_ADAPTOR_CHANNEL_CONTROLLER_H_ | 
|  | 12 #define WEBRTC_MODULES_AUDIO_CODING_AUDIO_NETWORK_ADAPTOR_CHANNEL_CONTROLLER_H_ | 
|  | 13 | 
|  | 14 #include "webrtc/base/constructormagic.h" | 
|  | 15 #include "webrtc/modules/audio_coding/audio_network_adaptor/controller.h" | 
|  | 16 | 
|  | 17 namespace webrtc { | 
|  | 18 | 
|  | 19 class ChannelController final : public Controller { | 
|  | 20  public: | 
|  | 21   struct Config { | 
|  | 22     Config(size_t num_encoder_channels, | 
|  | 23            size_t intial_channels_to_encode, | 
|  | 24            int channel_1_to_2_bandwidth_bps, | 
|  | 25            int channel_2_to_1_bandwidth_bps); | 
|  | 26     ~Config(); | 
|  | 27     size_t num_encoder_channels; | 
|  | 28     size_t intial_channels_to_encode; | 
|  | 29     // Uplink bandwidth above which the number of encoded channels should switch | 
|  | 30     // from 1 to 2. | 
|  | 31     int channel_1_to_2_bandwidth_bps; | 
|  | 32     // Uplink bandwidth below which the number of encoded channels should switch | 
|  | 33     // from 2 to 1. | 
|  | 34     int channel_2_to_1_bandwidth_bps; | 
|  | 35   }; | 
|  | 36 | 
|  | 37   explicit ChannelController(const Config& config); | 
|  | 38 | 
|  | 39   void MakeDecision(const NetworkMetrics& metrics, | 
|  | 40                     AudioNetworkAdaptor::EncoderRuntimeConfig* config) override; | 
|  | 41 | 
|  | 42  private: | 
|  | 43   const Config config_; | 
|  | 44   size_t channels_to_encode_; | 
|  | 45   RTC_DISALLOW_COPY_AND_ASSIGN(ChannelController); | 
|  | 46 }; | 
|  | 47 | 
|  | 48 }  // namespace webrtc | 
|  | 49 | 
|  | 50 #endif  // WEBRTC_MODULES_AUDIO_CODING_AUDIO_NETWORK_ADAPTOR_CHANNEL_CONTROLLER_
    H_ | 
| OLD | NEW | 
|---|