X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fvpluginarray.C;h=b5118ce9a10a2837ec84d09181ed4d9629d2cf75;hb=f30a92d2f983d5ec09c8fd8db48c9bcb7ec76763;hp=bfb57271f95d15761d46d40b9cd35b8a0059776e;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/vpluginarray.C b/cinelerra-5.1/cinelerra/vpluginarray.C index bfb57271..b5118ce9 100644 --- a/cinelerra-5.1/cinelerra/vpluginarray.C +++ b/cinelerra-5.1/cinelerra/vpluginarray.C @@ -19,6 +19,7 @@ * */ +#include "asset.h" #include "bcsignals.h" #include "cache.h" #include "edl.h" @@ -97,7 +98,8 @@ void VPluginArray::process_realtime(int module, int64_t input_position, int64_t len) { - values[module]->process_buffer(realtime_buffers[module], + int ibfr = module % file->asset->layers; + values[module]->process_buffer(realtime_buffers[ibfr], input_position, edl->session->frame_rate, end - start, @@ -109,15 +111,16 @@ int VPluginArray::process_loop(int module, int64_t &write_length) if(!realtime_buffers) realtime_buffers = file->get_video_buffer(); // Convert from array of frames to array of tracks - VFrame **temp_buffer; - temp_buffer = new VFrame*[total_tracks()]; - for(int i = 0; i < total_tracks(); i++) - { - temp_buffer[i] = realtime_buffers[i][0]; - } - - int result = values[module]->process_loop(realtime_buffers[module], write_length); - delete [] temp_buffer; +// VFrame **temp_buffer; +// temp_buffer = new VFrame*[total_tracks()]; +// for(int i = 0; i < total_tracks(); i++) +// { +// temp_buffer[i] = realtime_buffers[i][0]; +// } + + int ibfr = module % file->asset->layers; + int result = values[module]->process_loop(realtime_buffers[ibfr], write_length); +// delete [] temp_buffer; return result; }