These devices can be enumerated and passed to flu_player_device_open(), instead of flu_player_uri_open(), which requires a URI. Devices allow the application to access cameras, microphones, screen/application capture or DVD drives, which do not map nicely to URIs in most cases.
GList * |
|
FluDevice * |
|
void |
|
void |
|
const gchar * |
|
FluDeviceType |
|
const gchar * |
|
const gchar * |
|
const gchar * |
|
const gchar * |
|
gboolean |
|
const GList * |
|
void |
|
void |
|
gboolean |
|
const FluDeviceConfig * |
GList * flu_device_list_get ();
Retrieves the list of currently available hardware devices as a GList of FluDevice.
Free the whole list afterwards with flu_device_list_free(), or keep extra references with flu_device_ref() and flu_device_unref()
Since: 1.0
The GList of hardware devices.
[element-type FluDevice][transfer full]
Add a reference to an FluDevice
Since: 1.0
The device to be referenced
The same object, for programming convenience.
[transfer full]
void flu_device_unref (FluDevice *device);
Remove a reference from an FluDevice
Since: 1.0
The device to be unreferenced
void flu_device_list_free (GList *devices_list);
Frees a device list returned by flu_device_list_get().
This is a convenience wrapper around g_list_free_full() calling flu_device_unref() for each entry in the list.
Since: 1.0
The list to free.
const gchar * flu_device_type_name_get (FluDeviceType type);
Returns a human-readable string describing a device category
Since: 1.0
The device category name
FluDeviceType flu_device_type_get (const FluDevice *device);
Category this device belongs to
Since: 1.0
The device's FluDeviceType
const gchar * flu_device_name_get (const FluDevice *device);
A human-readable name of the device. Some devices might return a unique identifier instead.
Since: 1.1
The FluDevice
The device name, or NULL
const gchar * flu_device_uri_get (const FluDevice *device);
Device URI
Could be dvd:///dev/dvd on Linux or dvd://\\.\D: on Windows, for example. Not all devices have a URI.
Since: 1.0
The FluDevice
The device's URI, or NULL
const gchar * flu_device_label_get (const FluDevice *device);
Media label read from the device. Not available for all kinds of media. Mostly human-readable.
Since: 1.0
The device's current media label, or NULL
const gchar * flu_device_current_media_id_get (const FluDevice *device);
Unique ID for the media currently inserted in the device (for devices with removable media, like DVDs, for example) or the name of the GStreamer plugin used to provide a device interface (for hardware devices like a camera or a microphone, for example).
In case of removable media, it is a 128-bit MD5 string (16 chars), NULL-terminated for convenience.
Since: 1.0
The device's current media ID or gstreamer plugin name
gboolean flu_device_is_fake (const FluDevice *device);
Gets the information if device is a fake software device or a real hardware device. Useful to identify a real camera or microphone from emulated devices, for example.
Since: 1.1
TRUE if device is fake, FALSE otherwise
const GList * flu_device_output_formats_get (FluDevice *device);
Gets a list of output formats provided by this device.
Since: 1.1
The list of available output formats. If you need to keep a FluStreamInfo data beyond the lifetime of the FluDevice instance, you can use flu_stream_info_copy() to copy them to a local instance. Don't forget to call flu_stream_info_clear() later on your local instance to free up memory.
[element-type FluStreamInfo][transfer none]
void flu_device_config_clear (FluDeviceConfig *config);
Clear (initialize to default values) a FluDeviceConfig structure and frees associated memory.
Since: 1.1
The information to clear
void flu_device_config_copy (FluDeviceConfig *target, const FluDeviceConfig *src);
Copy the information of a device configuration. This function will copy data from a source FluDeviceConfig into a target structure. While doing so it will first free the members of target to avoid memory leaks. Target does not need to be of the same type as src.
WARNING: Use flu_device_config_clear() to clear and free the information of the struct
Since: 1.1
The FluDeviceConfig to write the information to
The FluDeviceConfig to copy the information from
gboolean flu_device_config_set (FluDevice *device, const FluDeviceConfig *device_config);
WARNING: actual device configuration values are read when connecting the device to a recorder or opening it from a player. Calling flu_device_config_set() AFTER flu_recorder_connect_device() or flu_player_device_open() WILL NOT change recorder or player configurations.
Since: 1.1
TRUE if device has been correctly configured or FALSE otherwise (if device is not configurable or configuration doesn't correspond to the device type, for example)
const FluDeviceConfig * flu_device_config_get (const FluDevice *device);
Gets device configuration or NULL if device is not configurable.
Since: 1.1
Device FluDeviceConfig configuration or NULL if device is not configurable. If you need to keep FluDeviceConfig data beyond the lifetime of the FluDevice instance, you can use flu_device_config_copy() to copy them to a local instance. Don't forget to call flu_device_config_clear() later on your local instance to free up memory.
[transfer none]
Device categories, useful for searching for a specific device or using device-type-specific API
FLU_DEVICE_TYPE_UNKNOWN |
Unknown device type |
FLU_DEVICE_TYPE_DVD_DRIVE |
A DVD drive |
FLU_DEVICE_TYPE_CAMERA |
A video camera |
FLU_DEVICE_TYPE_SCREEN_CAPTURE |
A monitor screen which content can be captured. Useful for recording game sessions or video tutorials. |
FLU_DEVICE_TYPE_MICROPHONE |
An audio recording device |
FLU_DEVICE_TYPE_APP_CAPTURE |
A video surface captured from an application identified by its process ID (PID). |
FLU_DEVICE_CONFIG_APP_CAPTURE_PLATFORM_AUTO |
|
FLU_DEVICE_CONFIG_APP_CAPTURE_PLATFORM_32 |
|
FLU_DEVICE_CONFIG_APP_CAPTURE_PLATFORM_64 |
FLU_DEVICE_CONFIG_APP_CAPTURE_API_AUTO |
Automatically guess application API |
FLU_DEVICE_CONFIG_APP_CAPTURE_API_DX9 |
Application is using DirectX 9 |
FLU_DEVICE_CONFIG_APP_CAPTURE_API_DX11 |
Application is using DirectX 11 |
FLU_DEVICE_CONFIG_APP_CAPTURE_API_DX12 |
Application is using DirectX 12 |
FLU_DEVICE_CONFIG_APP_CAPTURE_INJECT_MODE_STANDARD |
Standard injection mode |
FLU_DEVICE_CONFIG_APP_CAPTURE_INJECT_MODE_STEALTH |
Stealth injection mode |
typedef struct { gint pid; FluDeviceConfigAppCapturePlatform platform; FluDeviceConfigAppCaptureApi api; FluDeviceConfigAppCaptureInjectMode inject_mode; gchar *installation_dir; } FluDeviceConfigAppCapture;
Configuration structure for application capture devices.
Generic configuration data for each configurable device type. Used only in FluDeviceConfig.
typedef struct { FluDeviceType type; FluStreamInfo output_format; FluDeviceConfigData data; } FluDeviceConfig;
typedef struct { } FluDevice;
An opaque structure representing a hardware device. Obtain the list of available devices using flu_device_list_get() and examine each one through the different flu_device_*_get() methods. You also receive an FluDevice in the FLU_EVENT_TYPE_NEW_MEDIA_AVAILABLE and FLU_EVENT_TYPE_MEDIA_REMOVED events.