Mercurial > mplayer.hg
changeset 33515:c80d57ec577b
Fix dvd_get_current_time so the cell argument actually has a purpose.
author | reimar |
---|---|
date | Sun, 12 Jun 2011 11:10:13 +0000 |
parents | 30e54bd66d39 |
children | 88cd23eb505d |
files | stream/stream_dvd.c |
diffstat | 1 files changed, 5 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/stream/stream_dvd.c Sun Jun 12 10:56:03 2011 +0000 +++ b/stream/stream_dvd.c Sun Jun 12 11:10:13 2011 +0000 @@ -578,8 +578,8 @@ dvd_priv_t *d = stream->priv; tm=0; - if(!cell) cell=d->cur_cell; - for(i=0; i<d->cur_cell; i++) { + if(cell < 0) cell=d->cur_cell; + for(i=0; i<cell; i++) { if(d->cur_pgc->cell_playback[i].block_type == BLOCK_TYPE_ANGLE_BLOCK && d->cur_pgc->cell_playback[i].block_mode != BLOCK_MODE_FIRST_CELL ) @@ -629,7 +629,7 @@ stream_skip(stream, 2048); t = mp_dvdtimetomsec(&d->dsi_pack.dsi_gi.c_eltm); } while(!t); - tm = dvd_get_current_time(stream, 0); + tm = dvd_get_current_time(stream, -1); pos = ((off_t)tmap_sector)<<11; stream_seek(stream, pos); @@ -638,7 +638,7 @@ while(tm <= sec) { if(!stream_skip(stream, 2048)) break; - tm = dvd_get_current_time(stream, 0); + tm = dvd_get_current_time(stream, -1); }; tmap_sector = stream->pos >> 11; @@ -689,7 +689,7 @@ case STREAM_CTRL_GET_CURRENT_TIME: { double tm; - tm = dvd_get_current_time(stream, 0); + tm = dvd_get_current_time(stream, -1); if(tm != -1) { *((double *)arg) = tm; return 1;