X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmodules%2Fkino%2Friff.cc;h=51ed2101dd8796a051d38d130460939032df6ff1;hb=b03faa9e33bfc9e3f51da62d649bbbf1cb89511b;hp=bc616dda02cd972d2f0185b8188581b6eb516696;hpb=815c458e95c73c39433fa7913afb4a830d7fd376;p=melted diff --git a/src/modules/kino/riff.cc b/src/modules/kino/riff.cc index bc616dd..51ed210 100644 --- a/src/modules/kino/riff.cc +++ b/src/modules/kino/riff.cc @@ -21,6 +21,12 @@ * Change log: * * $Log$ +* Revision 1.3 2005/07/25 14:41:29 lilo_booter +* + Minor correction for entry length being less than the data length +* +* Revision 1.2 2005/07/25 07:21:39 lilo_booter +* + fixes for opendml dv avi +* * Revision 1.1 2005/04/15 14:28:26 lilo_booter * Initial version * @@ -612,14 +618,14 @@ void RIFFFile::ParseRIFF( void ) */ -void RIFFFile::ReadChunk( int chunk_index, void *data ) +void RIFFFile::ReadChunk( int chunk_index, void *data, off_t data_len ) { RIFFDirEntry entry; entry = GetDirectoryEntry( chunk_index ); pthread_mutex_lock( &file_mutex ); fail_if( lseek( fd, entry.offset, SEEK_SET ) == ( off_t ) - 1 ); - fail_neg( read( fd, data, entry.length ) ); + fail_neg( read( fd, data, entry.length > data_len ? data_len : entry.length ) ); pthread_mutex_unlock( &file_mutex ); }