diff --git a/human/human_render.py b/human/human_render.py
index 4210b75..8837012 100644
--- a/human/human_render.py
+++ b/human/human_render.py
@@ -40,6 +40,10 @@ class HumanRender(AudioHandler):
             type_ = 0
         self._video_render.put((res_frame, idx, type_))
 
+    def pause_handle(self):
+        if self._video_render.size() > self._context.batch_size * 2:
+            super().pause_handle()
+
     def pause_talk(self):
         self._voice_render.pause_talk()
         self._video_render.pause_talk()
diff --git a/human_handler/audio_handler.py b/human_handler/audio_handler.py
index 89e01d5..2b8df73 100644
--- a/human_handler/audio_handler.py
+++ b/human_handler/audio_handler.py
@@ -14,6 +14,13 @@ class AudioHandler(ABC):
     def on_handle(self, stream, index):
         pass
 
+    @abstractmethod
+    def pause_handle(self):
+        if self._handler is not None:
+            self._handler.pause_handle()
+        else:
+            logging.info(f'_handler is None')
+
     @abstractmethod
     def stop(self):
         pass
diff --git a/render/base_render.py b/render/base_render.py
index 7bb8e6b..2f71140 100644
--- a/render/base_render.py
+++ b/render/base_render.py
@@ -30,6 +30,9 @@ class BaseRender(ABC):
         ps = time.time() - self._play_clock.start_time
         self._queue.put_nowait((frame, ps))
 
+    def size(self):
+        return self._queue.qsize()
+
     def pause_talk(self):
         self._queue.queue.clear()