00001 /***************************************************************************** 00002 * libvlc_media_discoverer.h: libvlc external API 00003 ***************************************************************************** 00004 * Copyright (C) 1998-2009 VLC authors and VideoLAN 00005 * $Id: cf263b0536d9b19e725e039f12ef20eaa392fec3 $ 00006 * 00007 * Authors: Clément Stenac <zorglub@videolan.org> 00008 * Jean-Paul Saman <jpsaman@videolan.org> 00009 * Pierre d'Herbemont <pdherbemont@videolan.org> 00010 * 00011 * This program is free software; you can redistribute it and/or modify it 00012 * under the terms of the GNU Lesser General Public License as published by 00013 * the Free Software Foundation; either version 2.1 of the License, or 00014 * (at your option) any later version. 00015 * 00016 * This program is distributed in the hope that it will be useful, 00017 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00019 * GNU Lesser General Public License for more details. 00020 * 00021 * You should have received a copy of the GNU Lesser General Public License 00022 * along with this program; if not, write to the Free Software Foundation, 00023 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. 00024 *****************************************************************************/ 00025 00026 /** 00027 * \file 00028 * This file defines libvlc_media_discoverer external API 00029 */ 00030 00031 #ifndef VLC_LIBVLC_MEDIA_DISCOVERER_H 00032 #define VLC_LIBVLC_MEDIA_DISCOVERER_H 1 00033 00034 # ifdef __cplusplus 00035 extern "C" { 00036 # endif 00037 00038 /** \defgroup libvlc_media_discoverer LibVLC media discovery 00039 * \ingroup libvlc 00040 * LibVLC media discovery finds available media via various means. 00041 * This corresponds to the service discovery functionality in VLC media player. 00042 * Different plugins find potential medias locally (e.g. user media directory), 00043 * from peripherals (e.g. video capture device), on the local network 00044 * (e.g. SAP) or on the Internet (e.g. Internet radios). 00045 * @{ 00046 */ 00047 00048 typedef struct libvlc_media_discoverer_t libvlc_media_discoverer_t; 00049 00050 /** 00051 * Discover media service by name. 00052 * 00053 * \param p_inst libvlc instance 00054 * \param psz_name service name 00055 * \return media discover object or NULL in case of error 00056 */ 00057 LIBVLC_API libvlc_media_discoverer_t * 00058 libvlc_media_discoverer_new_from_name( libvlc_instance_t * p_inst, 00059 const char * psz_name ); 00060 00061 /** 00062 * Release media discover object. If the reference count reaches 0, then 00063 * the object will be released. 00064 * 00065 * \param p_mdis media service discover object 00066 */ 00067 LIBVLC_API void libvlc_media_discoverer_release( libvlc_media_discoverer_t * p_mdis ); 00068 00069 /** 00070 * Get media service discover object its localized name. 00071 * 00072 * \param p_mdis media discover object 00073 * \return localized name 00074 */ 00075 LIBVLC_API char * libvlc_media_discoverer_localized_name( libvlc_media_discoverer_t * p_mdis ); 00076 00077 /** 00078 * Get media service discover media list. 00079 * 00080 * \param p_mdis media service discover object 00081 * \return list of media items 00082 */ 00083 LIBVLC_API libvlc_media_list_t * libvlc_media_discoverer_media_list( libvlc_media_discoverer_t * p_mdis ); 00084 00085 /** 00086 * Get event manager from media service discover object. 00087 * 00088 * \param p_mdis media service discover object 00089 * \return event manager object. 00090 */ 00091 LIBVLC_API libvlc_event_manager_t * 00092 libvlc_media_discoverer_event_manager( libvlc_media_discoverer_t * p_mdis ); 00093 00094 /** 00095 * Query if media service discover object is running. 00096 * 00097 * \param p_mdis media service discover object 00098 * \return true if running, false if not 00099 * 00100 * \libvlc_return_bool 00101 */ 00102 LIBVLC_API int 00103 libvlc_media_discoverer_is_running( libvlc_media_discoverer_t * p_mdis ); 00104 00105 /**@} */ 00106 00107 # ifdef __cplusplus 00108 } 00109 # endif 00110 00111 #endif /* <vlc/libvlc.h> */
1.7.1