Changeset 2052 for pjproject/trunk


Ignore:
Timestamp:
Jun 25, 2008 6:18:32 PM (16 years ago)
Author:
nanang
Message:

Ticket #543: Updated mod_pseq & mod_media_playrec.

Location:
pjproject/trunk/pjsip-apps/src/test-pjsua
Files:
8 added
18 edited

Legend:

Unmodified
Added
Removed
  • pjproject/trunk/pjsip-apps/src/test-pjsua/inc_cfg.py

    r2033 r2052  
    11# $Id$ 
    22import random 
     3from config_site import * 
    34 
    45DEFAULT_ECHO = True 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/inc_const.py

    r2029 r2052  
    4343 
    4444# Filename to play / record 
    45 MEDIA_PLAY_FILE = "--play-file (\S+)" 
    46 MEDIA_REC_FILE = "--rec-file (\S+)" 
     45MEDIA_PLAY_FILE = "--play-file\s+(\S+)" 
     46MEDIA_REC_FILE = "--rec-file\s+(\S+)" 
    4747 
    4848########################## 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/mod_media_playrec.py

    r2051 r2052  
    3535         
    3636        # Get input file name 
    37         endpt.sync_stdout() 
    38         endpt.send("dc") 
    39         line = endpt.expect(const.MEDIA_PLAY_FILE) 
    40         ud.input_filename = re.compile(const.MEDIA_PLAY_FILE).match(line).group(1) 
     37        ud.input_filename = re.compile(const.MEDIA_PLAY_FILE).search(endpt.inst_param.arg).group(1) 
    4138        endpt.trace("Input file = " + ud.input_filename) 
    4239 
    4340        # Get output file name 
    44         endpt.sync_stdout() 
    45         endpt.send("dc") 
    46         line = endpt.expect(const.MEDIA_REC_FILE) 
    47         ud.output_filename = re.compile(const.MEDIA_REC_FILE).match(line).group(1) 
     41        ud.output_filename = re.compile(const.MEDIA_REC_FILE).search(endpt.inst_param.arg).group(1) 
    4842        endpt.trace("Output file = " + ud.output_filename) 
    4943 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/mod_pesq.py

    r2038 r2052  
    3939# Test body function 
    4040def test_func(t, user_data): 
    41         # module debugging purpose 
    42         #user_data.pesq_sample_rate_opt = "+16000" 
    43         #user_data.input_filename = "wavs/input.16.wav" 
    44         #user_data.output_filename = "wavs/tmp.16.wav" 
    45         #return 
    46  
    4741        ua1 = t.process[0] 
    4842        ua2 = t.process[1] 
    4943 
    50         # Get conference clock rate of UA2 for PESQ sample rate option 
    51         ua2.send("cl") 
    52         clock_rate_line = ua2.expect("Port \#00\[\d+KHz") 
    53         if (clock_rate_line == None): 
    54                 raise TestError("Failed getting") 
    55         clock_rate = re.match("Port \#00\[(\d+)KHz", clock_rate_line).group(1) 
    56         user_data.pesq_sample_rate_opt = "+" + clock_rate + "000" 
    57  
    5844        # Get input file name 
    59         ua1.sync_stdout() 
    60         ua1.send("dc") 
    61         line = ua1.expect(const.MEDIA_PLAY_FILE) 
    62         user_data.input_filename = re.compile(const.MEDIA_PLAY_FILE).match(line).group(1) 
     45        user_data.input_filename = re.compile(const.MEDIA_PLAY_FILE).search(ua1.inst_param.arg).group(1) 
    6346 
    6447        # Get output file name 
    65         ua2.sync_stdout() 
    66         ua2.send("dc") 
    67         line = ua2.expect(const.MEDIA_REC_FILE) 
    68         user_data.output_filename = re.compile(const.MEDIA_REC_FILE).match(line).group(1) 
     48        user_data.output_filename = re.compile(const.MEDIA_REC_FILE).search(ua2.inst_param.arg).group(1) 
    6949 
    7050        # Find appropriate clock rate for the input file 
    71         clock_rate = re.compile(".+(\.\d+\.wav)$").match(user_data.output_filename) 
    72         if (clock_rate==None): 
     51        mo_clock_rate = re.compile("\.(\d+)\.wav").search(user_data.output_filename) 
     52        if (mo_clock_rate==None): 
    7353                raise TestError("Cannot compare input & output, incorrect output filename format") 
    74         user_data.input_filename = re.sub("\.\d+\.wav$", clock_rate.group(1), user_data.input_filename) 
     54        clock_rate = mo_clock_rate.group(1) 
     55        user_data.input_filename = re.sub("\.\d+\.wav", "."+clock_rate+".wav", user_data.input_filename) 
    7556 
    76         time.sleep(1) 
    77         ua1.sync_stdout() 
    78         ua2.sync_stdout() 
     57        if (clock_rate != "8") & (clock_rate != "16"): 
     58                raise TestError("PESQ only works on clock rate 8kHz or 16kHz, clock rate used = "+clock_rate+ "kHz") 
     59 
     60        # Get conference clock rate of UA2 for PESQ sample rate option 
     61        user_data.pesq_sample_rate_opt = "+" + clock_rate + "000" 
    7962 
    8063        # UA1 making call 
     
    8265        ua1.send(t.inst_params[1].uri) 
    8366        ua1.expect(const.STATE_CALLING) 
    84          
     67        ua2.expect(const.STATE_CONFIRMED) 
     68 
     69        # Disconnect mic -> rec file to avoid echo recorded when using sound device 
     70        ua2.send("cd 0 1") 
     71 
    8572        # Auto answer, auto play, auto hangup 
    8673        # Just wait for call disconnected 
    87  
    88         if ua1.expect(const.STATE_CONFIRMED, False)==None: 
    89                 raise TestError("Call failed") 
    90         ua2.expect(const.STATE_CONFIRMED) 
    91  
    92         while True: 
     74        # Assumed WAV input is no more than 30 secs 
     75        while 1: 
    9376                line = ua2.proc.stdout.readline() 
    9477                if line == "": 
    9578                        raise TestError(ua2.name + ": Premature EOF") 
     79 
    9680                # Search for disconnected text 
    9781                if re.search(const.STATE_DISCONNECTED, line) != None: 
     
    116100        # Evaluate the similarity value 
    117101        pesq_res = mo_pesq_out.group(1) 
    118         if (pesq_res >= PESQ_THRESHOLD): 
     102        if (float(pesq_res) >= PESQ_THRESHOLD): 
    119103                endpt.trace("Success, PESQ result=" + pesq_res) 
    120104        else: 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_11_16.py

    r2029 r2052  
    77                "Resample (large filter) 11 KHZ to 16 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 16000 --play-file wavs/input.11.wav --rec-file wavs/tmp_output.16.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 16000 --play-file wavs/input.11.wav --rec-file wavs/tmp.16.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_11_22.py

    r2029 r2052  
    77                "Resample (large filter) 11 KHZ to 22 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 22050 --play-file wavs/input.11.wav --rec-file wavs/tmp_output.22.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 22050 --play-file wavs/input.11.wav --rec-file wavs/tmp.22.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_11_32.py

    r2029 r2052  
    77                "Resample (large filter) 11 KHZ to 32 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 32000 --play-file wavs/input.11.wav --rec-file wavs/tmp_output.32.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 32000 --play-file wavs/input.11.wav --rec-file wavs/tmp.32.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_11_44.py

    r2029 r2052  
    77                "Resample (large filter) 11 KHZ to 44 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 44100 --play-file wavs/input.11.wav --rec-file wavs/tmp_output.44.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 44100 --play-file wavs/input.11.wav --rec-file wavs/tmp.44.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_11_48.py

    r2029 r2052  
    77                "Resample (large filter) 11 KHZ to 48 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 48000 --play-file wavs/input.11.wav --rec-file wavs/tmp_output.48.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 48000 --play-file wavs/input.11.wav --rec-file wavs/tmp.48.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_11_8.py

    r2029 r2052  
    77                "Resample (large filter) 11 KHZ to 8 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 8000 --play-file wavs/input.11.wav --rec-file wavs/tmp_output.8.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 8000 --play-file wavs/input.11.wav --rec-file wavs/tmp.8.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_8_11.py

    r2029 r2052  
    77                "Resample (large filter) 8 KHZ to 11 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 11025 --play-file wavs/input.8.wav --rec-file wavs/tmp_output.11.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 11025 --play-file wavs/input.8.wav --rec-file wavs/tmp.11.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_8_16.py

    r2029 r2052  
    77                "Resample (large filter) 8 KHZ to 16 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 16000 --play-file wavs/input.8.wav --rec-file wavs/tmp_output.16.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 16000 --play-file wavs/input.8.wav --rec-file wavs/tmp.16.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_8_22.py

    r2029 r2052  
    77                "Resample (large filter) 8 KHZ to 22 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 22050 --play-file wavs/input.8.wav --rec-file wavs/tmp_output.22.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 22050 --play-file wavs/input.8.wav --rec-file wavs/tmp.22.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_8_32.py

    r2029 r2052  
    77                "Resample (large filter) 8 KHZ to 32 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 32000 --play-file wavs/input.8.wav --rec-file wavs/tmp_output.32.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 32000 --play-file wavs/input.8.wav --rec-file wavs/tmp.32.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_8_44.py

    r2029 r2052  
    77                "Resample (large filter) 8 KHZ to 44 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 44100 --play-file wavs/input.8.wav --rec-file wavs/tmp_output.44.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 44100 --play-file wavs/input.8.wav --rec-file wavs/tmp.44.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-media-playrec/100_resample_lf_8_48.py

    r2029 r2052  
    77                "Resample (large filter) 8 KHZ to 48 KHZ", 
    88                [ 
    9                         InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 48000 --play-file wavs/input.8.wav --rec-file wavs/tmp_output.48.wav") 
     9                        InstanceParam("endpt", "--null-audio --quality 10 --clock-rate 48000 --play-file wavs/input.8.wav --rec-file wavs/tmp.48.wav") 
    1010                ] 
    1111                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/scripts-pesq/100_defaults.py

    r2038 r2052  
    33from inc_cfg import * 
    44 
    5 # Simple call 
     5ADD_PARAM = "" 
     6 
     7if (HAS_SND_DEV == 0): 
     8        ADD_PARAM += "--null-audio" 
     9 
     10# Call with default pjsua settings 
    611test_param = TestParam( 
    7                 "PESQ", 
     12                "PESQ defaults pjsua settings", 
    813                [ 
    9                         InstanceParam("UA1", "--null-audio --max-calls=1 --play-file wavs/input.16.wav --auto-play-hangup"), 
    10                         InstanceParam("UA2", "--null-audio --max-calls=1 --rec-file  wavs/tmp.16.wav --clock-rate 16000 --auto-answer 200 --auto-rec") 
     14                        InstanceParam("UA1", ADD_PARAM + " --max-calls=1 --play-file wavs/input.16.wav --auto-play-hangup"), 
     15                        InstanceParam("UA2", ADD_PARAM + " --max-calls=1 --rec-file  wavs/tmp.16.wav --clock-rate 16000 --auto-answer 200 --auto-rec") 
    1116                ] 
    1217                ) 
  • pjproject/trunk/pjsip-apps/src/test-pjsua/wavs

    • Property svn:ignore set to
      tmp*.wav
Note: See TracChangeset for help on using the changeset viewer.