]> git.sesse.net Git - vlc/blobdiff - include/vlc/libvlc.h
Revert "Remove libvlc_free"
[vlc] / include / vlc / libvlc.h
index 36b263feef32c270754f3b06ff778ecaeb363666..5b8c265f51c2403afc9f1d1f5869f2f8ed4e718d 100644 (file)
@@ -89,21 +89,21 @@ VLC_PUBLIC_API const char *libvlc_errmsg (void);
 
 /**
  * Clears the LibVLC error status for the current thread. This is optional.
- * By default, the error status is automatically overriden when a new error
+ * By default, the error status is automatically overridden when a new error
  * occurs, and destroyed when the thread exits.
  */
 VLC_PUBLIC_API void libvlc_clearerr (void);
 
 /**
  * Sets the LibVLC error status and message for the current thread.
- * Any previous error is overriden.
+ * Any previous error is overridden.
  * \return a nul terminated string in any case
  */
 const char *libvlc_vprinterr (const char *fmt, va_list ap);
 
 /**
  * Sets the LibVLC error status and message for the current thread.
- * Any previous error is overriden.
+ * Any previous error is overridden.
  * \return a nul terminated string in any case
  */
 const char *libvlc_printerr (const char *fmt, ...);
@@ -112,9 +112,24 @@ const char *libvlc_printerr (const char *fmt, ...);
 
 /**
  * Create and initialize a libvlc instance.
- *
- * \param argc the number of arguments
- * \param argv command-line-type arguments
+ * This functions accept a list of "command line" arguments similar to the
+ * main(). These arguments affect the LibVLC instance default configuration.
+ *
+ * \version
+ * Arguments are meant to be passed from the command line to LibVLC, just like
+ * VLC media player does. The list of valid arguments depends on the LibVLC
+ * version, the operating system and platform, and set of available LibVLC
+ * plugins. Invalid or unsupported arguments will cause the function to fail
+ * (i.e. return NULL). Also, some arguments may alter the behaviour or
+ * otherwise interfere with other LibVLC functions.
+ *
+ * \warning
+ * There is absolutely no warranty or promise of forward, backward and
+ * cross-platform compatibility with regards to libvlc_new() arguments.
+ * We recommend that you do not use them, other than when debugging.
+ *
+ * \param argc the number of arguments (should be 0)
+ * \param argv list of arguments (should be NULL)
  * \return the libvlc instance or NULL in case of error
  */
 VLC_PUBLIC_API libvlc_instance_t *
@@ -211,6 +226,14 @@ VLC_PUBLIC_API const char * libvlc_get_compiler(void);
  */
 VLC_PUBLIC_API const char * libvlc_get_changeset(void);
 
+/**
+ * Frees an heap allocation returned by a LibVLC function.
+ * If you know you're using the same underlying C run-time as the LibVLC
+ * implementation, then you can call ANSI C free() directly instead.
+ *
+ * \param ptr the pointer
+ */
+VLC_PUBLIC_API void libvlc_free( void *ptr );
 
 /** \defgroup libvlc_event LibVLC asynchronous events
  * LibVLC emits asynchronous events.