瀏覽代碼

libobs: Fix pause cutting out video data prematurely

When pause has been activated, the video_pause_check() function is used
when receiving raw frames in order to filter out frames that are in the
pause window, that way they aren't sent to the encoder or output.

However, when pause was enabled, it was unintentionally filtering out
some frames before the specified starting timestamp as well, causing
extra video data to get cut out prematurely.  This fixes that issue.
jp9000 6 年之前
父節點
當前提交
03e008fd2e
共有 1 個文件被更改,包括 2 次插入5 次删除
  1. 2 5
      libobs/obs-encoder.c

+ 2 - 5
libobs/obs-encoder.c

@@ -981,14 +981,11 @@ static inline bool video_pause_check_internal(struct pause_data *pause,
 		return false;
 	}
 
-	if (ts == pause->ts_start) {
-		return true;
-
-	} else if (ts == pause->ts_end) {
+	if (ts == pause->ts_end) {
 		pause->ts_start = 0;
 		pause->ts_end = 0;
-	} else {
 
+	} else if (ts >= pause->ts_start) {
 		return true;
 	}