Commit a60b897e authored by Mark Lee's avatar Mark Lee Committed by Jean-Baptiste Kempf

lib: add libvlc_audio_output_device_get()

This function gets the active device identifier for the current
audio output, if there is one, and is the complementary function
to libvlc_audio_output_device_set().
Signed-off-by: Jean-Baptiste Kempf's avatarJean-Baptiste Kempf <>
parent a4dfd656
......@@ -87,6 +87,8 @@ libVLC:
* Add libvlc_media_get_codec_description to get a human readable description of a codec
* Add libvlc_MediaListEndReached Event to get notified when a media list reached the end
* Add libvlc_media_parse_with_options that uses a flag to specify parse options
* Add libvlc_audio_output_device_get to get the currently selected audio output device
identifier (if there is one available)
Changes between 2.1.x and 2.2.0:
......@@ -1570,6 +1570,30 @@ LIBVLC_API void libvlc_audio_output_device_set( libvlc_media_player_t *mp,
const char *module,
const char *device_id );
* Get the current audio output device identifier.
* This complements libvlc_audio_output_device_set().
* \warning The initial value for the current audio output device identifier
* may not be set or may be some unknown value. A LibVLC application should
* compare this value against the known device identifiers (e.g. those that
* were previously retrieved by a call to libvlc_audio_output_device_enum or
* libvlc_audio_output_device_list_get) to find the current audio output device.
* It is possible that the selected audio output device changes (an external
* change) without a call to libvlc_audio_output_device_set. That may make this
* method unsuitable to use if a LibVLC application is attempting to track
* dynamic audio device changes as they happen.
* \param mp media player
* \return the current audio output device identifier
* NULL if no device is selected or in case of error
* (the result must be released with free() or libvlc_free()).
* \version LibVLC 3.0.0 or later.
LIBVLC_API char *libvlc_audio_output_device_get( libvlc_media_player_t *mp );
* Stub for backward compatibility.
* \return always -1.
......@@ -277,6 +277,19 @@ void libvlc_audio_output_device_set( libvlc_media_player_t *mp,
vlc_object_release( aout );
char *libvlc_audio_output_device_get( libvlc_media_player_t *mp )
audio_output_t *aout = GetAOut( mp );
if( aout == NULL )
return NULL;
char *devid = aout_DeviceGet( aout );
vlc_object_release( aout );
return devid;
int libvlc_audio_output_get_device_type( libvlc_media_player_t *mp )
(void) mp;
......@@ -15,6 +15,7 @@ libvlc_audio_equalizer_release
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment