diff --git a/scripts/ivas_conformance/runConformance.py b/scripts/ivas_conformance/runConformance.py index b69659880487583514c7439325172c2756826a18..6ee1b0f2979336d6425ba31c6fda8cd41ab7b5d1 100644 --- a/scripts/ivas_conformance/runConformance.py +++ b/scripts/ivas_conformance/runConformance.py @@ -38,7 +38,7 @@ import subprocess import tempfile import sys from typing import Tuple -from multiprocessing import Pool +from multiprocessing import Pool, Lock from dataclasses import dataclass from typing import Union import shutil @@ -50,6 +50,7 @@ import filecmp sys.path.append(os.path.join(os.path.dirname(os.path.abspath(__file__)), "..")) +mldLock = Lock() def readfile( filename: str, nchannels: int = 1, fs: int = 48000, outdtype="float" @@ -849,8 +850,11 @@ class MLDConformance: np.array([f"{pytestTag}-FRM{x}" for x in range(mldThisFile.size)]), ) ) - with open(self.mldcsv[tag], "ab") as f: - np.savetxt(f, mldWithTags, fmt="%s", delimiter=",") + global mldLock + with mldLock: + with open(self.mldcsv[tag], "ab") as f: + np.savetxt(f, mldWithTags, fmt="%s", delimiter=",") + with open(self.sampleStats[tag], "a") as f: f.write( f"{pytestTag}, {maxDiff}, {rmsdB}, {beSamplesPercent}, {mldThisFile.max()}\n"