Revert "Don't download PESQ and POLQA in the low_bandwidth_audio_test.py script."

Reason for revert: Breaks windows bot.
https://build.chromium.org/p/client.webrtc.perf/builders/Win7/builds/3804

TBR=kjellander@webrtc.org,phoglund@webrtc.org,ehmaldonado@webrtc.org,oprypin@webrtc.org

Change-Id: I0f2221b66c4f7dcf0a6f03004e5acc24c77ba8b0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:755660
Reviewed-on: https://webrtc-review.googlesource.com/6001
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20117}
This commit is contained in:
Edward Lemur 2017-10-03 14:00:06 +00:00 committed by Commit Bot
parent 1d87b0e40f
commit 45a0b36d3f

View File

@ -27,18 +27,6 @@ import sys
SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
SRC_DIR = os.path.normpath(os.path.join(SCRIPT_DIR, os.pardir, os.pardir))
NO_TOOLS_ERROR_MESSAGE = (
'Could not find PESQ or POLQA at %s.\n'
'\n'
'To fix this run:\n'
' python %s %s\n'
'\n'
'Note that these tools are Google-internal due to licensing, so in order to '
'use them you will have to get your own license and manually put them in the '
'right location.\n'
'See https://cs.chromium.org/chromium/src/third_party/webrtc/tools_webrtc/'
'download_tools.py?rcl=bbceb76f540159e2dba0701ac03c514f01624130&l=13')
def _LogCommand(command):
logging.info('Running %r', command)
@ -67,26 +55,17 @@ def _GetPlatform():
return 'linux'
def _GetPathToTools():
def _DownloadTools():
tools_dir = os.path.join(SRC_DIR, 'tools_webrtc')
toolchain_dir = os.path.join(tools_dir, 'audio_quality')
platform = _GetPlatform()
pesq_path = os.path.join(toolchain_dir, platform, 'pesq')
if not os.path.isfile(pesq_path):
pesq_path = None
polqa_path = os.path.join(toolchain_dir, platform, 'PolqaOem64')
if not os.path.isfile(polqa_path):
polqa_path = None
if (platform != 'mac' and not polqa_path) or not pesq_path:
logging.error(NO_TOOLS_ERROR_MESSAGE,
toolchain_dir,
os.path.join(tools_dir, 'download_tools.py'),
toolchain_dir)
# Download PESQ and POLQA.
download_script = os.path.join(tools_dir, 'download_tools.py')
command = [sys.executable, download_script, toolchain_dir]
subprocess.check_call(_LogCommand(command))
pesq_path = os.path.join(toolchain_dir, _GetPlatform(), 'pesq')
polqa_path = os.path.join(toolchain_dir, _GetPlatform(), 'PolqaOem64')
return pesq_path, polqa_path
@ -161,8 +140,15 @@ def _RunPolqa(executable_path, reference_file, degraded_file):
# Analyze audio.
command = [executable_path, '-q', '-LC', 'NB',
'-Ref', reference_file, '-Test', degraded_file]
process = subprocess.Popen(_LogCommand(command),
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
try:
process = subprocess.Popen(_LogCommand(command),
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
except OSError as e:
if e.errno == os.errno.ENOENT:
logging.warning('POLQA executable missing, skipping test.')
return {}
else:
raise
out, err = process.communicate()
# Find the scores in stdout of POLQA.
@ -190,9 +176,7 @@ def main():
args = _ParseArgs()
pesq_path, polqa_path = _GetPathToTools()
if pesq_path is None:
return 1
pesq_path, polqa_path = _DownloadTools()
out_dir = os.path.join(args.build_dir, '..')
if args.android:
@ -205,7 +189,7 @@ def main():
# Check if POLQA can run at all, or skip the 48 kHz tests entirely.
example_path = os.path.join(SRC_DIR, 'resources',
'voice_engine', 'audio_tiny48.wav')
if polqa_path and _RunPolqa(polqa_path, example_path, example_path):
if _RunPolqa(polqa_path, example_path, example_path):
analyzers.append(Analyzer(_RunPolqa, polqa_path, 48000))
for analyzer in analyzers: