X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=include%2Fvlc%2Flibvlc_structures.h;h=b76f2df6ab34b77fa1196f627aab68b6905bc17c;hb=4b9c63a36eded246ad9ef1ea0de0cf7b38d29ad9;hp=d04533fa6294268c060eb9e9d95dd814e48228d5;hpb=34f81612d956bfc7ad53fb7937b7d38d9cdec730;p=vlc diff --git a/include/vlc/libvlc_structures.h b/include/vlc/libvlc_structures.h index d04533fa62..b76f2df6ab 100644 --- a/include/vlc/libvlc_structures.h +++ b/include/vlc/libvlc_structures.h @@ -1,7 +1,7 @@ /***************************************************************************** * libvlc.h: libvlc_* new external API structures ***************************************************************************** - * Copyright (C) 1998-2007 the VideoLAN team + * Copyright (C) 1998-2008 the VideoLAN team * $Id $ * * Authors: Filippo Carone @@ -21,134 +21,34 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ -#ifndef _LIBVLC_STRUCTURES_H -#define _LIBVLC_STRUCTURES_H 1 +#ifndef LIBVLC_STRUCTURES_H +#define LIBVLC_STRUCTURES_H 1 -#include +/** + * \file + * This file defines libvlc_* new external API structures + */ + +#include # ifdef __cplusplus extern "C" { # endif -/** This structure is opaque. It represents a libvlc instance */ -typedef struct libvlc_instance_t libvlc_instance_t; - -/***************************************************************************** - * Exceptions - *****************************************************************************/ - -/** defgroup libvlc_exception Exceptions - * \ingroup libvlc - * LibVLC Exceptions handling - * @{ - */ - -typedef struct -{ - int b_raised; - int i_code; - char *psz_message; -} libvlc_exception_t; - -/**@} */ - -/***************************************************************************** - * Media Descriptor - *****************************************************************************/ -/** defgroup libvlc_media_descriptor MediaDescriptor - * \ingroup libvlc - * LibVLC Media Descriptor handling - * @{ - */ - -/* Meta Handling */ -/** defgroup libvlc_meta Meta - * \ingroup libvlc_media_descriptor - * LibVLC Media Meta - * @{ - */ - -typedef enum { - libvlc_meta_Title, - libvlc_meta_Artist -} libvlc_meta_t; - -/**@} */ - -typedef struct libvlc_media_descriptor_t libvlc_media_descriptor_t; - -/**@} */ - -/***************************************************************************** - * Media Instance - *****************************************************************************/ -/** defgroup libvlc_media_instance MediaInstance - * \ingroup libvlc - * LibVLC Media Instance handling - * @{ - */ - -typedef struct libvlc_media_instance_t libvlc_media_instance_t; - -/**@} */ - - -/***************************************************************************** - * Playlist - *****************************************************************************/ -/** defgroup libvlc_playlist Playlist - * \ingroup libvlc - * LibVLC Playlist handling +/** + * \ingroup libvlc_core * @{ */ -typedef struct { - int i_id; - char * psz_uri; - char * psz_name; +/** This structure is opaque. It represents a libvlc instance */ +typedef struct libvlc_instance_t libvlc_instance_t; -} libvlc_playlist_item_t; +typedef int64_t libvlc_time_t; /**@} */ - -/***************************************************************************** - * Video - *****************************************************************************/ -/** defgroup libvlc_video Video - * \ingroup libvlc - * LibVLC Video handling - * @{ - */ - /** -* Downcast to this general type as placeholder for a platform specific one, such as: -* Drawable on X11, -* CGrafPort on MacOSX, -* HWND on win32 -*/ -typedef int libvlc_drawable_t; - -/** -* Rectangle type for video geometry -*/ -typedef struct -{ - int top, left; - int bottom, right; -} -libvlc_rectangle_t; - -/**@} */ - - -/***************************************************************************** - * Message log handling - *****************************************************************************/ - -/** defgroup libvlc_log Log - * \ingroup libvlc - * LibVLC Message Logging + * \ingroup libvlc_log * @{ */ @@ -170,54 +70,6 @@ typedef struct libvlc_log_message_t /**@} */ -/***************************************************************************** - * Callbacks handling - *****************************************************************************/ - -/** defgroup libvlc_callbacks Callbacks - * \ingroup libvlc - * LibVLC Event Callbacks - * @{ - */ - -/** - * Available events: - * - libvlc_VolumeChanged - * - libvlc_InputPositionChanged - */ - -typedef enum { - libvlc_VolumeChanged, - libvlc_InputPositionChanged, -} libvlc_event_type_t; - -typedef struct -{ - libvlc_event_type_t type; - union - { - struct - { - int new_volume; - } volume_changed; - struct - { - vlc_int64_t new_position; - } input_position_changed; - } u; -} libvlc_event_t; - -/** - * Callback function notification - * \param p_instance the libvlc instance - * \param p_event the event triggering the callback - * \param p_user_data user provided data - */ - -typedef void ( *libvlc_callback_t )( struct libvlc_instance_t *, libvlc_event_t *, void * ); - -/**@} */ - # ifdef __cplusplus } # endif