X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fpackagedispatcher.C;h=17d02c0d3bad198b0e60f228f5403689ad93f3bc;hp=aa88d5f12cdae8f437929265b813b857bcfb0e61;hb=54b918a8b84f666bf32548ebd12b93908061d2a6;hpb=03fa86e6dc495f9444ae14dad401b1ad6de793fe diff --git a/cinelerra-5.1/cinelerra/packagedispatcher.C b/cinelerra-5.1/cinelerra/packagedispatcher.C index aa88d5f1..17d02c0d 100644 --- a/cinelerra-5.1/cinelerra/packagedispatcher.C +++ b/cinelerra-5.1/cinelerra/packagedispatcher.C @@ -102,7 +102,7 @@ int PackageDispatcher::create_packages(MWindow *mwindow, EDL *edl, strcpy(packages[0]->path, default_asset->path); break; case SINGLE_PASS_FARM: - packaging_engine = File::new_packaging_engine(default_asset); + packaging_engine = (PackagingEngine*)new PackagingEngineDefault(); packaging_engine->create_packages_single_farm(edl, preferences, default_asset, total_start, total_end); break; @@ -189,6 +189,7 @@ int PackageDispatcher::create_packages(MWindow *mwindow, EDL *edl, // Only if this isn't a background render or non interactive. if( strategy != BRENDER_FARM && test_overwrite && mwindow ) { ArrayList paths; + paths.set_array_delete(); get_package_paths(&paths); result = ConfirmSave::test_files(mwindow, &paths); paths.remove_all_objects(); @@ -278,9 +279,11 @@ RenderPackage* PackageDispatcher::get_package(double frames_per_second, result->video_start = video_position; result->audio_end = result->audio_start + Units::to_int64(scaled_len * default_asset->sample_rate); + if( result->audio_end > audio_end ) result->audio_end = audio_end; result->video_end = result->video_start + Units::to_int64(scaled_len * default_asset->frame_rate); - if(result->video_end == result->video_start) result->video_end++; + if( result->video_end > video_end ) result->video_end = video_end; + if( result->video_end == result->video_start ) result->video_end++; audio_position = result->audio_end; video_position = result->video_end; result->audio_do = default_asset->audio_data;