playlist.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002  * playlist.h:  Playlist import module common functions
00003  *****************************************************************************
00004  * Copyright (C) 2004 the VideoLAN team
00005  * $Id: 3c3c80719dd54534fa42e2ce15e26248fa3e08bb $
00006  *
00007  * Authors: Sigmund Augdal Helberg <dnumgis@videolan.org>
00008  *
00009  * This program is free software; you can redistribute it and/or modify
00010  * it under the terms of the GNU General Public License as published by
00011  * the Free Software Foundation; either version 2 of the License, or
00012  * (at your option) any later version.
00013  *
00014  * This program is distributed in the hope that it will be useful,
00015  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00016  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00017  * GNU General Public License for more details.
00018  *
00019  * You should have received a copy of the GNU General Public License
00020  * along with this program; if not, write to the Free Software
00021  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
00022  *****************************************************************************/
00023 
00024 #include <vlc_input.h>
00025 #include <vlc_playlist.h>
00026 
00027 char *ProcessMRL( const char *, const char * );
00028 char *FindPrefix( demux_t * );
00029 
00030 int Import_Old ( vlc_object_t * );
00031 
00032 int Import_Native ( vlc_object_t * );
00033 void Close_Native ( vlc_object_t * );
00034 
00035 int Import_M3U ( vlc_object_t * );
00036 void Close_M3U ( vlc_object_t * );
00037 
00038 int Import_RAM ( vlc_object_t * );
00039 void Close_RAM ( vlc_object_t * );
00040 
00041 int Import_PLS ( vlc_object_t * );
00042 void Close_PLS ( vlc_object_t * );
00043 
00044 int Import_B4S ( vlc_object_t * );
00045 void Close_B4S ( vlc_object_t * );
00046 
00047 int Import_DVB ( vlc_object_t * );
00048 void Close_DVB ( vlc_object_t * );
00049 
00050 int Import_podcast ( vlc_object_t * );
00051 void Close_podcast ( vlc_object_t * );
00052 
00053 int Import_xspf ( vlc_object_t * );
00054 void Close_xspf ( vlc_object_t * );
00055 
00056 int Import_Shoutcast ( vlc_object_t * );
00057 void Close_Shoutcast ( vlc_object_t * );
00058 
00059 int Import_ASX ( vlc_object_t * );
00060 void Close_ASX ( vlc_object_t * );
00061 
00062 int Import_SGIMB ( vlc_object_t * );
00063 void Close_SGIMB ( vlc_object_t * );
00064 
00065 int Import_QTL ( vlc_object_t * );
00066 void Close_QTL ( vlc_object_t * );
00067 
00068 int Import_GVP ( vlc_object_t * );
00069 void Close_GVP ( vlc_object_t * );
00070 
00071 int Import_IFO ( vlc_object_t * );
00072 void Close_IFO ( vlc_object_t * );
00073 
00074 int Import_VideoPortal ( vlc_object_t * );
00075 void Close_VideoPortal ( vlc_object_t * );
00076 
00077 int Import_iTML ( vlc_object_t * );
00078 void Close_iTML ( vlc_object_t * );
00079 
00080 int Import_WPL ( vlc_object_t * );
00081 void Close_WPL ( vlc_object_t * );
00082 
00083 int Import_ZPL ( vlc_object_t * );
00084 void Close_ZPL ( vlc_object_t * );
00085 
00086 extern input_item_t * GetCurrentItem(demux_t *p_demux);
00087 
00088 #define STANDARD_DEMUX_INIT_MSG( msg ) do { \
00089     DEMUX_INIT_COMMON();                    \
00090     msg_Dbg( p_demux, "%s", msg ); } while(0)
00091 
00092 #define DEMUX_BY_EXTENSION_MSG( ext, msg ) \
00093     demux_t *p_demux = (demux_t *)p_this; \
00094     if( !demux_IsPathExtension( p_demux, ext ) ) \
00095         return VLC_EGENERIC; \
00096     STANDARD_DEMUX_INIT_MSG( msg );
00097 
00098 #define DEMUX_BY_EXTENSION_OR_FORCED_MSG( ext, module, msg ) \
00099     demux_t *p_demux = (demux_t *)p_this; \
00100     if( !demux_IsPathExtension( p_demux, ext ) && !demux_IsForced( p_demux, module ) ) \
00101         return VLC_EGENERIC; \
00102     STANDARD_DEMUX_INIT_MSG( msg );
00103 
00104 
00105 #define CHECK_PEEK( zepeek, size ) do { \
00106     if( stream_Peek( p_demux->s , &zepeek, size ) < size ){ \
00107         msg_Dbg( p_demux, "not enough data" ); return VLC_EGENERIC; } } while(0)
00108 
00109 #define POKE( peek, stuff, size ) (strncasecmp( (const char *)peek, stuff, size )==0)
00110 

Generated on Tue May 25 08:04:56 2010 for VLC by  doxygen 1.5.6