Commit 18e1ef36 authored by Rocky Bernstein's avatar Rocky Bernstein

fix next/previous chapter in disc mode

fix updating meta (caused by a recent change of mine)

vcdx/access.c: hack to try to fix still-handling problem
parent 108fc274
......@@ -501,6 +501,8 @@ CDDASeek( access_t * p_access, int64_t i_pos )
/*
Set up internal state so that we play a given track.
If we are using audio-ctl mode we also activate CD-ROM
to play.
*/
static bool
cdda_play_track( access_t *p_access, track_t i_track )
......@@ -726,6 +728,8 @@ CDDAOpen( vlc_object_t *p_this )
i_rc = CDDAInit( p_access, p_cdda );
if ( VLC_SUCCESS != i_rc ) goto error;
cdda_play_track( p_access, i_track );
CDDAFixupPlaylist( p_access, p_cdda, b_single_track );
#if LIBCDIO_VERSION_NUM >= 72
......@@ -789,8 +793,6 @@ CDDAOpen( vlc_object_t *p_this )
p_cdda->waveheader.DataChunkID = VLC_FOURCC('d', 'a', 't', 'a');
p_cdda->waveheader.DataLength = 0; /* we just don't know */
cdda_play_track( p_access, i_track );
/* PTS delay */
var_Create( p_access, MODULE_STRING "-caching",
VLC_VAR_INTEGER|VLC_VAR_DOINHERIT );
......@@ -985,7 +987,7 @@ static int CDDAControl( access_t *p_access, int i_query, va_list args )
dbg_print( INPUT_DBG_EVENT, "set title %d", i );
if( i != p_access->info.i_title )
{
const track_t i_track = p_cdda->i_track + i;
const track_t i_track = p_cdda->i_first_track + i;
/* Update info */
p_access->info.i_title = i;
if ( p_cdda->b_nav_mode)
......
......@@ -230,6 +230,9 @@ CDDAMetaInfoInit( access_t *p_access )
if ( ! p_cdda ) return;
dbg_print( (INPUT_DBG_CALL), "p_cdda->i_tracks %d",
p_cdda->i_tracks );
p_cdda->psz_mcn = cdio_get_mcn(p_cdda->p_cdio);
p_cdda->p_meta = vlc_meta_New();
......@@ -269,6 +272,8 @@ CDDAMetaInfo( access_t *p_access, track_t i_track )
if ( ! p_cdda ) return;
dbg_print( (INPUT_DBG_CALL), "i_track %d", i_track );
#ifdef HAVE_LIBCDDB
/* Set up for Meta and name for CDDB access. */
......
......@@ -200,6 +200,8 @@ VCDReadBlock( access_t * p_access )
*/
#if 1
msleep( MILLISECONDS_PER_SEC * *p_buf );
VCDSetOrigin(p_access, p_vcdplayer->origin_lsn, p_vcdplayer->i_track,
&(p_vcdplayer->play_item));
// p_vcd->in_still = VLC_FALSE;
dbg_print(INPUT_DBG_STILL, "still wait time done");
#else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment