# HG changeset patch # User reimar # Date 1189788166 0 # Node ID abcfa91fcc9afaf4d4fb1683a6596409c46d95d1 # Parent d8b25c8a4ea473256a8c1b69d6aa72e5790811d1 Simplify tmf_filetooffset diff -r d8b25c8a4ea4 -r abcfa91fcc9a libmpdemux/demux_ty.c --- a/libmpdemux/demux_ty.c Fri Sep 14 16:21:12 2007 +0000 +++ b/libmpdemux/demux_ty.c Fri Sep 14 16:42:46 2007 +0000 @@ -260,27 +260,15 @@ // =========================================================================== -static void tmf_filetooffset( TiVoInfo *tivo, int chunk, off_t *offset ) +static off_t tmf_filetooffset(TiVoInfo *tivo, int chunk) { - int index; - - *offset = 0; - - for( index = 0 ; index < tivo->tmf_totalparts ; index++ ) - { - if ( chunk >= tivo->tmfparts[ index ].chunks ) - chunk -= tivo->tmfparts[ index ].chunks; - else - break; - } - if ( chunk < tivo->tmfparts[ index ].chunks ) - *offset = tivo->tmfparts[ index ].startOffset + - chunk * CHUNKSIZE; - mp_msg - ( - MSGT_DEMUX, MSGL_DBG3, - "tmf_filetooffset() offset %"PRIx64"\n", *offset - ); + int i; + for (i = 0; i < tivo->tmf_totalparts; i++) { + if (chunk < tivo->tmfparts[i].chunks) + return tivo->tmfparts[i].startOffset + chunk * CHUNKSIZE; + chunk -= tivo->tmfparts[i].chunks; + } + return -1; } @@ -305,7 +293,7 @@ return( 0 ); } - tmf_filetooffset( tivo, readChunk, &fileoffset ); + fileoffset = tmf_filetooffset(tivo, readChunk); if ( stream_seek( demux->stream, fileoffset ) != 1 ) {