Device
Device
#include <icy/av/devicemanager.h>Represents a system audio, video or render device.
Public Attributes
| Return | Name | Description |
|---|---|---|
Type | type | |
std::string | id | |
std::string | name | |
bool | isDefault | |
bool | isConnected | |
bool | isInUse | |
std::vector< VideoCapability > | videoCapabilities | |
std::vector< AudioCapability > | audioCapabilities |
type
Type type {}id
std::string idname
std::string nameisDefault
bool isDefault {false}isConnected
bool isConnected {true}isInUse
bool isInUse {false}videoCapabilities
std::vector< VideoCapability > videoCapabilitiesaudioCapabilities
std::vector< AudioCapability > audioCapabilitiesPublic Methods
| Return | Name | Description |
|---|---|---|
Device | Construct a device with Unknown type and empty fields. | |
Device | Construct a device with explicit fields. | |
void | print const | Print device details (type, id, name, capabilities) to the given stream. |
bool | operator== const inline | Equality based on type, id, and name. |
VideoCapability | bestVideoCapability const inline | Find the video capability closest to the requested parameters. |
AudioCapability | bestAudioCapability const inline | Find the audio capability closest to the requested parameters. |
Device
Device()Construct a device with Unknown type and empty fields.
Device
Device(Type type, const std::string & id, const std::string & name, bool isDefault)Construct a device with explicit fields.
Parameters
typeThe device type (VideoInput, AudioInput, etc.).idThe platform-specific device identifier.nameThe human-readable device name.isDefaultTrue if this is the system default device of its type.
const
void print(std::ostream & os) constPrint device details (type, id, name, capabilities) to the given stream.
Parameters
osThe output stream to write to.
operator==
const inline
inline bool operator==(const Device & that) constEquality based on type, id, and name.
bestVideoCapability
const inline
inline VideoCapability bestVideoCapability(int width, int height, double fps) constFind the video capability closest to the requested parameters.
Scoring: resolution match weighted 70%, fps match weighted 30%. Both dimensions are normalised to [0,1] so the weights are meaningful. Prefers capabilities that are >= the requested resolution (upscaling is worse than slight downscaling).
Returns a default capability with the requested values if none are available (allows callers to skip the empty check).
bestAudioCapability
const inline
inline AudioCapability bestAudioCapability(int sampleRate, int channels) constFind the audio capability closest to the requested parameters.
Scoring: sample rate match weighted 70%, channel count weighted 30%. Both dimensions are normalised to [0,1].
Returns a default capability with the requested values if none are available.
Public Types
| Name | Description |
|---|---|
Type |
Type
enum Type| Value | Description |
|---|---|
Unknown | |
VideoInput | |
VideoOutput | |
AudioInput | |
AudioOutput |
