X-Git-Url: https://main.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=hacks%2Fstress.py;h=4e20fa23617ee441d508082c5594eff675e31c65;hp=46d06382b3ac4f130e5657bb703ffe511462f3a6;hb=fbde12105a43cddb32ef2736cafd540cc5a70dda;hpb=579d18cb7770efe2da03afaf6a33faaf624119e3 diff --git a/hacks/stress.py b/hacks/stress.py index 46d06382b..4e20fa236 100644 --- a/hacks/stress.py +++ b/hacks/stress.py @@ -1,22 +1,36 @@ #!/usr/bin/python3 import random +import subprocess -def make(dcp, output, seeks): - with open(output, 'w') as f: - # Open the DCP and start it playing - print("O %s" % dcp, file=f) - print("P", file=f) - for i in range(seeks): - # Wait a bit - print("W %d" % random.randint(500, 60000), file=f) - # Seek - print("K %d" % random.randint(0, 4095), file=f) - # Make sure we're still playing - print("P", file=f) - print("S", file=f) +def make_seeks(dcp, output, seeks): + with open(output, 'w') as f: + # Open the DCP and start it playing + print("O %s" % dcp, file=f) + print("P", file=f) + for i in range(seeks): + # Wait a bit + print("W %d" % random.randint(500, 60000), file=f) + # Seek + print("K %d" % random.randint(0, 4095), file=f) + # Make sure we're still playing + print("P", file=f) + print("S", file=f) +def make_repeated_play(dcp, output, plays): + length_parts = subprocess.check_output(['dcpinfo', '-o', 'total-time', dcp]).decode('utf-8').split(' ')[1].split(':') + # Hackily ignore frames here + length = int(length_parts[0]) * 3600 + int(length_parts[1]) * 60 + int(length_parts[2]) + with open(output, 'w') as f: + print("O %s" % dcp, file=f) + for i in range(0, plays): + print("P", file=f) + print("W %d" % (length * 1000), file=f) + print("S", file=f) + print("K 0", file=f) + +make_seeks("/home/carl/DCP/Examples/BohemianRhapsody_TLR-7_S_DE-XX_DE_51_2K_TCFG_20180514_TM_IOP_OV/", "boho_seek", 64) +make_repeated_play("/home/carl/DCP/Examples/BohemianRhapsody_TLR-7_S_DE-XX_DE_51_2K_TCFG_20180514_TM_IOP_OV/", "boho_long", 1000) -make("/home/carl/DCP/Examples/BohemianRhapsody_TLR-7_S_DE-XX_DE_51_2K_TCFG_20180514_TM_IOP_OV/", "boho", 64)