X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ffilethread.C;h=8fadbeea9fd45e64835bb66d1fec285d0950b11e;hp=84b20fcdd45fbf289833c9c8dd6623143f8b2ba4;hb=54b918a8b84f666bf32548ebd12b93908061d2a6;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1 diff --git a/cinelerra-5.1/cinelerra/filethread.C b/cinelerra-5.1/cinelerra/filethread.C index 84b20fcd..8fadbeea 100644 --- a/cinelerra-5.1/cinelerra/filethread.C +++ b/cinelerra-5.1/cinelerra/filethread.C @@ -277,16 +277,20 @@ void FileThread::run() else if(do_video) { - if(compressed) - { - for(j = 0; j < file->asset->layers && !result; j++) - for(i = 0; i < output_size[local_buffer] && !result; i++) - result = file->write_compressed_frame(video_buffer[local_buffer][j][i]); + int layers = 1, count = output_size[local_buffer]; + VFrame ***frames = video_buffer[local_buffer]; + if( compressed ) { + layers = file->asset->layers; + for( j=0; jwrite_compressed_frame(frames[j][i]); } else - { - result = file->write_frames(video_buffer[local_buffer], - output_size[local_buffer]); + result = file->write_frames(frames, count); + if( !result ) { + for( j=0; jwrite_frame_done(frames[j][i]->get_number()); } }