X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ffilethread.C;h=8fadbeea9fd45e64835bb66d1fec285d0950b11e;hb=8568f873b356bbe6b21dd591857e1d03e1739a4e;hp=84b20fcdd45fbf289833c9c8dd6623143f8b2ba4;hpb=7fd85fb66168f6b518c5f2d73e04036e87faa0e1;p=goodguy%2Fcinelerra.git 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()); } }