MediaTrackConstraints.h [plain text]
#pragma once
#if ENABLE(MEDIA_STREAM)
#include "DoubleRange.h"
#include "LongRange.h"
#include <wtf/Variant.h>
#include <wtf/Vector.h>
#include <wtf/text/WTFString.h>
namespace WebCore {
struct MediaConstraints;
struct ConstrainBooleanParameters {
Optional<bool> exact;
Optional<bool> ideal;
};
struct ConstrainDOMStringParameters {
Optional<Variant<String, Vector<String>>> exact;
Optional<Variant<String, Vector<String>>> ideal;
};
struct ConstrainDoubleRange : DoubleRange {
Optional<double> exact;
Optional<double> ideal;
};
struct ConstrainLongRange : LongRange {
Optional<int> exact;
Optional<int> ideal;
};
using ConstrainBoolean = Variant<bool, ConstrainBooleanParameters>;
using ConstrainDOMString = Variant<String, Vector<String>, ConstrainDOMStringParameters>;
using ConstrainDouble = Variant<double, ConstrainDoubleRange>;
using ConstrainLong = Variant<int, ConstrainLongRange>;
struct MediaTrackConstraintSet {
Optional<ConstrainLong> width;
Optional<ConstrainLong> height;
Optional<ConstrainDouble> aspectRatio;
Optional<ConstrainDouble> frameRate;
Optional<ConstrainDOMString> facingMode;
Optional<ConstrainDouble> volume;
Optional<ConstrainLong> sampleRate;
Optional<ConstrainLong> sampleSize;
Optional<ConstrainBoolean> echoCancellation;
Optional<ConstrainDOMString> deviceId;
Optional<ConstrainDOMString> groupId;
Optional<ConstrainDOMString> displaySurface;
Optional<ConstrainBoolean> logicalSurface;
};
struct MediaTrackConstraints : MediaTrackConstraintSet {
Optional<Vector<MediaTrackConstraintSet>> advanced;
};
MediaConstraints createMediaConstraints(const MediaTrackConstraints&);
}
#endif