chromium/third_party/openscreen/src/cast/streaming/remoting_capabilities.h

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CAST_STREAMING_REMOTING_CAPABILITIES_H_
#define CAST_STREAMING_REMOTING_CAPABILITIES_H_

#include <string>
#include <vector>

namespace openscreen::cast {

// Audio capabilities are how receivers indicate support for remoting codecs--
// as remoting does not include the actual codec in the OFFER message.
enum class AudioCapability {};

// Similar to audio capabilities, video capabilities are how the receiver
// indicates support for certain video codecs, as well as support for streaming
// 4k content. It is assumed by the sender that the receiver can support 4k
// on all supported codecs.
enum class VideoCapability {};

// This class is similar to the RemotingSinkMetadata in Chrome, however
// it is focused around our needs and is not mojom-based. This contains
// a rough set of capabilities of the receiver to give the sender an idea of
// what features are suppported for remoting.
// TODO(issuetracker.google.com/184189100): this object should be expanded to
// allow more specific constraint tracking.
struct RemotingCapabilities {};

}  // namespace openscreen::cast

#endif  // CAST_STREAMING_REMOTING_CAPABILITIES_H_