#!python

if __name__ == "__main__":
    from asb import AndroidScreenBuffer
    import argparse as ap
    import cv2

    par = ap.ArgumentParser(add_help=True)
    par.add_argument('-p', '--port', help="Minicap port", default=1313)
    par.add_argument('-b', '--bitrate', help="Stream bitrate",
                     default=120000, type=int)
    par.add_argument('-r', '--output-ratio', help="Output ratio, used to" \
                     " estimate output height from specified output width",
                     default=0.1, type=float)

    args = vars(par.parse_args())

    asb = AndroidScreenBuffer(minicap_port=args['port'],
                              scale_ratio=args['output_ratio'],
                              bitrate=args['bitrate']
                              )

    asb.run()

    while True:
        img = asb.get_last_frame()
        if img is not None:
            cv2.imshow('capture', img)
        if cv2.waitKey(25) & 0xFF == ord('q'):
            cv2.destroyAllWindows()
            asb.stop()
            exit(0)
            break
