1*3f982cf4SFabien Sanglard // Copyright 2020 The Chromium Authors. All rights reserved. 2*3f982cf4SFabien Sanglard // Use of this source code is governed by a BSD-style license that can be 3*3f982cf4SFabien Sanglard // found in the LICENSE file. 4*3f982cf4SFabien Sanglard 5*3f982cf4SFabien Sanglard #ifndef CAST_STANDALONE_SENDER_CONSTANTS_H_ 6*3f982cf4SFabien Sanglard #define CAST_STANDALONE_SENDER_CONSTANTS_H_ 7*3f982cf4SFabien Sanglard 8*3f982cf4SFabien Sanglard #include "util/chrono_helpers.h" 9*3f982cf4SFabien Sanglard 10*3f982cf4SFabien Sanglard namespace openscreen { 11*3f982cf4SFabien Sanglard namespace cast { 12*3f982cf4SFabien Sanglard 13*3f982cf4SFabien Sanglard // How often should the congestion control logic re-evaluate the target encode 14*3f982cf4SFabien Sanglard // bitrates? 15*3f982cf4SFabien Sanglard constexpr milliseconds kCongestionCheckInterval{500}; 16*3f982cf4SFabien Sanglard 17*3f982cf4SFabien Sanglard // Above what available bandwidth should the high-quality audio bitrate be used? 18*3f982cf4SFabien Sanglard constexpr int kHighBandwidthThreshold = 5 << 20; // 5 Mbps. 19*3f982cf4SFabien Sanglard 20*3f982cf4SFabien Sanglard // How often should the file position (media timestamp) be updated on the 21*3f982cf4SFabien Sanglard // console? 22*3f982cf4SFabien Sanglard constexpr milliseconds kConsoleUpdateInterval{100}; 23*3f982cf4SFabien Sanglard 24*3f982cf4SFabien Sanglard // What is the default maximum bitrate setting? 25*3f982cf4SFabien Sanglard constexpr int kDefaultMaxBitrate = 5 << 20; // 5 Mbps. 26*3f982cf4SFabien Sanglard 27*3f982cf4SFabien Sanglard // What is the minimum amount of bandwidth required? 28*3f982cf4SFabien Sanglard constexpr int kMinRequiredBitrate = 384 << 10; // 384 kbps. 29*3f982cf4SFabien Sanglard 30*3f982cf4SFabien Sanglard } // namespace cast 31*3f982cf4SFabien Sanglard } // namespace openscreen 32*3f982cf4SFabien Sanglard 33*3f982cf4SFabien Sanglard #endif // CAST_STANDALONE_SENDER_CONSTANTS_H_ 34