mirror of
https://github.com/k4yt3x/video2x.git
synced 2026-05-18 01:16:09 +08:00
added pause function
This commit is contained in:
@@ -19,15 +19,15 @@ along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
Name: Interpolator
|
||||
Author: K4YT3X
|
||||
Date Created: May 27, 2021
|
||||
Last Modified: February 28, 2022
|
||||
Last Modified: March 20, 2022
|
||||
"""
|
||||
|
||||
import multiprocessing
|
||||
import multiprocessing.managers
|
||||
import multiprocessing.sharedctypes
|
||||
import queue
|
||||
import signal
|
||||
import time
|
||||
from multiprocessing.managers import ListProxy
|
||||
from multiprocessing.sharedctypes import Synchronized
|
||||
|
||||
from loguru import logger
|
||||
from PIL import ImageChops, ImageStat
|
||||
@@ -40,12 +40,14 @@ class Interpolator(multiprocessing.Process):
|
||||
def __init__(
|
||||
self,
|
||||
processing_queue: multiprocessing.Queue,
|
||||
processed_frames: multiprocessing.managers.ListProxy,
|
||||
processed_frames: ListProxy,
|
||||
pause: Synchronized,
|
||||
) -> None:
|
||||
multiprocessing.Process.__init__(self)
|
||||
self.running = False
|
||||
self.processing_queue = processing_queue
|
||||
self.processed_frames = processed_frames
|
||||
self.pause = pause
|
||||
|
||||
signal.signal(signal.SIGTERM, self._stop)
|
||||
|
||||
@@ -57,6 +59,11 @@ class Interpolator(multiprocessing.Process):
|
||||
processor_objects = {}
|
||||
while self.running:
|
||||
try:
|
||||
# pause if pause flag is set
|
||||
if self.pause.value is True:
|
||||
time.sleep(0.1)
|
||||
continue
|
||||
|
||||
try:
|
||||
# get new job from queue
|
||||
(
|
||||
|
||||
Reference in New Issue
Block a user