obs-ffmpeg, UI: Allow slash in recording names

Automatically generate directories if slashes are present in a recording
name format set in advanced settings or in the replay buffer
prefix/suffix settings.

Fixes obsproject/obs-studio#2416
Closes obsproject/obs-studio#2858
This commit is contained in:
jp9000 2020-06-27 05:16:59 -07:00
parent bb890a674e
commit 002886bbac
2 changed files with 8 additions and 2 deletions

View File

@ -837,8 +837,7 @@ bool SimpleOutput::StartStreaming(obs_service_t *service)
static void remove_reserved_file_characters(string &s)
{
replace(s.begin(), s.end(), '/', '_');
replace(s.begin(), s.end(), '\\', '_');
replace(s.begin(), s.end(), '\\', '/');
replace(s.begin(), s.end(), '*', '_');
replace(s.begin(), s.end(), '?', '_');
replace(s.begin(), s.end(), '"', '_');

View File

@ -863,6 +863,13 @@ static void replay_buffer_save(struct ffmpeg_muxer *stream)
dstr_cat_ch(&stream->path, '/');
dstr_cat(&stream->path, filename);
char *slash = strrchr(stream->path.array, '/');
if (slash) {
*slash = 0;
os_mkdirs(stream->path.array);
*slash = '/';
}
bfree(filename);
obs_data_release(settings);