blob: 0087e23265db9e2886af993eaad96d3a235287bb [file] [log] [blame]
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "media/cast/cast_config.h"
namespace media {
namespace cast {
VideoCodecParams::VideoCodecParams()
: max_qp(kDefaultMaxQp),
min_qp(kDefaultMinQp),
max_cpu_saver_qp(kDefaultMaxCpuSaverQp),
max_number_of_video_buffers_used(kDefaultNumberOfVideoBuffers),
number_of_encode_threads(1) {}
VideoCodecParams::VideoCodecParams(const VideoCodecParams& other) = default;
VideoCodecParams::~VideoCodecParams() = default;
// TODO(miu): Provide IsValidConfig() functions?
FrameSenderConfig::FrameSenderConfig()
: sender_ssrc(0),
receiver_ssrc(0),
// In production, these values are overridden by the mirror settings
// and potentially the mirroring session parameters, however we provide
// a reasonable default here for some use cases, such as tests.
// All three delays are set to the same value due to adaptive latency
// being disabled in Chrome. This will be fixed as part of the migration
// to libcast.
min_playout_delay(base::Milliseconds(kDefaultRtpMaxDelayMs)),
max_playout_delay(min_playout_delay),
animated_playout_delay(min_playout_delay),
rtp_payload_type(RtpPayloadType::UNKNOWN),
use_external_encoder(false),
rtp_timebase(0),
channels(0),
max_bitrate(0),
min_bitrate(0),
start_bitrate(0),
max_frame_rate(kDefaultMaxFrameRate),
codec(CODEC_UNKNOWN) {}
FrameSenderConfig::FrameSenderConfig(const FrameSenderConfig& other) = default;
FrameSenderConfig::~FrameSenderConfig() = default;
FrameReceiverConfig::FrameReceiverConfig()
: receiver_ssrc(0),
sender_ssrc(0),
rtp_max_delay_ms(kDefaultRtpMaxDelayMs),
rtp_payload_type(RtpPayloadType::UNKNOWN),
rtp_timebase(0),
channels(0),
target_frame_rate(0),
codec(CODEC_UNKNOWN) {}
FrameReceiverConfig::FrameReceiverConfig(const FrameReceiverConfig& other) =
default;
FrameReceiverConfig::~FrameReceiverConfig() = default;
} // namespace cast
} // namespace media