X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;ds=sidebyside;f=cinelerra-5.1%2Fcinelerra%2Ffilethread.C;h=8fadbeea9fd45e64835bb66d1fec285d0950b11e;hb=7efb497e185234700abe3abeaa430471c4e34f58;hp=84b20fcdd45fbf289833c9c8dd6623143f8b2ba4;hpb=25e944875e181186eeb59a124c1822e5b55d2248;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()); } }