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 ) ...@@ -501,6 +501,8 @@ CDDASeek( access_t * p_access, int64_t i_pos )
/* /*
Set up internal state so that we play a given track. 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 static bool
cdda_play_track( access_t *p_access, track_t i_track ) cdda_play_track( access_t *p_access, track_t i_track )
...@@ -726,6 +728,8 @@ CDDAOpen( vlc_object_t *p_this ) ...@@ -726,6 +728,8 @@ CDDAOpen( vlc_object_t *p_this )
i_rc = CDDAInit( p_access, p_cdda ); i_rc = CDDAInit( p_access, p_cdda );
if ( VLC_SUCCESS != i_rc ) goto error; if ( VLC_SUCCESS != i_rc ) goto error;
cdda_play_track( p_access, i_track );
CDDAFixupPlaylist( p_access, p_cdda, b_single_track ); CDDAFixupPlaylist( p_access, p_cdda, b_single_track );
#if LIBCDIO_VERSION_NUM >= 72 #if LIBCDIO_VERSION_NUM >= 72
...@@ -789,8 +793,6 @@ CDDAOpen( vlc_object_t *p_this ) ...@@ -789,8 +793,6 @@ CDDAOpen( vlc_object_t *p_this )
p_cdda->waveheader.DataChunkID = VLC_FOURCC('d', 'a', 't', 'a'); p_cdda->waveheader.DataChunkID = VLC_FOURCC('d', 'a', 't', 'a');
p_cdda->waveheader.DataLength = 0; /* we just don't know */ p_cdda->waveheader.DataLength = 0; /* we just don't know */
cdda_play_track( p_access, i_track );
/* PTS delay */ /* PTS delay */
var_Create( p_access, MODULE_STRING "-caching", var_Create( p_access, MODULE_STRING "-caching",
VLC_VAR_INTEGER|VLC_VAR_DOINHERIT ); VLC_VAR_INTEGER|VLC_VAR_DOINHERIT );
...@@ -985,7 +987,7 @@ static int CDDAControl( access_t *p_access, int i_query, va_list args ) ...@@ -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 ); dbg_print( INPUT_DBG_EVENT, "set title %d", i );
if( i != p_access->info.i_title ) 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 */ /* Update info */
p_access->info.i_title = i; p_access->info.i_title = i;
if ( p_cdda->b_nav_mode) if ( p_cdda->b_nav_mode)
......
...@@ -230,6 +230,9 @@ CDDAMetaInfoInit( access_t *p_access ) ...@@ -230,6 +230,9 @@ CDDAMetaInfoInit( access_t *p_access )
if ( ! p_cdda ) return; 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->psz_mcn = cdio_get_mcn(p_cdda->p_cdio);
p_cdda->p_meta = vlc_meta_New(); p_cdda->p_meta = vlc_meta_New();
...@@ -269,6 +272,8 @@ CDDAMetaInfo( access_t *p_access, track_t i_track ) ...@@ -269,6 +272,8 @@ CDDAMetaInfo( access_t *p_access, track_t i_track )
if ( ! p_cdda ) return; if ( ! p_cdda ) return;
dbg_print( (INPUT_DBG_CALL), "i_track %d", i_track );
#ifdef HAVE_LIBCDDB #ifdef HAVE_LIBCDDB
/* Set up for Meta and name for CDDB access. */ /* Set up for Meta and name for CDDB access. */
......
...@@ -200,6 +200,8 @@ VCDReadBlock( access_t * p_access ) ...@@ -200,6 +200,8 @@ VCDReadBlock( access_t * p_access )
*/ */
#if 1 #if 1
msleep( MILLISECONDS_PER_SEC * *p_buf ); 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; // p_vcd->in_still = VLC_FALSE;
dbg_print(INPUT_DBG_STILL, "still wait time done"); dbg_print(INPUT_DBG_STILL, "still wait time done");
#else #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