libvlc_media_library.h
上传用户:kjfoods
上传日期:2020-07-06
资源大小:29949k
文件大小:3k
源码类别:

midi

开发平台:

Unix_Linux

  1. /*****************************************************************************
  2.  * libvlc.h:  libvlc external API
  3.  *****************************************************************************
  4.  * Copyright (C) 1998-2009 the VideoLAN team
  5.  * $Id: d2192bc788e8bce7b33a2f1f05826b5e95d21676 $
  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
  12.  * it under the terms of the GNU General Public License as published by
  13.  * the Free Software Foundation; either version 2 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 General Public License for more details.
  20.  *
  21.  * You should have received a copy of the GNU General Public License
  22.  * along with this program; if not, write to the Free Software
  23.  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  24.  *****************************************************************************/
  25. /**
  26.  * file
  27.  * This file defines libvlc_media_library external API
  28.  */
  29. #ifndef VLC_LIBVLC_MEDIA_LIBRARY_H
  30. #define VLC_LIBVLC_MEDIA_LIBRARY_H 1
  31. /*****************************************************************************
  32.  * Media Library
  33.  *****************************************************************************/
  34. /** defgroup libvlc_media_library libvlc_media_library
  35.  * ingroup libvlc
  36.  * LibVLC Media Library
  37.  * @{
  38.  */
  39. typedef struct libvlc_media_library_t libvlc_media_library_t;
  40. VLC_PUBLIC_API libvlc_media_library_t *
  41.     libvlc_media_library_new( libvlc_instance_t * p_inst,
  42.                               libvlc_exception_t * p_e );
  43. /**
  44.  * Release media library object. This functions decrements the
  45.  * reference count of the media library object. If it reaches 0,
  46.  * then the object will be released.
  47.  *
  48.  * param p_mlib media library object
  49.  */
  50. VLC_PUBLIC_API void
  51.     libvlc_media_library_release( libvlc_media_library_t * p_mlib );
  52. /**
  53.  * Retain a reference to a media library object. This function will
  54.  * increment the reference counting for this object. Use
  55.  * libvlc_media_library_release() to decrement the reference count.
  56.  *
  57.  * param p_mlib media library object
  58.  */
  59. VLC_PUBLIC_API void
  60.     libvlc_media_library_retain( libvlc_media_library_t * p_mlib );
  61. /**
  62.  * Load media library.
  63.  *
  64.  * param p_mlib media library object
  65.  * param p_e an initialized exception object.
  66.  */
  67. VLC_PUBLIC_API void
  68.     libvlc_media_library_load( libvlc_media_library_t * p_mlib,
  69.                                libvlc_exception_t * p_e );
  70. /**
  71.  * Save media library.
  72.  *
  73.  * param p_mlib media library object
  74.  * param p_e an initialized exception object.
  75.  */
  76. VLC_PUBLIC_API void
  77.     libvlc_media_library_save( libvlc_media_library_t * p_mlib,
  78.                                libvlc_exception_t * p_e );
  79. /**
  80.  * Get media library subitems.
  81.  *
  82.  * param p_mlib media library object
  83.  * param p_e an initialized exception object.
  84.  * return media list subitems
  85.  */
  86. VLC_PUBLIC_API libvlc_media_list_t *
  87.     libvlc_media_library_media_list( libvlc_media_library_t * p_mlib,
  88.                                      libvlc_exception_t * p_e );
  89. /** @} */
  90. #endif /* VLC_LIBVLC_MEDIA_LIBRARY_H */