diff --git a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c index cba35e651..ee5c8f15a 100644 --- a/plugins/obs-ffmpeg/obs-ffmpeg-mux.c +++ b/plugins/obs-ffmpeg/obs-ffmpeg-mux.c @@ -724,6 +724,9 @@ static bool purge_front(struct ffmpeg_muxer *stream) struct encoder_packet pkt; bool keyframe; + if (!stream->packets.size) + return false; + circlebuf_pop_front(&stream->packets, &pkt, sizeof(pkt)); keyframe = pkt.type == OBS_ENCODER_VIDEO && pkt.keyframe; @@ -751,6 +754,8 @@ static inline void purge(struct ffmpeg_muxer *stream) struct encoder_packet pkt; for (;;) { + if (!stream->packets.size) + return; circlebuf_peek_front(&stream->packets, &pkt, sizeof(pkt)); if (pkt.type == OBS_ENCODER_VIDEO && pkt.keyframe)