diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c index 5af3ea8fa7b835d84b511a67341dfba1ea60059c..be74174a3b44bf1efe2a5ce77c8e330ad01dd31d 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c @@ -491,6 +491,12 @@ static bool replay_buffer_hotkey(void *data, obs_hotkey_id id, return true; } +static void save_replay_proc(void *data, calldata_t *cd) +{ + replay_buffer_hotkey(data, 0, NULL, true); + UNUSED_PARAMETER(cd); +} + static void *replay_buffer_create(obs_data_t *settings, obs_output_t *output) { struct ffmpeg_muxer *stream = bzalloc(sizeof(*stream)); @@ -501,6 +507,9 @@ static void *replay_buffer_create(obs_data_t *settings, obs_output_t *output) obs_module_text("ReplayBuffer.Save"), replay_buffer_hotkey, stream); + proc_handler_t *ph = obs_output_get_proc_handler(output); + proc_handler_add(ph, "void save()", save_replay_proc, stream); + UNUSED_PARAMETER(settings); return stream; }