diff --git a/mp4/decoder.py b/mp4/decoder.py index d6c346a..54144b3 100644 --- a/mp4/decoder.py +++ b/mp4/decoder.py @@ -38,7 +38,13 @@ class Decoder: if 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 = [] while True: frame = Frame() @@ -50,12 +56,3 @@ class Decoder: raise Exception(f"Failed to receive frame: {errstring}") frames.append(frame) 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()