Fix T37591: 'Extensions' option ignored for movies.

This commit is contained in:
Campbell Barton
2013-11-25 16:59:10 +11:00
parent 8cb02561a9
commit d45ea33ff1
5 changed files with 50 additions and 21 deletions

View File

@@ -132,9 +132,16 @@ static void filepath_avi(char *string, RenderData *rd)
BLI_make_existing_file(string);
if (!BLI_testextensie(string, ".avi")) {
BLI_path_frame_range(string, rd->sfra, rd->efra, 4);
strcat(string, ".avi");
if (rd->scemode & R_EXTENSION) {
if (!BLI_testextensie(string, ".avi")) {
BLI_path_frame_range(string, rd->sfra, rd->efra, 4);
strcat(string, ".avi");
}
}
else {
if (BLI_path_frame_check_chars(string)) {
BLI_path_frame_range(string, rd->sfra, rd->efra, 4);
}
}
}

View File

@@ -1023,23 +1023,32 @@ void BKE_ffmpeg_filepath_get(char *string, RenderData *rd)
sprintf(autosplit, "_%03d", ffmpeg_autosplit_count);
}
while (*fe) {
if (BLI_strcasecmp(string + strlen(string) - strlen(*fe), *fe) == 0) {
break;
if (rd->scemode & R_EXTENSION) {
while (*fe) {
if (BLI_strcasecmp(string + strlen(string) - strlen(*fe), *fe) == 0) {
break;
}
fe++;
}
fe++;
}
if (*fe == NULL) {
strcat(string, autosplit);
if (*fe == NULL) {
strcat(string, autosplit);
BLI_path_frame_range(string, rd->sfra, rd->efra, 4);
strcat(string, *exts);
BLI_path_frame_range(string, rd->sfra, rd->efra, 4);
strcat(string, *exts);
}
else {
*(string + strlen(string) - strlen(*fe)) = 0;
strcat(string, autosplit);
strcat(string, *fe);
}
}
else {
*(string + strlen(string) - strlen(*fe)) = 0;
if (BLI_path_frame_check_chars(string)) {
BLI_path_frame_range(string, rd->sfra, rd->efra, 4);
}
strcat(string, autosplit);
strcat(string, *fe);
}
}