summaryrefslogtreecommitdiffstats
path: root/libmpdemux/demux_ty.c
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-09-14 16:42:46 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-09-14 16:42:46 +0000
commit9ec6875d20e68fe37ebcc90f7e9e31ef080bcbc8 (patch)
treee78391e462c807e800f59f05fa7fda63fb6d405f /libmpdemux/demux_ty.c
parent1498c9b7d0f83d0deb3f0a79f09d907d2a400fc7 (diff)
downloadmpv-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.c30
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 )
{