fune/third_party/libwebrtc/api/video_track_source_constraints.h
Michael Froman c6285660d0 Bug 1766646 - Vendor libwebrtc from 6fa9e68da9
Upstream commit: https://webrtc.googlesource.com/src/+/6fa9e68da9f5cf0369188b97ad453dfda5419d46
    Route min/max FPS constraints to VideoStreamEncoder.

    This change
    - adds new type VideoTrackSourceConstraints expressing min/max FPS
      constraints.
    - adds new method VideoTrackSourceInterface::ProcessConstraints.
    - adds new method VideoSinkInterface<>::OnConstraintsChanged.
    - updates AdaptedVideoTrackSource and VideoBroadcaster to forward
      the constraints to sinks.
    - adds several unit tests for the added functionality.
    - and finally, implements OnConstraintsChanged in VideoStreamEncoder.

    Chromium will be updated in coming CLs to supply constraints set
    through the MediaStream module.

    go/rtc-0hz-present

    Bug: chromium:1255737
    No-Try: true
    Change-Id: Iffef239217269c332a1aaa902ddeae2440929e22
    Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/235040
    Commit-Queue: Markus Handell <handellm@webrtc.org>
    Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org>
    Reviewed-by: Henrik Andreassson <henrika@webrtc.org>
    Cr-Commit-Position: refs/heads/main@{#35197}
2022-08-30 10:39:34 -04:00

32 lines
1.1 KiB
C++

/*
* Copyright 2021 The WebRTC project authors. All Rights Reserved.
*
* Use of this source code is governed by a BSD-style license
* that can be found in the LICENSE file in the root of the source
* tree. An additional intellectual property rights grant can be found
* in the file PATENTS. All contributing project authors may
* be found in the AUTHORS file in the root of the source tree.
*/
// This file contains interfaces for MediaStream, MediaTrack and MediaSource.
// These interfaces are used for implementing MediaStream and MediaTrack as
// defined in http://dev.w3.org/2011/webrtc/editor/webrtc.html#stream-api. These
// interfaces must be used only with PeerConnection.
#ifndef API_VIDEO_TRACK_SOURCE_CONSTRAINTS_H_
#define API_VIDEO_TRACK_SOURCE_CONSTRAINTS_H_
#include "absl/types/optional.h"
namespace webrtc {
// This struct definition describes constraints on the video source that may be
// set with VideoTrackSourceInterface::ProcessConstraints.
struct VideoTrackSourceConstraints {
absl::optional<double> min_fps;
absl::optional<double> max_fps;
};
} // namespace webrtc
#endif // API_VIDEO_TRACK_SOURCE_CONSTRAINTS_H_