| // 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_ |