*/
/**
- * Create an initialized libvlc instance
+ * Create an initialized libvlc instance.
* \param argc the number of arguments
* \param argv command-line-type arguments
* \param exception an initialized exception pointer
VLC_PUBLIC_API int libvlc_get_vlc_id( libvlc_instance_t *p_instance );
/**
- * Destroy a libvlc instance.
+ * Decrements the reference count of a libvlc instance, and destroys it
+ * if it reaches zero.
* \param p_instance the instance to destroy
*/
-VLC_PUBLIC_API void libvlc_destroy( libvlc_instance_t *, libvlc_exception_t * );
+VLC_PUBLIC_API void libvlc_release( libvlc_instance_t *, libvlc_exception_t * );
+
+/**
+ * Increments the reference count of a libvlc instance.
+ * The reference count is initially one when libvlc_new() returns.
+ */
+VLC_PUBLIC_API void libvlc_retain( libvlc_instance_t * );
/** @}*/
const char * psz_mrl,
libvlc_exception_t *p_e );
+/**
+ * Create a media descriptor as an empty node with the passed name.
+ * \param p_instance the instance
+ * \param psz_name the name of the node
+ */
+VLC_PUBLIC_API libvlc_media_descriptor_t * libvlc_media_descriptor_new_as_node(
+ libvlc_instance_t *p_instance,
+ const char * psz_name,
+ libvlc_exception_t *p_e );
+
+/**
+ * Add an option to the media descriptor,
+ * This option will be used to determine how the media_instance will
+ * read the media_descriptor. This allow to use VLC advanced
+ * reading/streaming options in a per-media basis.
+ *
+ * The options are detailled in vlc --long-help, for instance "--sout-all"
+ * \param p_instance the instance
+ * \param psz_mrl the mrl to read
+ */
+VLC_PUBLIC_API void libvlc_media_descriptor_add_option(
+ libvlc_media_descriptor_t * p_md,
+ const char * ppsz_options,
+ libvlc_exception_t * p_e );
+
VLC_PUBLIC_API void libvlc_media_descriptor_retain(
libvlc_media_descriptor_t *p_meta_desc );
libvlc_meta_t e_meta,
libvlc_exception_t *p_e );
+VLC_PUBLIC_API libvlc_state_t libvlc_media_descriptor_get_state(
+ libvlc_media_descriptor_t *p_meta_desc,
+ libvlc_exception_t *p_e );
+
/* Tags */
VLC_PUBLIC_API void libvlc_media_descriptor_add_tag( libvlc_media_descriptor_t *p_md,
const char * key,
VLC_PUBLIC_API int libvlc_playlist_delete_item( libvlc_instance_t *, int,
libvlc_exception_t * );
-/* Get the input that is currently being played by the playlist
+/** Get the input that is currently being played by the playlist
* \param p_instance the instance to use
* \param p_exception an initialized excecption
* \return an input object
VLC_PUBLIC_API void libvlc_media_instance_set_drawable ( libvlc_media_instance_t *, libvlc_drawable_t, libvlc_exception_t * );
-/// \bug This might go away ... to be replaced by a broader system
+/** \bug This might go away ... to be replaced by a broader system */
VLC_PUBLIC_API vlc_int64_t libvlc_media_instance_get_length ( libvlc_media_instance_t *, libvlc_exception_t *);
VLC_PUBLIC_API vlc_int64_t libvlc_media_instance_get_time ( libvlc_media_instance_t *, libvlc_exception_t *);
VLC_PUBLIC_API void libvlc_media_instance_set_time ( libvlc_media_instance_t *, vlc_int64_t, libvlc_exception_t *);
VLC_PUBLIC_API float libvlc_media_instance_get_position ( libvlc_media_instance_t *, libvlc_exception_t *);
VLC_PUBLIC_API void libvlc_media_instance_set_position ( libvlc_media_instance_t *, float, libvlc_exception_t *);
+VLC_PUBLIC_API void libvlc_media_instance_set_chapter ( libvlc_media_instance_t *, int, libvlc_exception_t *);
+VLC_PUBLIC_API int libvlc_media_instance_get_chapter (libvlc_media_instance_t *, libvlc_exception_t *);
+VLC_PUBLIC_API int libvlc_media_instance_get_chapter_count( libvlc_media_instance_t *, libvlc_exception_t *);
VLC_PUBLIC_API vlc_bool_t libvlc_media_instance_will_play ( libvlc_media_instance_t *, libvlc_exception_t *);
VLC_PUBLIC_API float libvlc_media_instance_get_rate ( libvlc_media_instance_t *, libvlc_exception_t *);
VLC_PUBLIC_API void libvlc_media_instance_set_rate ( libvlc_media_instance_t *, float, libvlc_exception_t *);
-VLC_PUBLIC_API libvlc_state_t libvlc_media_instance_get_state ( libvlc_media_instance_t *, libvlc_exception_t *);
+VLC_PUBLIC_API libvlc_state_t libvlc_media_instance_get_state ( libvlc_media_instance_t *, libvlc_exception_t *);
/**
* Does this input have a video output ?
VLC_PUBLIC_API void
libvlc_media_list_unlock( libvlc_media_list_t * );
-VLC_PUBLIC_API libvlc_media_list_t *
- libvlc_media_list_flat_media_list( libvlc_media_list_t *,
- libvlc_exception_t * );
+VLC_PUBLIC_API libvlc_media_list_view_t *
+ libvlc_media_list_flat_view( libvlc_media_list_t *,
+ libvlc_exception_t * );
+
+VLC_PUBLIC_API libvlc_media_list_view_t *
+ libvlc_media_list_hierarchical_view( libvlc_media_list_t *,
+ libvlc_exception_t * );
VLC_PUBLIC_API libvlc_event_manager_t *
libvlc_media_list_event_manager( libvlc_media_list_t *,
- libvlc_exception_t * );
+ libvlc_exception_t * );
/** @} */
VLC_PUBLIC_API void
libvlc_media_list_view_release( libvlc_media_list_view_t * p_mlv );
+VLC_PUBLIC_API libvlc_event_manager_t *
+ libvlc_media_list_view_event_manager( libvlc_media_list_view_t * p_mlv );
+
VLC_PUBLIC_API int
libvlc_media_list_view_count( libvlc_media_list_view_t * p_mlv,
libvlc_exception_t * p_e );
int index,
libvlc_exception_t * p_e );
+VLC_PUBLIC_API libvlc_media_list_view_t *
+ libvlc_media_list_view_children_at_index( libvlc_media_list_view_t * p_mlv,
+ int index,
+ libvlc_exception_t * p_e );
+
+
VLC_PUBLIC_API int
libvlc_media_list_view_index_of_item( libvlc_media_list_view_t * p_mlv,
libvlc_media_descriptor_t * p_md,
libvlc_media_descriptor_t * p_md,
libvlc_exception_t * p_e );
+VLC_PUBLIC_API libvlc_media_list_t *
+ libvlc_media_list_view_parent_media_list( libvlc_media_list_view_t * p_mlv,
+ libvlc_exception_t * p_e );
+
/** @} */
/*****************************************************************************
*/
VLC_PUBLIC_API void libvlc_video_set_crop_geometry( libvlc_media_instance_t *, char *, libvlc_exception_t * );
+/**
+ * Toggle teletext transparent status on video output
+ * \param p_input the input
+ * \param p_exception an initialized exception
+ */
+VLC_PUBLIC_API void libvlc_toggle_teletext( libvlc_media_instance_t *, libvlc_exception_t * );
+
/**
* Get current teletext page requested.
* \param p_input the input
/**
* Take a snapshot of the current video window
+ * If i_width AND i_height is 0, original size is used
+ * if i_width XOR i_height is 0, original aspect-ratio is preserved
* \param p_input the input
* \param psz_filepath the path where to save the screenshot to
+ * \param i_width the snapshot's width
+ * \param i_height the snapshot's height
* \param p_exception an initialized exception
*/
-VLC_PUBLIC_API void libvlc_video_take_snapshot( libvlc_media_instance_t *, char *, libvlc_exception_t * );
+VLC_PUBLIC_API void libvlc_video_take_snapshot( libvlc_media_instance_t *, char *,unsigned int, unsigned int, libvlc_exception_t * );
VLC_PUBLIC_API int libvlc_video_destroy( libvlc_media_instance_t *, libvlc_exception_t *);
*/
VLC_PUBLIC_API void libvlc_audio_set_volume( libvlc_instance_t *, int, libvlc_exception_t *);
+/**
+ * Get number of available audio tracks
+ * \param p_mi media instance
+ * \param p_e an initialized exception
+ * \return the number of available audio tracks (int)
+ */
+VLC_PUBLIC_API int libvlc_audio_get_track_count( libvlc_media_instance_t *, libvlc_exception_t * );
+
/**
+ * Get current audio track
+ * \param p_input input instance
* \param p_instance libvlc instance
* \param exception an initialized exception pointer
*/
-VLC_PUBLIC_API libvlc_log_t *libvlc_log_open( const libvlc_instance_t *, libvlc_exception_t *);
+VLC_PUBLIC_API libvlc_log_t *libvlc_log_open( libvlc_instance_t *, libvlc_exception_t *);
/**
* Close an instance of VLC message log
* Get an event type name
* \param i_event_type the desired event
*/
-#define libvlc_event_type_name(a) #a
+VLC_PUBLIC_API const char * libvlc_event_type_name( libvlc_event_type_t event_type );
/** @} */