removed the walrus operator to remain compatible with Python 3.7

This commit is contained in:
k4yt3x 2022-09-04 00:06:46 +00:00
parent 176ae90bbb
commit 85437a8481

View File

@ -104,14 +104,11 @@ class VideoDecoder:
def __iter__(self):
# continue yielding while FFmpeg continues to produce output
while (
len(
buffer := self.decoder.stdout.read(
3 * self.input_width * self.input_height
)
)
> 0
):
# it is possible to use := for this block to be more concise
# but it is purposefully avoided to remain compatible with Python 3.7
buffer = self.decoder.stdout.read(3 * self.input_width * self.input_height)
while len(buffer) > 0:
# convert raw bytes into image object
frame = Image.frombytes(
@ -121,6 +118,9 @@ class VideoDecoder:
# return this frame
yield frame
# read the next frame
buffer = self.decoder.stdout.read(3 * self.input_width * self.input_height)
# automatically self-join and clean up after iterations are done
self.join()