Przeglądaj źródła

obs-ffmpeg: Don't purge packets when there are none

Exeldro 4 lat temu
rodzic
commit
62d0661f98
1 zmienionych plików z 5 dodań i 0 usunięć
  1. 5 0
      plugins/obs-ffmpeg/obs-ffmpeg-mux.c

+ 5 - 0
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)