home *** CD-ROM | disk | FTP | other *** search
/ mail.altrad.com / 2015.02.mail.altrad.com.tar / mail.altrad.com / TEST / vlc-2-0-5-win32.exe / sdk / include / vlc / libvlc_media_library.h < prev    next >
C/C++ Source or Header  |  2012-12-12  |  3KB  |  100 lines

  1. /*****************************************************************************
  2.  * libvlc.h:  libvlc external API
  3.  *****************************************************************************
  4.  * Copyright (C) 1998-2009 VLC authors and VideoLAN
  5.  * $Id: b9a8153ac58186260481e99c8a6b5b5a84e06d9b $
  6.  *
  7.  * Authors: Cl├⌐ment Stenac <zorglub@videolan.org>
  8.  *          Jean-Paul Saman <jpsaman@videolan.org>
  9.  *          Pierre d'Herbemont <pdherbemont@videolan.org>
  10.  *
  11.  * This program is free software; you can redistribute it and/or modify it
  12.  * under the terms of the GNU Lesser General Public License as published by
  13.  * the Free Software Foundation; either version 2.1 of the License, or
  14.  * (at your option) any later version.
  15.  *
  16.  * This program is distributed in the hope that it will be useful,
  17.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  18.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  19.  * GNU Lesser General Public License for more details.
  20.  *
  21.  * You should have received a copy of the GNU Lesser General Public License
  22.  * along with this program; if not, write to the Free Software Foundation,
  23.  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  24.  *****************************************************************************/
  25.  
  26. /**
  27.  * \file
  28.  * This file defines libvlc_media_library external API
  29.  */
  30.  
  31. #ifndef VLC_LIBVLC_MEDIA_LIBRARY_H
  32. #define VLC_LIBVLC_MEDIA_LIBRARY_H 1
  33.  
  34. # ifdef __cplusplus
  35. extern "C" {
  36. # endif
  37.  
  38. /** \defgroup libvlc_media_library LibVLC media library
  39.  * \ingroup libvlc
  40.  * @{
  41.  */
  42.  
  43. typedef struct libvlc_media_library_t libvlc_media_library_t;
  44.  
  45. /**
  46.  * Create an new Media Library object
  47.  *
  48.  * \param p_instance the libvlc instance
  49.  * \return a new object or NULL on error
  50.  */
  51. LIBVLC_API libvlc_media_library_t *
  52.     libvlc_media_library_new( libvlc_instance_t * p_instance );
  53.  
  54. /**
  55.  * Release media library object. This functions decrements the
  56.  * reference count of the media library object. If it reaches 0,
  57.  * then the object will be released.
  58.  *
  59.  * \param p_mlib media library object
  60.  */
  61. LIBVLC_API void
  62.     libvlc_media_library_release( libvlc_media_library_t * p_mlib );
  63.  
  64. /**
  65.  * Retain a reference to a media library object. This function will
  66.  * increment the reference counting for this object. Use
  67.  * libvlc_media_library_release() to decrement the reference count.
  68.  *
  69.  * \param p_mlib media library object
  70.  */
  71. LIBVLC_API void
  72.     libvlc_media_library_retain( libvlc_media_library_t * p_mlib );
  73.  
  74. /**
  75.  * Load media library.
  76.  *
  77.  * \param p_mlib media library object
  78.  * \return 0 on success, -1 on error
  79.  */
  80. LIBVLC_API int
  81.     libvlc_media_library_load( libvlc_media_library_t * p_mlib );
  82.  
  83. /**
  84.  * Get media library subitems.
  85.  *
  86.  * \param p_mlib media library object
  87.  * \return media list subitems
  88.  */
  89. LIBVLC_API libvlc_media_list_t *
  90.     libvlc_media_library_media_list( libvlc_media_library_t * p_mlib );
  91.  
  92.  
  93. /** @} */
  94.  
  95. # ifdef __cplusplus
  96. }
  97. # endif
  98.  
  99. #endif /* VLC_LIBVLC_MEDIA_LIBRARY_H */
  100.