/*****************************************************************************
* 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 <littlejohn@videolan.org>
* 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
-# 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 libvlc_exception
- * \ingroup libvlc
- * LibVLC Exceptions handling
- * @{
- */
-
-typedef struct libvlc_exception_t
-{
- int b_raised;
- int i_code;
- char *psz_message;
-} libvlc_exception_t;
-
-/**@} */
-
-/*****************************************************************************
- * Time
- *****************************************************************************/
-/** \defgroup libvlc_time libvlc_time
- * \ingroup libvlc
- * LibVLC Time support in libvlc
- * @{
- */
-
-typedef vlc_int64_t libvlc_time_t;
-
-/**@} */
-
-/*****************************************************************************
- * Media Descriptor
- *****************************************************************************/
-/** \defgroup libvlc_media libvlc_media
- * \ingroup libvlc
- * LibVLC Media Descriptor handling
- * @{
- */
-
-/* Meta Handling */
-/** defgroup libvlc_meta libvlc_meta
- * \ingroup libvlc_media
- * LibVLC Media Meta
- * @{
- */
-
-typedef enum libvlc_meta_t {
- libvlc_meta_Title,
- libvlc_meta_Artist,
- libvlc_meta_Genre,
- libvlc_meta_Copyright,
- libvlc_meta_Album,
- libvlc_meta_TrackNumber,
- libvlc_meta_Description,
- libvlc_meta_Rating,
- libvlc_meta_Date,
- libvlc_meta_Setting,
- libvlc_meta_URL,
- libvlc_meta_Language,
- libvlc_meta_NowPlaying,
- libvlc_meta_Publisher,
- libvlc_meta_EncodedBy,
- libvlc_meta_ArtworkURL,
- libvlc_meta_TrackID
-} libvlc_meta_t;
-
-/**@} */
-
-typedef struct libvlc_media_t libvlc_media_t;
-
-/**@} */
-
-
-/*****************************************************************************
- * Media Instance
- *****************************************************************************/
-/** \defgroup libvlc_media_player libvlc_media_player
- * \ingroup libvlc
- * LibVLC Media Instance handling
- * @{
- */
-
-typedef struct libvlc_media_player_t libvlc_media_player_t;
-
-typedef enum libvlc_state_t
-{
- libvlc_NothingSpecial,
- libvlc_Stopped,
- libvlc_Opening,
- libvlc_Buffering,
- libvlc_Ended,
- libvlc_Error,
- libvlc_Playing,
- libvlc_Paused
-} libvlc_state_t;
-
-/**@} */
-
-/*****************************************************************************
- * Media List
- *****************************************************************************/
-/** \defgroup libvlc_media_list libvlc_media_list
- * \ingroup libvlc
- * LibVLC Media List handling
- * @{
- */
-
-typedef struct libvlc_media_list_t libvlc_media_list_t;
-typedef struct libvlc_media_list_view_t libvlc_media_list_view_t;
-
-
-/*****************************************************************************
- * Media List Player
- *****************************************************************************/
-/** \defgroup libvlc_media_list_player libvlc_media_list_player
- * \ingroup libvlc_media_list
- * LibVLC Media List Player handling
- * @{
- */
-
-typedef struct libvlc_media_list_player_t libvlc_media_list_player_t;
-
-/**@} libvlc_media_list_player */
-
-/**@} libvlc_media_list */
-
-/*****************************************************************************
- * Media Library
- *****************************************************************************/
-/** \defgroup libvlc_media_library libvlc_media_library
- * \ingroup libvlc
- * LibVLC Media Library
- * @{
+/**
+ * \file
+ * This file defines libvlc_* new external API structures
*/
-typedef struct libvlc_media_library_t libvlc_media_library_t;
+#include <stdint.h>
-/**@} */
+# ifdef __cplusplus
+extern "C" {
+# endif
-/*****************************************************************************
- * Playlist
- *****************************************************************************/
-/** \defgroup libvlc_playlist libvlc_playlist (Deprecated)
- * \ingroup libvlc
- * LibVLC Playlist handling (Deprecated)
- * @deprecated Use media_list
+/**
+ * \ingroup libvlc_core
* @{
*/
-typedef struct libvlc_playlist_item_t
-{
- 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 libvlc_video
- * \ingroup libvlc_media_player
- * 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 libvlc_rectangle_t
-{
- int top, left;
- int bottom, right;
-}
-libvlc_rectangle_t;
-
-/**@} */
-
-
-/*****************************************************************************
- * Services/Media Discovery
- *****************************************************************************/
-/** \defgroup libvlc_media_discoverer libvlc_media_discoverer
- * \ingroup libvlc
- * LibVLC Media Discoverer
- * @{
- */
-
-typedef struct libvlc_media_discoverer_t libvlc_media_discoverer_t;
-
-/**@} */
-
-/*****************************************************************************
- * Message log handling
- *****************************************************************************/
-
-/** \defgroup libvlc_log libvlc_log
- * \ingroup libvlc
- * LibVLC Message Logging
+ * \ingroup libvlc_log
* @{
*/