async def parse_packets_async(self, binary_packets, sniff_times=None, timeout=DEFAULT_TIMEOUT):
        """A coroutine which parses binary packets and return a list of parsed packets.

        DOES NOT CLOSE tshark. It must be closed manually by calling close() when you're done
        working with it.
        """
        parsed_packets = []
        if sniff_times is None:
            sniff_times = []
        if not self._current_tshark:
            await self._get_tshark_process()
        for binary_packet, sniff_time in itertools.zip_longest(binary_packets, sniff_times):
            self._write_packet(binary_packet, sniff_time)

        def callback(pkt):
            parsed_packets.append(pkt)
            if len(parsed_packets) == len(binary_packets):
                raise StopCapture()

        await self._get_parsed_packet_from_tshark(callback, timeout)
        return parsed_packets
A coroutine which parses binary packets and return a list of parsed packets.

        DOES NOT CLOSE tshark. It must be closed manually by calling close() when you're done
        working with it.
        
src/pyshark/capture/inmem_capture.py