| 3058 | } |
| 3059 | |
| 3060 | fn studio_service_restart_args(options: &StudioExposeOptions) -> Vec<String> { |
| 3061 | let mut args = vec![ |
| 3062 | "service".to_owned(), |
| 3063 | "restart".to_owned(), |
| 3064 | "--port".to_owned(), |
| 3065 | options.port.to_string(), |
| 3066 | "--bind".to_owned(), |
| 3067 | options.bind.to_string(), |
| 3068 | "--video-codec".to_owned(), |
| 3069 | options.video_codec.as_env_value().to_owned(), |
| 3070 | ]; |
| 3071 | if options.low_latency { |
| 3072 | args.push("--low-latency".to_owned()); |
| 3073 | } else if let Some(profile) = options.stream_quality { |
| 3074 | args.push("--stream-quality".to_owned()); |
| 3075 | args.push(profile.as_profile_id().to_owned()); |
| 3076 | } else if let Some(profile) = studio_stream_quality_profile( |
| 3077 | options.video_codec, |
| 3078 | options.low_latency, |
| 3079 | options.stream_quality, |
| 3080 | ) { |
| 3081 | args.push("--stream-quality".to_owned()); |
| 3082 | args.push(profile); |
| 3083 | } |
| 3084 | if let Some(local_stream_fps) = options.local_stream_fps { |
| 3085 | args.push("--local-stream-fps".to_owned()); |
| 3086 | args.push(local_stream_fps.to_string()); |
| 3087 | } |
| 3088 | args |
| 3089 | } |
| 3090 | |
| 3091 | #[derive(Clone, Debug)] |
| 3092 | struct StudioSimulatorSelection { |