# include "config.h"
#endif
-#include <vlc/vlc.h>
+#include <vlc_common.h>
#include <vlc_interface.h>
#include <vlc_input.h>
#include <vlc_access.h>
+#include <vlc_charset.h>
#include "vlc_keys.h"
#include <cdio/cdio.h>
#include <libvcd/logging.h>
#include "vcd.h"
#include "info.h"
-#include "intf.h"
-
-extern void VCDSetOrigin( access_t *p_access, lsn_t i_lsn, track_t i_track,
- const vcdinfo_itemid_t *p_itemid );
+#include "access.h"
/*****************************************************************************
* Local prototypes
break;
default:
msg_Warn( p_vcd_access, "%s\n%s %d", message,
- _("The above message had unknown log level"),
- level);
+ "The above message had unknown log level",
+ level);
}
return;
}
break;
default:
msg_Warn( p_vcd_access, "%s\n%s %d", message,
- _("The above message had unknown vcdimager log level"),
- level);
+ "The above message had unknown vcdimager log level",
+ level);
}
return;
}
vcdinfo_visit_lot (p_vcdplayer->vcd, false);
-#if FIXED
+#ifdef FIXED
/*
We need to change libvcdinfo to be more robust when there are
problems reading the extended PSD. Given that area-highlighting and
TAB_APPEND( t->i_seekpoint, t->seekpoint, s );
}
-#if DYNAMICALLY_ALLOCATED
+#ifdef DYNAMICALLY_ALLOCATED
TAB_APPEND( p_vcdplayer->i_titles, p_vcdplayer->p_title, t );
#else
p_vcdplayer->p_title[p_vcdplayer->i_titles] = t;
psz_source = config_GetPsz( p_access, "vcd" );
if( !psz_source || 0==strlen(psz_source) ) {
+ free( psz_source );
/* Scan for a CD-ROM drive with a VCD in it. */
char **cd_drives = cdio_get_devices_with_cap( NULL,
( CDIO_FS_ANAL_SVCD | CDIO_FS_ANAL_CVD
if( !psz_dev ) return NULL;
- actual_dev=strdup(psz_dev);
+ actual_dev= ToLocaleDup(psz_dev);
if ( vcdinfo_open(&p_vcdobj, &actual_dev, DRIVER_UNKNOWN, NULL) !=
VCDINFO_OPEN_VCD) {
free(actual_dev);
p_vcdplayer = malloc( sizeof(vcdplayer_t) );
if( p_vcdplayer == NULL )
- {
- LOG_ERR ("out of memory" );
return VLC_ENOMEM;
- }
p_vcdplayer->i_debug = config_GetInt( p_this, MODULE_STRING "-debug" );
p_access->p_sys = (access_sys_t *) p_vcdplayer;
vcdplayer_play( p_access, itemid );
+ free( p_access->psz_demux );
p_access->psz_demux = strdup( "ps" );
-#if FIXED
+#ifdef FIXED
if (play_single_item)
VCDFixupPlayList( p_access, p_vcd, psz_source, &itemid,
play_single_item );
#endif
-#if FIXED
+#ifdef FIXED
p_vcdplayer->p_intf = intf_Create( p_access, "vcdx" );
p_vcdplayer->p_intf->b_block = false;
#endif
p_vcdplayer->p_access = p_access;
-#ifdef FIXED
- intf_RunThread( p_vcdplayer->p_intf );
-#endif
-
free( psz_source );
return VLC_SUCCESS;
err_exit:
if( p_vcdplayer->p_input ) vlc_object_release( p_vcdplayer->p_input );
free( psz_source );
+ free( p_vcdplayer->psz_source );
free( p_vcdplayer );
return VLC_EGENERIC;
}
*/
case ACCESS_GET_META:
{
- vlc_meta_t **pp_meta = (vlc_meta_t**)va_arg( args, vlc_meta_t** );
-
dbg_print( INPUT_DBG_EVENT, "get meta info" );
#if 0
if( p_vcdplayer->p_meta )
{
+ vlc_meta_t **pp_meta = (vlc_meta_t**)va_arg(args,vlc_meta_t**);
+
*pp_meta = vlc_meta_Duplicate( p_vcdplayer->p_meta );
dbg_print( INPUT_DBG_META, "%s", "Meta copied" );
}
}
/* */
- case ACCESS_GET_MTU:
- pi_int = (int*)va_arg( args, int * );
- *pi_int = (p_vcdplayer->i_blocks_per_read * M2F2_SECTOR_SIZE);
- dbg_print( INPUT_DBG_EVENT, "GET MTU: %d", *pi_int );
- break;
-
case ACCESS_GET_PTS_DELAY:
{
int64_t *pi_64 = (int64_t*)va_arg( args, int64_t * );
dbg_print( INPUT_DBG_EVENT, "GET TITLE: i_titles %d",
p_vcdplayer->i_titles );
- if( psz_mrl == NULL ) {
- msg_Warn( p_access, "out of memory" );
- } else {
+ if( psz_mrl )
+ {
snprintf(psz_mrl, psz_mrl_max, "%s%s",
VCD_MRL_PREFIX, p_vcdplayer->psz_source);
VCDMetaInfo( p_access, psz_mrl );