X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc%2Fvlc.h;h=d8e00dcd9e3b4a78478704b10d5e96d01feac040;hb=9353736bd427c993fd57d1ec3fbc5db3042fe118;hp=e89cd477f88abb099157d6d9b27b7fc5dcaee238;hpb=85b29bdc288a1573d43bd524908be5748a9b3640;p=vlc diff --git a/include/vlc/vlc.h b/include/vlc/vlc.h index e89cd477f8..d8e00dcd9e 100644 --- a/include/vlc/vlc.h +++ b/include/vlc/vlc.h @@ -1,7 +1,7 @@ /***************************************************************************** - * vlc.h: global header for vlc + * vlc.h: global header for libvlc (old-style) ***************************************************************************** - * Copyright (C) 1998-2004 VideoLAN (Centrale Réseaux) and its contributors + * Copyright (C) 1998-2004 the VideoLAN team * $Id$ * * Authors: Vincent Seguin @@ -21,12 +21,13 @@ * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ /** - * \defgroup libvlc Libvlc + * \defgroup libvlc_old Libvlc Old * This is libvlc, the base library of the VLC program. + * This is the legacy API. Please consider using the new libvlc API * * @{ */ @@ -46,6 +47,12 @@ typedef int vlc_bool_t; typedef struct vlc_list_t vlc_list_t; typedef struct vlc_object_t vlc_object_t; +#if (defined( WIN32 ) || defined( UNDER_CE )) && !defined( __MINGW32__ ) +typedef signed __int64 vlc_int64_t; +# else +typedef signed long long vlc_int64_t; +#endif + /** * \defgroup var_type Variable types * These are the different types a vlc variable can have. @@ -79,12 +86,7 @@ typedef union void * p_address; vlc_object_t * p_object; vlc_list_t * p_list; - -#if (defined( WIN32 ) || defined( UNDER_CE )) && !defined( __MINGW32__ ) - signed __int64 i_time; -# else - signed long long i_time; -#endif + vlc_int64_t i_time; struct { char *psz_name; int i_object_id; } var; @@ -120,7 +122,10 @@ struct vlc_list_t #define VLC_ENOVAR -30 /* Variable not found */ #define VLC_EBADVAR -31 /* Bad variable value */ +#define VLC_ENOITEM -40 /**< Item not found */ + #define VLC_EEXIT -255 /* Program exited */ +#define VLC_EEXITSUCCESS -999 /* Program exited successfully */ #define VLC_EGENERIC -666 /* Generic error */ /***************************************************************************** @@ -135,30 +140,81 @@ struct vlc_list_t /* Used by VLC_AddTarget() */ #define PLAYLIST_INSERT 0x0001 -#define PLAYLIST_REPLACE 0x0002 -#define PLAYLIST_APPEND 0x0004 -#define PLAYLIST_GO 0x0008 -#define PLAYLIST_CHECK_INSERT 0x0010 +#define PLAYLIST_APPEND 0x0002 +#define PLAYLIST_GO 0x0004 +#define PLAYLIST_PREPARSE 0x0008 +#define PLAYLIST_SPREPARSE 0x0010 +#define PLAYLIST_NO_REBUILD 0x0020 #define PLAYLIST_END -666 /***************************************************************************** * Required internal headers *****************************************************************************/ -#if defined( __VLC__ ) +#if defined( __LIBVLC__ ) # include "vlc_common.h" #endif /***************************************************************************** - * Exported libvlc API + * Shared library Export macros *****************************************************************************/ +#ifndef VLC_PUBLIC_API +# define VLC_PUBLIC_API extern +#endif +/***************************************************************************** + * Exported libvlc API + *****************************************************************************/ +#if !defined( __LIBVLC__ ) +/* Otherwise they are declared and exported in vlc_common.h */ /** * Retrieve libvlc version * * \return a string containing the libvlc version */ -char const * VLC_Version ( void ); +VLC_PUBLIC_API char const * VLC_Version ( void ); + +/** + * Retrieve libvlc compile time + * + * \return a string containing the libvlc compile time + */ +VLC_PUBLIC_API char const * VLC_CompileTime ( void ); + +/** + * Retrieve the username of the libvlc builder + * + * \return a string containing the username of the libvlc builder + */ +VLC_PUBLIC_API char const * VLC_CompileBy ( void ); + +/** + * Retrieve the host of the libvlc builder + * + * \return a string containing the host of the libvlc builder + */ +VLC_PUBLIC_API char const * VLC_CompileHost ( void ); + +/** + * Retrieve the domain name of the host of the libvlc builder + * + * \return a string containing the domain name of the host of the libvlc builder + */ +VLC_PUBLIC_API char const * VLC_CompileDomain ( void ); + +/** + * Retrieve libvlc compiler version + * + * \return a string containing the libvlc compiler version + */ +VLC_PUBLIC_API char const * VLC_Compiler ( void ); + +/** + * Retrieve libvlc changeset + * + * \return a string containing the libvlc subversion changeset + */ +VLC_PUBLIC_API char const * VLC_Changeset ( void ); /** * Return an error string @@ -166,7 +222,9 @@ char const * VLC_Version ( void ); * \param i_err an error code * \return an error string */ -char const * VLC_Error ( int i_err ); +VLC_PUBLIC_API char const * VLC_Error ( int i_err ); + +#endif /* __LIBVLC__ */ /** * Initialize libvlc @@ -176,7 +234,7 @@ char const * VLC_Error ( int i_err ); * * \return vlc object id or an error code */ -int VLC_Create( void ); +VLC_PUBLIC_API int VLC_Create( void ); /** * Initialize a vlc_t structure @@ -192,7 +250,7 @@ int VLC_Create( void ); * \param ppsz_argv an array of arguments * \return VLC_SUCCESS on success */ -int VLC_Init( int, int, char *[] ); +VLC_PUBLIC_API int VLC_Init( int, int, const char *[] ); /** * Add an interface @@ -208,18 +266,18 @@ int VLC_Init( int, int, char *[] ); * \param b_play start playing when the interface is done loading * \return VLC_SUCCESS on success */ -int VLC_AddIntf( int, char const *, vlc_bool_t, vlc_bool_t ); +VLC_PUBLIC_API int VLC_AddIntf( int, char const *, vlc_bool_t, vlc_bool_t ); /** * Ask vlc to die * - * This function sets p_vlc->b_die to VLC_TRUE, but does not do any other + * This function sets p_libvlc->b_die to VLC_TRUE, but does not do any other * task. It is your duty to call VLC_CleanUp and VLC_Destroy afterwards. * * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_Die( int ); +VLC_PUBLIC_API int VLC_Die( int ); /** * Clean up all the intf, playlist, vout and aout @@ -232,19 +290,19 @@ int VLC_Die( int ); * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_CleanUp( int ); +VLC_PUBLIC_API int VLC_CleanUp( int ); /** * Destroy all threads and the VLC object * * This function requests the running threads to finish, waits for their * termination, and destroys their structure. - * Then it will de-init all VLC object initializations. + * Then it will de-init all VLC object initializations. * * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_Destroy( int ); +VLC_PUBLIC_API int VLC_Destroy( int ); /** * Set a VLC variable @@ -258,7 +316,7 @@ int VLC_Destroy( int ); * \param value a vlc_value_t structure * \return VLC_SUCCESS on success */ -int VLC_VariableSet( int, char const *, vlc_value_t ); +VLC_PUBLIC_API int VLC_VariableSet( int, char const *, vlc_value_t ); /** * Get a VLC variable @@ -273,7 +331,7 @@ int VLC_VariableSet( int, char const *, vlc_value_t ); * \param p_value a pointer to a vlc_value_t structure * \return VLC_SUCCESS on success */ -int VLC_VariableGet( int, char const *, vlc_value_t * ); +VLC_PUBLIC_API int VLC_VariableGet( int, char const *, vlc_value_t * ); /** * Get a VLC variable type @@ -286,7 +344,7 @@ int VLC_VariableGet( int, char const *, vlc_value_t * ); * \param pi_type a pointer to an integer * \return VLC_SUCCESS on success */ -int VLC_VariableType( int, char const *, int * ); +VLC_PUBLIC_API int VLC_VariableType( int, char const *, int * ); /** * Add a target to the current playlist @@ -300,9 +358,9 @@ int VLC_VariableType( int, char const *, int * ); * \param i_options the amount of options in the ppsz_options array * \param i_mode the insert mode to insert the target into the playlist (PLAYLIST_* defines) * \param i_pos the position at which to add the new target (PLAYLIST_END for end) - * \return VLC_SUCCESS on success + * \return the item id on success and -1 on error */ -int VLC_AddTarget( int, char const *, const char **, int, int, int ); +VLC_PUBLIC_API int VLC_AddTarget( int, char const *, const char **, int, int, int ); /** * Start the playlist and play the currently selected playlist item @@ -314,7 +372,7 @@ int VLC_AddTarget( int, char const *, const char **, int, int, int ); * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_Play( int ); +VLC_PUBLIC_API int VLC_Play( int ); /** * Pause the currently playing item. Resume it if already paused @@ -325,7 +383,7 @@ int VLC_Play( int ); * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_Pause( int ); +VLC_PUBLIC_API int VLC_Pause( int ); /** * Stop the playlist @@ -338,7 +396,7 @@ int VLC_Pause( int ); * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_Stop( int ); +VLC_PUBLIC_API int VLC_Stop( int ); /** * Tell if VLC is playing @@ -349,7 +407,7 @@ int VLC_Stop( int ); * \param i_object a vlc object id * \return VLC_TRUE or VLC_FALSE */ -vlc_bool_t VLC_IsPlaying( int ); +VLC_PUBLIC_API vlc_bool_t VLC_IsPlaying( int ); /** * Get the current position in a input @@ -361,7 +419,7 @@ vlc_bool_t VLC_IsPlaying( int ); * \param i_object a vlc object id * \return a float in the range of 0.0 - 1.0 */ -float VLC_PositionGet( int ); +VLC_PUBLIC_API float VLC_PositionGet( int ); /** * Set the current position in a input @@ -374,7 +432,7 @@ float VLC_PositionGet( int ); * \param i_position a float in the range of 0.0 - 1.0 * \return a float in the range of 0.0 - 1.0 */ -float VLC_PositionSet( int, float ); +VLC_PUBLIC_API float VLC_PositionSet( int, float ); /** * Get the current position in a input @@ -385,7 +443,7 @@ float VLC_PositionSet( int, float ); * \param i_object a vlc object id * \return the offset from 0:00 in seconds */ -int VLC_TimeGet( int ); +VLC_PUBLIC_API int VLC_TimeGet( int ); /** * Seek to a position in the current input @@ -400,7 +458,7 @@ int VLC_TimeGet( int ); * \param b_relative seek relative from current position * \return VLC_SUCCESS on success */ -int VLC_TimeSet( int, int, vlc_bool_t ); +VLC_PUBLIC_API int VLC_TimeSet( int, int, vlc_bool_t ); /** * Get the total length of a input @@ -411,7 +469,7 @@ int VLC_TimeSet( int, int, vlc_bool_t ); * \param i_object a vlc object id * \return the length in seconds */ -int VLC_LengthGet( int ); +VLC_PUBLIC_API int VLC_LengthGet( int ); /** * Play the input faster than realtime @@ -422,7 +480,7 @@ int VLC_LengthGet( int ); * \param i_object a vlc object id * \return the current speedrate */ -float VLC_SpeedFaster( int ); +VLC_PUBLIC_API float VLC_SpeedFaster( int ); /** * Play the input slower than realtime @@ -433,7 +491,7 @@ float VLC_SpeedFaster( int ); * \param i_object a vlc object id * \return the current speedrate */ -float VLC_SpeedSlower( int ); +VLC_PUBLIC_API float VLC_SpeedSlower( int ); /** * Return the current playlist item @@ -441,7 +499,7 @@ float VLC_SpeedSlower( int ); * \param i_object a vlc object id * \return the index of the playlistitem that is currently selected for play */ -int VLC_PlaylistIndex( int ); +VLC_PUBLIC_API int VLC_PlaylistIndex( int ); /** * Total amount of items in the playlist @@ -449,7 +507,7 @@ int VLC_PlaylistIndex( int ); * \param i_object a vlc object id * \return amount of playlist items */ -int VLC_PlaylistNumberOfItems( int ); +VLC_PUBLIC_API int VLC_PlaylistNumberOfItems( int ); /** * Next playlist item @@ -459,7 +517,7 @@ int VLC_PlaylistNumberOfItems( int ); * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_PlaylistNext( int ); +VLC_PUBLIC_API int VLC_PlaylistNext( int ); /** * Previous playlist item @@ -469,7 +527,7 @@ int VLC_PlaylistNext( int ); * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_PlaylistPrev( int ); +VLC_PUBLIC_API int VLC_PlaylistPrev( int ); /** * Clear the contents of the playlist @@ -481,7 +539,7 @@ int VLC_PlaylistPrev( int ); * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_PlaylistClear( int ); +VLC_PUBLIC_API int VLC_PlaylistClear( int ); /** * Change the volume @@ -490,7 +548,7 @@ int VLC_PlaylistClear( int ); * \param i_volume something in a range from 0-200 * \return the new volume (range 0-200 %) */ -int VLC_VolumeSet( int, int ); +VLC_PUBLIC_API int VLC_VolumeSet( int, int ); /** * Get the current volume @@ -500,7 +558,7 @@ int VLC_VolumeSet( int, int ); * \param i_object a vlc object id * \return the current volume (range 0-200 %) */ -int VLC_VolumeGet( int ); +VLC_PUBLIC_API int VLC_VolumeGet( int ); /** * Mute/Unmute the volume @@ -508,7 +566,7 @@ int VLC_VolumeGet( int ); * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_VolumeMute( int ); +VLC_PUBLIC_API int VLC_VolumeMute( int ); /** * Toggle Fullscreen mode @@ -518,11 +576,17 @@ int VLC_VolumeMute( int ); * \param i_object a vlc object id * \return VLC_SUCCESS on success */ -int VLC_FullScreen( int ); +VLC_PUBLIC_API int VLC_FullScreen( int ); # ifdef __cplusplus } # endif +#define LICENSE_MSG \ + _("This program comes with NO WARRANTY, to the extent permitted by " \ + "law.\nYou may redistribute it under the terms of the GNU General " \ + "Public License;\nsee the file named COPYING for details.\n" \ + "Written by the VideoLAN team; see the AUTHORS file.\n") + #endif /* */