* dvd.c : DVD input module for vlc
*****************************************************************************
* Copyright (C) 2000-2001 VideoLAN
- * $Id: dvd.c,v 1.17 2001/12/30 07:09:55 sam Exp $
+ * $Id: dvd.c,v 1.25 2002/03/05 18:17:52 stef Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
/*****************************************************************************
* Capabilities defined in the other files.
*****************************************************************************/
-void _M( input_getfunctions )( function_list_t * p_function_list );
+void _M( access_getfunctions)( function_list_t * p_function_list );
+void _M( demux_getfunctions)( function_list_t * p_function_list );
/*****************************************************************************
* Local prototypes.
* Build configuration tree.
*****************************************************************************/
MODULE_CONFIG_START
+ADD_CATEGORY_HINT( "[dvd:][device][@raw_device][@[title][,[chapter][,angle]]]", NULL )
MODULE_CONFIG_STOP
MODULE_INIT_START
-#ifdef GOD_DAMN_DMCA
+ ADD_CAPABILITY( DEMUX, 200 )
+#ifndef WIN32
+# ifdef GOD_DAMN_DMCA
SET_DESCRIPTION( "DVD input module, uses libdvdcss if present" )
- ADD_CAPABILITY( INPUT, 90 )
-#else
+ ADD_CAPABILITY( ACCESS, 90 )
+# else
SET_DESCRIPTION( "DVD input module, linked with libdvdcss" )
- ADD_CAPABILITY( INPUT, 100 )
+ ADD_CAPABILITY( ACCESS, 100 )
+# endif
+#else
+ SET_DESCRIPTION( "DVD input module" )
+ ADD_CAPABILITY( ACCESS, 0 )
#endif
ADD_SHORTCUT( "dvd" )
MODULE_INIT_STOP
MODULE_ACTIVATE_START
- _M( input_getfunctions )( &p_module->p_functions->input );
+ _M( access_getfunctions)( &p_module->p_functions->access );
+ _M( demux_getfunctions)( &p_module->p_functions->demux );
#ifdef GOD_DAMN_DMCA
ProbeLibDVDCSS();
#endif
}
else
{
- dvdcss_open = dlsym( p_libdvdcss, "dvdcss_open" );
- dvdcss_close = dlsym( p_libdvdcss, "dvdcss_close" );
- dvdcss_title = dlsym( p_libdvdcss, "dvdcss_title" );
- dvdcss_seek = dlsym( p_libdvdcss, "dvdcss_seek" );
- dvdcss_read = dlsym( p_libdvdcss, "dvdcss_read" );
- dvdcss_readv = dlsym( p_libdvdcss, "dvdcss_readv" );
- dvdcss_error = dlsym( p_libdvdcss, "dvdcss_error" );
-
- if( dvdcss_open == NULL || dvdcss_close == NULL
- || dvdcss_title == NULL || dvdcss_seek == NULL
- || dvdcss_read == NULL || dvdcss_readv == NULL
- || dvdcss_error == NULL )
+ ____dvdcss_open = dlsym( p_libdvdcss, "dvdcss_open" );
+ ____dvdcss_close = dlsym( p_libdvdcss, "dvdcss_close" );
+ ____dvdcss_title = dlsym( p_libdvdcss, "dvdcss_title" );
+ ____dvdcss_seek = dlsym( p_libdvdcss, "dvdcss_seek" );
+ ____dvdcss_read = dlsym( p_libdvdcss, "dvdcss_read" );
+ ____dvdcss_readv = dlsym( p_libdvdcss, "dvdcss_readv" );
+ ____dvdcss_error = dlsym( p_libdvdcss, "dvdcss_error" );
+
+ if( ____dvdcss_open == NULL || ____dvdcss_close == NULL
+ || ____dvdcss_title == NULL || ____dvdcss_seek == NULL
+ || ____dvdcss_read == NULL || ____dvdcss_readv == NULL
+ || ____dvdcss_error == NULL )
{
intf_ErrMsg( "dvd warning: missing symbols in libdvdcss.so.1, "
"this shouldn't happen !" );
intf_ErrMsg( "dvd warning: get libdvdcss at "
"http://www.videolan.org/libdvdcss/" );
- dvdcss_open = dummy_dvdcss_open;
- dvdcss_close = dummy_dvdcss_close;
- dvdcss_title = dummy_dvdcss_title;
- dvdcss_seek = dummy_dvdcss_seek;
- dvdcss_read = dummy_dvdcss_read;
- dvdcss_readv = dummy_dvdcss_readv;
- dvdcss_error = dummy_dvdcss_error;
+ ____dvdcss_open = dummy_dvdcss_open;
+ ____dvdcss_close = dummy_dvdcss_close;
+ ____dvdcss_title = dummy_dvdcss_title;
+ ____dvdcss_seek = dummy_dvdcss_seek;
+ ____dvdcss_read = dummy_dvdcss_read;
+ ____dvdcss_readv = dummy_dvdcss_readv;
+ ____dvdcss_error = dummy_dvdcss_error;
}
}