X-Git-Url: https://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fcinelerra%2Ffilelist.C;h=8c923409ebf319e2653633354d0550324cbf3e11;hb=HEAD;hp=591cb8114a3454a24b87db6745f6af3f9203abeb;hpb=ac8f3979437fb45effb135a1bb6bee871f52d635;p=goodguy%2Fcinelerra.git diff --git a/cinelerra-5.1/cinelerra/filelist.C b/cinelerra-5.1/cinelerra/filelist.C index 591cb811..3443a8b4 100644 --- a/cinelerra-5.1/cinelerra/filelist.C +++ b/cinelerra-5.1/cinelerra/filelist.C @@ -2,6 +2,7 @@ /* * CINELERRA * Copyright (C) 1997-2012 Adam Williams + * Copyright (C) 2003-2016 Cinelerra CV contributors * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -112,9 +113,10 @@ int FileList::open_file(int rd, int wr) //printf("FileList::open_file %d asset->path=%s\n", __LINE__, asset->path); if(stream) { + int width = asset->width, height = asset->height; char string[BCTEXTLEN]; int len = strlen(list_prefix); - int ret = fread(string, 1, strlen(list_prefix), stream); + int ret = fread(string, 1, len, stream); fclose(stream); result = len == ret ? 0 : 1; if( !result && !strncasecmp(string, list_prefix, len)) { @@ -131,12 +133,17 @@ int FileList::open_file(int rd, int wr) else result = 1; if( !result ) { - asset->actual_width = asset->width; - asset->actual_height = asset->height; + asset->actual_width = asset->width; + asset->actual_height = asset->height; int scale = asset->proxy_scale; - if( !scale ) scale = 1; - asset->width = asset->actual_width * scale; - asset->height = asset->actual_height * scale; + if( scale ) { + asset->width = asset->actual_width * scale; + asset->height = asset->actual_height * scale; + } + else { // can_scale_input + if( width ) asset->width = width; + if( height ) asset->height = height; + } asset->layers = 1; if( !asset->frame_rate ) asset->frame_rate = 10;