]> git.sesse.net Git - vlc/commitdiff
control/audio.c: Implement get_audio_track_count. (Patch by Enrique Osuna).
authorPierre d'Herbemont <pdherbemont@videolan.org>
Thu, 25 Oct 2007 12:34:12 +0000 (12:34 +0000)
committerPierre d'Herbemont <pdherbemont@videolan.org>
Thu, 25 Oct 2007 12:34:12 +0000 (12:34 +0000)
src/control/audio.c

index a0d5fcc50914cc1755e98d3ce1e9bfeb803361dc..09d627c0e08dbe512bb2e859443be9545b2df27a 100644 (file)
@@ -114,6 +114,23 @@ void libvlc_audio_set_volume( libvlc_instance_t *p_instance, int i_volume,
     }
 }
 
+/*****************************************************************************
+ * libvlc_audio_get_track_count : Get the number of available audio tracks
+ *****************************************************************************/
+int libvlc_audio_get_track_count( libvlc_media_instance_t *p_mi, 
+                                  libvlc_exception_t *p_e )
+{
+    input_thread_t *p_input_thread = libvlc_get_input_thread( p_mi, p_e );
+    vlc_value_t val_list;
+
+    if( !p_input_thread )
+        return -1;
+
+    var_Change( p_input_thread, "audio-es", VLC_VAR_GETCHOICES, &val_list, NULL );
+    vlc_object_release( p_input_thread );
+    return val_list.p_list->i_count;
+}
+
 /*****************************************************************************
  * libvlc_audio_get_track : Get the current audio track
  *****************************************************************************/
@@ -152,6 +169,7 @@ int libvlc_audio_get_track( libvlc_media_instance_t *p_mi,
     return i_track;
 }
 
+
 /*****************************************************************************
  * libvlc_audio_set_track : Set the current audio track
  *****************************************************************************/