Home | History | Annotate | Download | only in cast
      1 // Copyright 2013 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 "media/cast/cast_config.h"
      6 
      7 namespace media {
      8 namespace cast {
      9 
     10 // TODO(miu): Revisit code factoring of these structs.  There are a number of
     11 // common elements between them all, so it might be reasonable to only have one
     12 // or two structs; or, at least a common base class.
     13 
     14 // TODO(miu): Make sure all POD members are initialized by ctors.  Policy
     15 // decision: Reasonable defaults or use invalid placeholder values to expose
     16 // unset members?
     17 
     18 // TODO(miu): Provide IsValidConfig() functions?
     19 
     20 // TODO(miu): Throughout the code, there is a lot of copy-and-paste of the same
     21 // calculations based on these config values.  So, why don't we add methods to
     22 // these classes to centralize the logic?
     23 
     24 VideoSenderConfig::VideoSenderConfig()
     25     : incoming_feedback_ssrc(0),
     26       rtcp_interval(kDefaultRtcpIntervalMs),
     27       rtcp_mode(kRtcpReducedSize),
     28       use_external_encoder(false),
     29       width(0),
     30       height(0),
     31       congestion_control_back_off(kDefaultCongestionControlBackOff),
     32       max_bitrate(5000000),
     33       min_bitrate(1000000),
     34       start_bitrate(5000000),
     35       max_qp(kDefaultMaxQp),
     36       min_qp(kDefaultMinQp),
     37       max_frame_rate(kDefaultMaxFrameRate),
     38       max_number_of_video_buffers_used(kDefaultNumberOfVideoBuffers),
     39       codec(transport::kVp8),
     40       number_of_encode_threads(1) {}
     41 
     42 AudioSenderConfig::AudioSenderConfig()
     43     : incoming_feedback_ssrc(0),
     44       rtcp_interval(kDefaultRtcpIntervalMs),
     45       rtcp_mode(kRtcpReducedSize),
     46       use_external_encoder(false),
     47       frequency(0),
     48       channels(0),
     49       bitrate(0) {}
     50 
     51 FrameReceiverConfig::FrameReceiverConfig()
     52     : feedback_ssrc(0),
     53       incoming_ssrc(0),
     54       rtcp_interval(kDefaultRtcpIntervalMs),
     55       rtcp_mode(kRtcpReducedSize),
     56       rtp_max_delay_ms(kDefaultRtpMaxDelayMs),
     57       rtp_payload_type(0),
     58       frequency(0),
     59       channels(0),
     60       max_frame_rate(0) {}
     61 
     62 FrameReceiverConfig::~FrameReceiverConfig() {}
     63 
     64 }  // namespace cast
     65 }  // namespace media
     66