import pcap, yaml, time, pathlib, sys

def iter_frames(capture_cfg):
    if "pcap_file" in capture_cfg:
        with open(capture_cfg["pcap_file"], "rb") as fp:
            while chunk := fp.read(65535):
                yield chunk
                time.sleep(0.02)          # slow down replay
    else:
        cap = pcap.pcap(name=capture_cfg["interface"], promisc=True, immediate=True)
        for _ts, raw in cap:
            yield raw
