          >>>         <do final processing>
          >>>     else:
          >>>         <do intermediate processing>
          >>>         extractor.input_queue.put(extract_media)
          """
          retval = self._is_parallel or self.phase == self._final_phase
          logger.trace(retval)
 
</s> remove         >>>         extractor.input_queue.put({"filename": "path/to/image/file",
        >>>                                    "image": numpy.array(image),
        >>>                                    "detected_faces": [<DetectedFace objects]})
 </s> add         >>>         extractor.input_queue.put(extract_media) </s> remove         >>>         extractor.input_queue.put({"filename": "path/to/image/file",
        >>>                                    "image": numpy.array(image),
        >>>                                    "detected_faces": [<DetectedFace objects]})
 </s> add         >>>         extract_media.set_image(image)
        >>>         extractor.input_queue.put(extract_media) </s> remove         >>>         extractor.input_queue.put({"filename": "path/to/image/file",
        >>>                                    "image": numpy.array(image)})
 </s> add         >>>         extract_media = ExtractMedia("path/to/image/file", image)
        >>>         extractor.input_queue.put(extract_media) </s> remove         >>> for face in extractor.detected_faces():
        >>>     filename = face["filename"]
        >>>     image = face["image"]
        >>>     detected_faces = face["detected_faces"]
 </s> add         >>> for extract_media in extractor.detected_faces():
        >>>     filename = extract_media.filename
        >>>     image = extract_media.image
        >>>     detected_faces = extract_media.detected_faces </s> remove             logger.trace("Yielding: (filename: '%s', image: %s, detected_faces: %s)",
                         retval["filename"], retval["image"].shape, len(retval["detected_faces"]))
            yield retval
 </s> add             logger.trace("Final Output: (filename: '%s', image shape: %s, detected_faces: %s, "
                         "item: %s)",
                         output.filename, output.image_shape, output.detected_faces, output)
            yield output
        >>>         extract_media.set_image(image)
          >>>         <do final processing>
          >>>     else:
        >>>         extract_media.set_image(image)
          >>>         <do intermediate processing>
          >>>         extractor.input_queue.put(extract_media)
          """
          retval = self._is_parallel or self.phase == self._final_phase
          logger.trace(retval)
keep add keep keep keep keep keep
 plugins.extract - Create ExtractMedia class for pipeline flow
Bugfix - Fix memory leak in extract 
plugins/extract/pipeline.py