                  batch.setdefault("filename", []).append(item["filename"])
                  batch.setdefault("image", []).append(item["image"])
                  idx += 1
                  if idx == self.batchsize:
                      frame_faces = len(item["detected_faces"])
                      if f_idx + 1 != frame_faces:
                          self._rollover = {k: v[f_idx + 1:] if k == "detected_faces" else v
                                            for k, v in item.items()}
                          logger.trace("Rolled over %s faces of %s to next batch for '%s'",
                                       len(self._rollover["detected_faces"]),
 
</s> remove                     frame_faces = len(item["detected_faces"])
 </s> add                     frame_faces = len(item.detected_faces) </s> remove                         self._rollover = {k: v[f_idx + 1:] if k == "detected_faces" else v
                                          for k, v in item.items()}
 </s> add                         self._rollover = ExtractMedia(item.filename, item.image)
                        self._rollover.add_detected_faces(item.detected_faces[f_idx + 1:]) </s> remove                         self._rollover = {k: v[f_idx + 1:] if k == "detected_faces" else v
                                          for k, v in item.items()}
 </s> add                         self._rollover = ExtractMedia(item.filename, item.image)
                        self._rollover.add_detected_faces(item.detected_faces[f_idx + 1:]) </s> remove                 batch.setdefault("filename", []).append(item["filename"])
                batch.setdefault("image", []).append(item["image"])
 </s> add                 batch.setdefault("filename", []).append(item.filename) </s> remove                 batch.setdefault("filename", []).append(item["filename"])
                batch.setdefault("image", []).append(item["image"])
 </s> add                 batch.setdefault("filename", []).append(item.filename)
                    frame_faces = len(item.detected_faces)
                  batch.setdefault("filename", []).append(item["filename"])
                  batch.setdefault("image", []).append(item["image"])
                  idx += 1
                  if idx == self.batchsize:
                    frame_faces = len(item.detected_faces)
                      if f_idx + 1 != frame_faces:
                          self._rollover = {k: v[f_idx + 1:] if k == "detected_faces" else v
                                            for k, v in item.items()}
                          logger.trace("Rolled over %s faces of %s to next batch for '%s'",
                                       len(self._rollover["detected_faces"]),
keep keep keep keep replace keep keep keep keep keep
 plugins.extract - Create ExtractMedia class for pipeline flow
Bugfix - Fix memory leak in extract 
plugins/extract/align/_base.py