diff options
author | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-09-14 16:42:46 +0000 |
---|---|---|
committer | reimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-09-14 16:42:46 +0000 |
commit | 9ec6875d20e68fe37ebcc90f7e9e31ef080bcbc8 (patch) | |
tree | e78391e462c807e800f59f05fa7fda63fb6d405f /libmpdemux/demux_ty.c | |
parent | 1498c9b7d0f83d0deb3f0a79f09d907d2a400fc7 (diff) | |
download | mpv-9ec6875d20e68fe37ebcc90f7e9e31ef080bcbc8.tar.bz2 mpv-9ec6875d20e68fe37ebcc90f7e9e31ef080bcbc8.tar.xz |
Simplify tmf_filetooffset
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24471 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpdemux/demux_ty.c')
-rw-r--r-- | libmpdemux/demux_ty.c | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/libmpdemux/demux_ty.c b/libmpdemux/demux_ty.c index 14a9b4f742..828345147e 100644 --- a/libmpdemux/demux_ty.c +++ b/libmpdemux/demux_ty.c @@ -260,27 +260,15 @@ static int ty_tmf_filetoparts( demuxer_t *demux, TiVoInfo *tivo ) // =========================================================================== -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 @@ static int tmf_load_chunk( demuxer_t *demux, TiVoInfo *tivo, return( 0 ); } - tmf_filetooffset( tivo, readChunk, &fileoffset ); + fileoffset = tmf_filetooffset(tivo, readChunk); if ( stream_seek( demux->stream, fileoffset ) != 1 ) { |