projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add refresh rate to vicons + a bunch of bug fixes
[goodguy/history.git]
/
cinelerra-5.0
/
cinelerra
/
resourcethread.C
diff --git
a/cinelerra-5.0/cinelerra/resourcethread.C
b/cinelerra-5.0/cinelerra/resourcethread.C
index ba6729c3fd7cabf0c87cef49f7b916e9349a2655..c14bf27b79ca0b7b36def8d5e1afc7aba6baf128 100644
(file)
--- a/
cinelerra-5.0/cinelerra/resourcethread.C
+++ b/
cinelerra-5.0/cinelerra/resourcethread.C
@@
-195,6
+195,8
@@
ResourceThread::~ResourceThread()
delete temp_buffer[i];
delete timer;
delete render_engine;
delete temp_buffer[i];
delete timer;
delete render_engine;
+ if( audio_asset ) audio_asset->remove_user();
+ if( video_asset ) video_asset->remove_user();
}
void ResourceThread::create_objects()
}
void ResourceThread::create_objects()
@@
-377,12
+379,14
@@
File *ResourceThread::get_audio_source(Asset *asset)
{
mwindow->audio_cache->check_in(audio_asset);
audio_source = 0;
{
mwindow->audio_cache->check_in(audio_asset);
audio_source = 0;
+ audio_asset->remove_user();
audio_asset = 0;
}
if( !audio_asset && asset )
{
audio_asset = asset;
audio_asset = 0;
}
if( !audio_asset && asset )
{
audio_asset = asset;
+ audio_asset->add_user();
audio_source = mwindow->audio_cache->check_out(asset, mwindow->edl);
}
return audio_source;
audio_source = mwindow->audio_cache->check_out(asset, mwindow->edl);
}
return audio_source;
@@
-395,12
+399,14
@@
File *ResourceThread::get_video_source(Asset *asset)
{
mwindow->video_cache->check_in(video_asset);
video_source = 0;
{
mwindow->video_cache->check_in(video_asset);
video_source = 0;
+ video_asset->remove_user();
video_asset = 0;
}
if( !video_asset && asset )
{
video_asset = asset;
video_asset = 0;
}
if( !video_asset && asset )
{
video_asset = asset;
+ video_asset->add_user();
video_source = mwindow->video_cache->check_out(asset, mwindow->edl);
}
return video_source;
video_source = mwindow->video_cache->check_out(asset, mwindow->edl);
}
return video_source;