// Copyright 2018 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_MIRRORING_SERVICE_MIRROR_SETTINGS_H_ #define COMPONENTS_MIRRORING_SERVICE_MIRROR_SETTINGS_H_ #include "base/component_export.h" #include "base/time/time.h" #include "media/capture/video_capture_types.h" #include "media/cast/cast_config.h" namespace media { class AudioParameters; enum class AudioCodec; enum class VideoCodec; } // namespace media namespace mirroring { // The interval since the last video frame was received from the video source, // before requesting a refresh frame. inline constexpr base::TimeDelta kFrameRefreshInterval = …; // Default end-to-end latency. Currently adaptive latency control is disabled // because of audio playout regressions (b/32876644). // TODO(openscreen/44): Re-enable in port to Open Screen. // // NOTE: currently ChromeOS does not support a lower default playout delay. // TODO(https://issuetracker.google.com/327950363): investigate. inline constexpr base::TimeDelta kDefaultPlayoutDelay = …base::Milliseconds(400); #else base::Milliseconds(200); #endif // Holds the default settings for a mirroring session. This class provides the // audio/video configs that this sender supports. And also provides the // audio/video constraints used for capturing. // TODO(issuetracker.google.com/158032164): as part of migration to libcast's // OFFER/ANSWER exchange, expose constraints here from the OFFER message. class COMPONENT_EXPORT(MIRRORING_SERVICE) MirrorSettings { … }; } // namespace mirroring #endif // COMPONENTS_MIRRORING_SERVICE_MIRROR_SETTINGS_H_