* -dvd_udf to find files
*****************************************************************************
* Copyright (C) 1998-2001 VideoLAN
- * $Id: input_dvd.c,v 1.61 2001/05/30 17:03:12 sam Exp $
+ * $Id: input_dvd.c,v 1.62 2001/05/30 22:16:07 sam Exp $
*
* Author: Stéphane Borel <stef@via.ecp.fr>
*
p_input->p_plugin_data = (void *)p_dvd;
p_input->p_method_data = NULL;
- /* Set callback */
- p_input->pf_open = p_input->pf_file_open;
- p_input->pf_close = p_input->pf_file_close;
-
p_dvd->i_fd = p_input->i_handle;
/* reading several block once seems to cause lock-up
* decoders.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: input.c,v 1.113 2001/05/30 17:03:12 sam Exp $
+ * $Id: input.c,v 1.114 2001/05/30 22:16:07 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
p_input->c_packets_trashed = 0;
#endif
+ /* Default, might get overwritten */
+ p_input->pf_open = p_input->pf_file_open;
+ p_input->pf_close = p_input->pf_file_close;
+
p_input->p_input_module = module_Need( MODULE_CAPABILITY_INPUT,
(probedata_t *)p_input );
#define f p_input->p_input_module->p_functions->input.functions.input
p_input->pf_init = f.pf_init;
- p_input->pf_open = f.pf_open;
- p_input->pf_close = f.pf_close;
+ if( f.pf_open != NULL )
+ {
+ p_input->pf_open = f.pf_open;
+ }
+ if( f.pf_close != NULL )
+ {
+ p_input->pf_close = f.pf_close;
+ }
p_input->pf_end = f.pf_end;
p_input->pf_read = f.pf_read;
p_input->pf_set_area = f.pf_set_area;