projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lock xft, plugin index builder lock, clear clip thumbnails, clear vwin clock, setpoin...
[goodguy/history.git]
/
cinelerra-5.1
/
cinelerra
/
proxy.C
diff --git
a/cinelerra-5.1/cinelerra/proxy.C
b/cinelerra-5.1/cinelerra/proxy.C
index fc1380edfc9b32391fcef17707543b427322daea..45feb5951354a36d5e668f73080483ddc6ababba 100644
(file)
--- a/
cinelerra-5.1/cinelerra/proxy.C
+++ b/
cinelerra-5.1/cinelerra/proxy.C
@@
-161,6
+161,10
@@
void ProxyDialog::calculate_sizes()
void ProxyDialog::handle_close_event(int result)
{
if( result ) return;
void ProxyDialog::handle_close_event(int result)
{
if( result ) return;
+ if( !File::renders_video(asset) ) {
+ eprintf("Specified format does not render video");
+ return;
+ }
mwindow->edl->session->proxy_use_scaler = use_scaler;
mwindow->edl->session->proxy_auto_scale = auto_scale;
mwindow->edl->session->proxy_beep = beep;
mwindow->edl->session->proxy_use_scaler = use_scaler;
mwindow->edl->session->proxy_auto_scale = auto_scale;
mwindow->edl->session->proxy_beep = beep;
@@
-260,15
+264,15
@@
Asset *ProxyRender::add_original(Indexable *idxbl, int new_scale)
if( !proxy ) {
proxy = new Asset(new_path);
// new compression parameters
if( !proxy ) {
proxy = new Asset(new_path);
// new compression parameters
- int64_t video_
length
= idxbl->get_video_frames();
- if( video_
length
< 0 ) {
+ int64_t video_
frames
= idxbl->get_video_frames();
+ if( video_
frames
< 0 ) {
proxy->format = FILE_PNG;
proxy->png_use_alpha = 1;
proxy->format = FILE_PNG;
proxy->png_use_alpha = 1;
- proxy->video_length = 1;
+ proxy->video_length =
-
1;
}
else {
proxy->copy_format(format_asset, 0);
}
else {
proxy->copy_format(format_asset, 0);
- proxy->video_length = video_
length
;
+ proxy->video_length = video_
frames
;
}
proxy->awindow_folder = AW_PROXY_FOLDER;
proxy->audio_data = 0;
}
proxy->awindow_folder = AW_PROXY_FOLDER;
proxy->audio_data = 0;
@@
-281,9
+285,7
@@
Asset *ProxyRender::add_original(Indexable *idxbl, int new_scale)
if( proxy->height & 1 ) ++proxy->height;
proxy->actual_height = proxy->height;
proxy->frame_rate = idxbl->get_frame_rate();
if( proxy->height & 1 ) ++proxy->height;
proxy->actual_height = proxy->height;
proxy->frame_rate = idxbl->get_frame_rate();
- edl_assets->append(proxy);
}
}
- proxy->add_user();
orig_proxies.append(proxy);
idxbl->add_user();
orig_idxbls.append(idxbl);
orig_proxies.append(proxy);
idxbl->add_user();
orig_idxbls.append(idxbl);
@@
-472,6
+474,7
@@
void ProxyUseScaler::update()
int ProxyUseScaler::handle_event()
{
int ProxyUseScaler::handle_event()
{
+ pwindow->dialog->new_scale = 1;
pwindow->dialog->use_scaler = get_value();
pwindow->scale_factor->update_sizes();
pwindow->update();
pwindow->dialog->use_scaler = get_value();
pwindow->scale_factor->update_sizes();
pwindow->update();
@@
-659,6
+662,7
@@
void ProxyClient::process_package(LoadPackage *ptr)
result = dst_file.open_file(preferences, proxy, 0, 1);
if( result ) {
proxy_render->failed = 1;
result = dst_file.open_file(preferences, proxy, 0, 1);
if( result ) {
proxy_render->failed = 1;
+ ::remove(proxy->path);
return;
}
return;
}
@@
-708,6
+712,8
@@
void ProxyClient::process_package(LoadPackage *ptr)
mwindow->mainindexes->add_next_asset(0, asset);
mwindow->mainindexes->start_build();
}
mwindow->mainindexes->add_next_asset(0, asset);
mwindow->mainindexes->start_build();
}
+ else
+ ::remove(proxy->path);
}
}