X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Ffile.C;h=0fb926b26d6601fd4e99018bf4f2f08bf1f19664;hb=8d1431081df60da0719db2c77e4c56830521c7e8;hp=2d1c4af26758eadbe4b1da6b4d41ec019ade35b5;hpb=e5d1c3ec8b49e9e4cd31f30e991f52ab11de93b1;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/file.C b/cinelerra-5.1/cinelerra/file.C index 2d1c4af2..0fb926b2 100644 --- a/cinelerra-5.1/cinelerra/file.C +++ b/cinelerra-5.1/cinelerra/file.C @@ -1111,7 +1111,8 @@ int File::read_samples(Samples *samples, int64_t len) int File::read_frame(VFrame *frame, int is_thread) { const int debug = 0; - +//printf("File::read_frame pos=%jd cache=%d 1frame=%d\n", +// current_frame, use_cache, asset->single_frame); if( debug ) PRINT_TRACE //printf("File::read_frame %d\n", __LINE__); @@ -1393,10 +1394,9 @@ int64_t File::get_memory_usage() } -int File::renders_video(Asset *asset) +int File::renders_video(int format) { -//printf("File::supports_video %d\n", format); - switch( asset->format ) { + switch( format ) { case FILE_OGG: case FILE_JPEG: case FILE_JPEG_LIST: @@ -1412,16 +1412,21 @@ int File::renders_video(Asset *asset) case FILE_TIFF_LIST: case FILE_VMPEG: case FILE_RAWDV: - return 1; case FILE_FFMPEG: - return FileFFMPEG::renders_video(asset->fformat); + return 1; } return 0; } +int File::renders_video(Asset *asset) +{ + return asset->format == FILE_FFMPEG ? + FileFFMPEG::renders_video(asset->fformat) : + renders_video(asset->format); +} -int File::renders_audio(Asset *asset) +int File::renders_audio(int format) { - switch( asset->format ) { + switch( format ) { case FILE_AC3: case FILE_FLAC: case FILE_PCM: @@ -1433,12 +1438,17 @@ int File::renders_audio(Asset *asset) case FILE_AIFF: case FILE_SND: case FILE_RAWDV: - return 1; case FILE_FFMPEG: - return FileFFMPEG::renders_audio(asset->fformat); + return 1; } return 0; } +int File::renders_audio(Asset *asset) +{ + return asset->format == FILE_FFMPEG ? + FileFFMPEG::renders_audio(asset->fformat) : + renders_audio(asset->format); +} int File::is_image_render(int format) {