| Index: content/renderer/media/media_stream_constraints_util_video_content.h
|
| diff --git a/content/renderer/media/media_stream_constraints_util_video_content.h b/content/renderer/media/media_stream_constraints_util_video_content.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..5ec86dd9d8c5681587c8c633d931619dfae008cc
|
| --- /dev/null
|
| +++ b/content/renderer/media/media_stream_constraints_util_video_content.h
|
| @@ -0,0 +1,76 @@
|
| +// Copyright 2017 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 CONTENT_RENDERER_MEDIA_MEDIA_STREAM_CONSTRAINTS_UTIL_VIDEO_CONTENT_H_
|
| +#define CONTENT_RENDERER_MEDIA_MEDIA_STREAM_CONSTRAINTS_UTIL_VIDEO_CONTENT_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "content/common/content_export.h"
|
| +#include "media/capture/video_capture_types.h"
|
| +#include "third_party/webrtc/base/optional.h"
|
| +
|
| +namespace blink {
|
| +class WebMediaConstraints;
|
| +}
|
| +
|
| +namespace content {
|
| +
|
| +class CONTENT_EXPORT VideoContentCaptureSourceSelectionResult {
|
| + public:
|
| + // Creates a result without value and with the given |failed_constraint_name|.
|
| + // Does not take ownership of |failed_constraint_name|, so it must be null or
|
| + // point to a string that remains accessible.
|
| + explicit VideoContentCaptureSourceSelectionResult(
|
| + const char* failed_constraint_name);
|
| +
|
| + // Creates a result with the given values. |device_id| is moved to an internal
|
| + // field.
|
| + VideoContentCaptureSourceSelectionResult(
|
| + std::string device_id,
|
| + const rtc::Optional<bool>& noise_reduction,
|
| + media::VideoCaptureParams capture_params);
|
| +
|
| + VideoContentCaptureSourceSelectionResult(
|
| + const VideoContentCaptureSourceSelectionResult& other);
|
| + VideoContentCaptureSourceSelectionResult& operator=(
|
| + const VideoContentCaptureSourceSelectionResult& other);
|
| + VideoContentCaptureSourceSelectionResult(
|
| + VideoContentCaptureSourceSelectionResult&& other);
|
| + VideoContentCaptureSourceSelectionResult& operator=(
|
| + VideoContentCaptureSourceSelectionResult&& other);
|
| + ~VideoContentCaptureSourceSelectionResult();
|
| +
|
| + bool HasValue() const { return failed_constraint_name_ == nullptr; }
|
| +
|
| + // Accessors.
|
| + const char* failed_constraint_name() const { return failed_constraint_name_; }
|
| + const std::string& device_id() const { return device_id_; }
|
| + const rtc::Optional<bool>& noise_reduction() const {
|
| + return noise_reduction_;
|
| + }
|
| + media::VideoCaptureParams capture_params() const { return capture_params_; }
|
| +
|
| + // Convenience accessors for fields embedded in the |capture_params_| field.
|
| + int Height() const;
|
| + int Width() const;
|
| + float FrameRate() const;
|
| + media::ResolutionChangePolicy ResolutionChangePolicy() const;
|
| +
|
| + private:
|
| + const char* failed_constraint_name_;
|
| + std::string device_id_;
|
| + rtc::Optional<bool> noise_reduction_;
|
| + media::VideoCaptureParams capture_params_;
|
| +};
|
| +
|
| +// This function performs source and source-settings selection for content
|
| +// video capture based on the given |constraints|.
|
| +VideoContentCaptureSourceSelectionResult CONTENT_EXPORT
|
| +SelectVideoContentCaptureSourceSettings(
|
| + const blink::WebMediaConstraints& constraints);
|
| +
|
| +} // namespace content
|
| +
|
| +#endif // CONTENT_RENDERER_MEDIA_MEDIA_STREAM_CONSTRAINTS_UTIL_VIDEO_CONTENT_H_
|
|
|