From 4b17b82aabab8aa7d730da4f6a02bd8e11f4784d Mon Sep 17 00:00:00 2001 From: jp9000 Date: Tue, 28 Jul 2020 13:55:44 -0700 Subject: [PATCH] obs-ffmpeg: Set async video frame immediately when seeking --- plugins/obs-ffmpeg/obs-ffmpeg-source.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-source.c b/plugins/obs-ffmpeg/obs-ffmpeg-source.c index 5918bd20b..e42ca1ef2 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-source.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-source.c @@ -262,6 +262,12 @@ static void preload_frame(void *opaque, struct obs_source_frame *f) FF_BLOG(LOG_INFO, "Reconnected."); } +static void seek_frame(void *opaque, struct obs_source_frame *f) +{ + struct ffmpeg_source *s = opaque; + obs_source_set_video_frame(s->source, f); +} + static void get_audio(void *opaque, struct obs_source_audio *a) { struct ffmpeg_source *s = opaque; @@ -292,6 +298,7 @@ static void ffmpeg_source_open(struct ffmpeg_source *s) .opaque = s, .v_cb = get_frame, .v_preload_cb = preload_frame, + .v_seek_cb = seek_frame, .a_cb = get_audio, .stop_cb = media_stopped, .path = s->input,