This commit is contained in:
2025-10-04 04:27:24 +02:00
parent 97dd6c691b
commit 5825c67f30

View File

@ -38,7 +38,13 @@ class Decoder:
if self._context: if self._context:
libav.codec_free_context(self._context) libav.codec_free_context(self._context)
def _receive(self): def decode(self, packet):
if not self._context:
return None
errcode = libav.codec_send_packet(self._context, packet)
if errcode < 0:
errstring = libav.strerror(errcode)
raise Exception(f"Failed to send packet: {errstring}")
frames = [] frames = []
while True: while True:
frame = Frame() frame = Frame()
@ -50,12 +56,3 @@ class Decoder:
raise Exception(f"Failed to receive frame: {errstring}") raise Exception(f"Failed to receive frame: {errstring}")
frames.append(frame) frames.append(frame)
return frames return frames
def decode(self, packet):
if not self._context:
return None
errcode = libav.codec_send_packet(self._context, packet)
if errcode < 0:
errstring = libav.strerror(errcode)
raise Exception(f"Failed to send packet: {errstring}")
return self._receive()