blob: 2e198d5cfc7d05143501f86b1c1c3122a8ef939d [file] [log] [blame]
// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef MEDIA_REMOTING_DEVICE_CAPABILITY_CHECKER_H_
#define MEDIA_REMOTING_DEVICE_CAPABILITY_CHECKER_H_
#include <string>
namespace media {
enum class AudioCodec;
enum class VideoCodec;
namespace remoting {
// Return true if the Cast receiver device is known to support media remoting
// according to its `model_name`. Note that this does not include all Cast
// receivers that support remoting.
bool IsKnownToSupportRemoting(const std::string& model_name);
// Return true if the Cast receiver with `model_name` is compatible to render
// `video_codec`.
bool IsVideoCodecCompatible(const std::string& model_name,
media::VideoCodec video_codec);
// Return true if the Cast receiver with `model_name` is compatible to render
// `audio_codec`.
bool IsAudioCodecCompatible(const std::string& model_name,
media::AudioCodec audio_codec);
// Custom codec parsing function for media remoting.
media::VideoCodec ParseVideoCodec(const std::string& codec_str);
media::AudioCodec ParseAudioCodec(const std::string& codec_str);
} // namespace remoting
} // namespace media
#endif // MEDIA_REMOTING_DEVICE_CAPABILITY_CHECKER_H_