days: we have to initialize agid of authinfo struct.
-fixed a segfault on exit when DVDInit fails
* dvd_ioctl.c: DVD ioctl replacement function
*****************************************************************************
* Copyright (C) 1999-2001 VideoLAN
- * $Id: dvd_ioctl.c,v 1.7 2001/04/06 09:15:47 sam Exp $
+ * $Id: dvd_ioctl.c,v 1.8 2001/04/08 09:04:33 stef Exp $
*
* Authors: Markus Kuespert <ltlBeBoy@beosmail.com>
* Samuel Hocevar <sam@zoy.org>
dvd_authinfo auth_info;
auth_info.type = DVD_LU_SEND_CHALLENGE;
+ auth_info.lsa.agid = p_css->i_agid;
i_ret = ioctl( p_css->i_fd, DVD_AUTH, &auth_info );
dvd_authinfo auth_info;
auth_info.type = DVD_HOST_SEND_CHALLENGE;
+ auth_info.lsa.agid = p_css->i_agid;
memcpy( auth_info.hsc.chal, p_challenge, sizeof(dvd_challenge) );
* -dvd_udf to find files
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
- * $Id: input_dvd.c,v 1.38 2001/04/08 07:24:47 stef Exp $
+ * $Id: input_dvd.c,v 1.39 2001/04/08 09:04:33 stef Exp $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
int i_chapter;
int i;
+ /* I don't want DVDs to start playing immediately */
+// p_input->stream.i_new_status = PAUSE_S;
+
p_dvd = malloc( sizeof(thread_dvd_data_t) );
if( p_dvd == NULL )
{
- intf_ErrMsg( "Out of memory" );
+ intf_ErrMsg( "dvd error: out of memory" );
p_input->b_error = 1;
return;
}
/* Ifo initialisation */
if( IfoInit( &p_dvd->p_ifo, p_input->i_handle ) < 0 )
{
- intf_ErrMsg( "ifo error: fatal failure" );
+ intf_ErrMsg( "dvd error: fatal failure in IFO" );
free( p_dvd );
p_input->b_error = 1;
return;
p_dvd->p_css = malloc( sizeof(css_t) );
if( p_dvd->p_css == NULL )
{
- intf_ErrMsg( "css error: couldn't create CSS structure" );
+ intf_ErrMsg( "dvd error: couldn't create CSS structure" );
free( p_dvd );
p_input->b_error = 1;
return;
if( CSSInit( p_dvd->p_css ) )
{
- intf_ErrMsg( "css error: fatal failure" );
+ intf_ErrMsg( "dvd error: fatal failure in CSS" );
free( p_dvd->p_css );
free( p_dvd );
p_input->b_error = 1;
return;
}
- intf_WarnMsg( 2, "css info: initialized" );
+ intf_WarnMsg( 2, "dvd info: CSS initialized" );
}
/* Initialize ES structures */
* decoders.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: input.c,v 1.94 2001/03/19 13:26:59 sam Exp $
+ * $Id: input.c,v 1.95 2001/04/08 09:04:33 stef Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
p_input->pf_init( p_input );
+ if( p_input->b_error )
+ {
+ /* We barfed -- exit nicely */
+ p_input->pf_close( p_input );
+ module_Unneed( p_main->p_bank, p_input->p_input_module );
+ return( -1 );
+ }
+
*p_input->pi_status = THREAD_READY;
return( 0 );