// Copyright 2021 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. #ifndef CAST_STANDALONE_SENDER_CONNECTION_SETTINGS_H_ #define CAST_STANDALONE_SENDER_CONNECTION_SETTINGS_H_ #include #include "cast/streaming/constants.h" #include "platform/base/interface_info.h" namespace openscreen { namespace cast { // The connection settings for a given standalone sender instance. These fields // are used throughout the standalone sender component to initialize state from // the command line parameters. struct ConnectionSettings { // The endpoint of the receiver we wish to connect to. IPEndpoint receiver_endpoint; // The path to the file that we want to play. std::string path_to_file; // The maximum bitrate. Default value means a reasonable default will be // selected. int max_bitrate = 0; // Whether the stream should include video, or just be audio only. bool should_include_video = true; // Whether we should use the hacky RTP stream IDs for legacy android // receivers, or if we should use the proper values. For more information, // see https://issuetracker.google.com/184438154. bool use_android_rtp_hack = true; // Whether we should use remoting for the video, instead of the default of // mirroring. bool use_remoting = false; // Whether we should loop the video when it is completed. bool should_loop_video = true; // The codec to use for encoding negotiated video streams. VideoCodec codec; }; } // namespace cast } // namespace openscreen #endif // CAST_STANDALONE_SENDER_CONNECTION_SETTINGS_H_