/* This file is part of Telegram Desktop, the official desktop application for the Telegram messaging service. For license and copyright information please follow this link: https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL */ #pragma once #include "settings/settings_type.h" namespace style { struct Checkbox; struct Radio; } // namespace style namespace Webrtc { class VideoTrack; } // namespace Webrtc namespace Ui { class GenericBox; class Show; class VerticalLayout; } // namespace Ui namespace Window { class SessionController; } // namespace Window namespace Settings { [[nodiscard]] Type CallsId(); Webrtc::VideoTrack *AddCameraSubsection( std::shared_ptr show, not_null content, bool saveToSettings); inline constexpr auto kMicTestUpdateInterval = crl::time(100); inline constexpr auto kMicTestAnimationDuration = crl::time(200); [[nodiscard]] rpl::producer PlaybackDeviceNameValue( rpl::producer id); [[nodiscard]] rpl::producer CaptureDeviceNameValue( rpl::producer id); [[nodiscard]] rpl::producer CameraDeviceNameValue( rpl::producer id); [[nodiscard]] object_ptr ChoosePlaybackDeviceBox( rpl::producer currentId, Fn chosen, const style::Checkbox *st = nullptr, const style::Radio *radioSt = nullptr); [[nodiscard]] object_ptr ChooseCaptureDeviceBox( rpl::producer currentId, Fn chosen, const style::Checkbox *st = nullptr, const style::Radio *radioSt = nullptr); [[nodiscard]] object_ptr ChooseCameraDeviceBox( rpl::producer currentId, Fn chosen, const style::Checkbox *st = nullptr, const style::Radio *radioSt = nullptr); } // namespace Settings