summaryrefslogtreecommitdiff
path: root/pjsip-apps/src/test-pjsua/mod_media_playrec.py
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip-apps/src/test-pjsua/mod_media_playrec.py')
-rw-r--r--pjsip-apps/src/test-pjsua/mod_media_playrec.py101
1 files changed, 0 insertions, 101 deletions
diff --git a/pjsip-apps/src/test-pjsua/mod_media_playrec.py b/pjsip-apps/src/test-pjsua/mod_media_playrec.py
deleted file mode 100644
index ef6ed792..00000000
--- a/pjsip-apps/src/test-pjsua/mod_media_playrec.py
+++ /dev/null
@@ -1,101 +0,0 @@
-# $Id$
-
-# PLAYFILE -> RECFILE:
-# Input file is played and is recorded to output, then compare them.
-# Useful to tes clock rates compatibility and resample quality
-# null-audio
-# port 1: wav file input xxxxxx.clock_rate.wav, e.g: test1.8.wav
-# port 2: wav file ouput xxxxxx.clock_rate.wav, e.g: res1.8.wav
-# wav input must be more than 3 seconds long
-
-import time
-import imp
-import sys
-import re
-import subprocess
-import inc_const as const
-from inc_cfg import *
-
-# Load configuration
-cfg_file = imp.load_source("cfg_file", ARGS[1])
-
-# WAV similarity calculator
-COMPARE_WAV_EXE = "tools/cmp_wav.exe"
-
-# Threshold to declare degradation is too high when result is lower than this value
-COMPARE_THRESHOLD = 2
-
-# COMPARE params
-input_filename = "" # Input filename
-output_filename = "" # Output filename
-
-# Test body function
-def test_func(t):
- global input_filename
- global output_filename
-
- endpt = t.process[0]
-
- # Get input file name
- input_filename = re.compile(const.MEDIA_PLAY_FILE).search(endpt.inst_param.arg).group(1)
- endpt.trace("Input file = " + input_filename)
-
- # Get output file name
- output_filename = re.compile(const.MEDIA_REC_FILE).search(endpt.inst_param.arg).group(1)
- endpt.trace("Output file = " + output_filename)
-
- # Find appropriate clock rate for the input file
- clock_rate = re.compile(".+(\.\d+\.wav)$").match(output_filename).group(1)
- if (clock_rate==None):
- endpt.trace("Cannot compare input & output, incorrect output filename format")
- return
- input_filename = re.sub("\.\d+\.wav$", clock_rate, input_filename)
- endpt.trace("WAV file to be compared with output = " + input_filename)
-
- # Connect input-output file
- endpt.sync_stdout()
-
- endpt.send("cc 1 2")
- endpt.expect(const.MEDIA_CONN_PORT_SUCCESS)
-
- # Wait
- time.sleep(3)
-
- endpt.sync_stdout()
-
- # Disconnect input-output file
- endpt.send("cd 1 2")
- endpt.expect(const.MEDIA_DISCONN_PORT_SUCCESS)
-
-
-# Post body function
-def post_func(t):
- global input_filename
- global output_filename
-
- endpt = t.process[0]
-
- # Check WAV similarity
- fullcmd = COMPARE_WAV_EXE + " " + input_filename + " " + output_filename + " " + "3000"
- endpt.trace("Popen " + fullcmd)
- cmp_proc = subprocess.Popen(fullcmd, stdout=subprocess.PIPE, universal_newlines=True)
-
- # Parse similarity ouput
- line = cmp_proc.stdout.readline()
- mo_sim_val = re.match(".+=\s+(\d+)", line)
- if (mo_sim_val == None):
- raise TestError("Error comparing WAV files")
- return
-
- # Evaluate the similarity value
- sim_val = mo_sim_val.group(1)
- if (sim_val >= COMPARE_THRESHOLD):
- endpt.trace("WAV similarity = " + sim_val)
- else:
- raise TestError("WAV degraded heavily, similarity = " + sim_val)
-
-
-# Here where it all comes together
-test = cfg_file.test_param
-test.test_func = test_func
-test.post_func = post_func