X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Fresourcethread.C;h=853ae0245119c231d41f2976f618b831bc0c926c;hb=38cb4182e11e57fc426bede3825e825e9d61433b;hp=c14bf27b79ca0b7b36def8d5e1afc7aba6baf128;hpb=30bdb85eb33a8ee7ba675038a86c6be59c43d7bd;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/cinelerra/resourcethread.C b/cinelerra-5.1/cinelerra/resourcethread.C index c14bf27b..853ae024 100644 --- a/cinelerra-5.1/cinelerra/resourcethread.C +++ b/cinelerra-5.1/cinelerra/resourcethread.C @@ -338,8 +338,8 @@ void ResourceThread::stop() done = 1; interrupted = 1; draw_lock->unlock(); - join(); } + join(); } @@ -364,7 +364,7 @@ void ResourceThread::open_render_engine(EDL *nested_edl, command.change_type = CHANGE_ALL; command.realtime = 0; render_engine = new RenderEngine(0, - mwindow->preferences, 0, 0, 0); + mwindow->preferences, 0, 0); render_engine_id = nested_edl->id; render_engine->set_vcache(mwindow->video_cache); render_engine->set_acache(mwindow->audio_cache); @@ -374,6 +374,8 @@ void ResourceThread::open_render_engine(EDL *nested_edl, File *ResourceThread::get_audio_source(Asset *asset) { + if( interrupted ) asset = 0; + if( audio_asset && audio_asset != asset && (!asset || strcmp(audio_asset->path, asset->path)) ) { @@ -394,6 +396,8 @@ File *ResourceThread::get_audio_source(Asset *asset) File *ResourceThread::get_video_source(Asset *asset) { + if( interrupted ) asset = 0; + if( video_asset && video_asset != asset && (!asset || strcmp(video_asset->path, asset->path)) ) {