Roll Clang 206824:209387
[chromium-blink-merge.git] / media / cast / cast_config.cc
blobc4702697751c12c167fa6c61fd7bd867ad2ffb2d
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.
5 #include "media/cast/cast_config.h"
7 namespace media {
8 namespace cast {
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.
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?
18 // TODO(miu): Provide IsValidConfig() functions?
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?
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) {}
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) {}
51 AudioReceiverConfig::AudioReceiverConfig()
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 use_external_decoder(false),
59 frequency(0),
60 channels(0) {}
62 VideoReceiverConfig::VideoReceiverConfig()
63 : feedback_ssrc(0),
64 incoming_ssrc(0),
65 rtcp_interval(kDefaultRtcpIntervalMs),
66 rtcp_mode(kRtcpReducedSize),
67 rtp_max_delay_ms(kDefaultRtpMaxDelayMs),
68 rtp_payload_type(0),
69 use_external_decoder(false),
70 max_frame_rate(kDefaultMaxFrameRate),
71 decoder_faster_than_max_frame_rate(true),
72 codec(transport::kVp8) {}
74 } // namespace cast
75 } // namespace media