Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(384)

Side by Side Diff: webrtc/modules/audio_coding/codecs/isac/fix/test/kenny.cc

Issue 3000033002: Make isac_fix_test use gtest (in a hacky way) (Closed)
Patch Set: Silence the error (as it was before) Created 3 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include <stdio.h> 11 #include <stdio.h>
12 #include <stdlib.h> 12 #include <stdlib.h>
13 #include <string.h> 13 #include <string.h>
14 #include <time.h> 14 #include <time.h>
15 #include <ctype.h> 15 #include <ctype.h>
16 16
17 #include "webrtc/modules/audio_coding/codecs/isac/fix/include/isacfix.h" 17 #include "webrtc/modules/audio_coding/codecs/isac/fix/include/isacfix.h"
18 #include "webrtc/test/gtest.h"
18 #include "webrtc/test/testsupport/perf_test.h" 19 #include "webrtc/test/testsupport/perf_test.h"
19 20
20 // TODO(kma): Clean up the code and change benchmarking the whole codec to 21 // TODO(kma): Clean up the code and change benchmarking the whole codec to
21 // separate encoder and decoder. 22 // separate encoder and decoder.
22 23
23 /* Defines */ 24 /* Defines */
24 #define SEED_FILE "randseed.txt" /* Used when running decoder on garbage data * / 25 #define SEED_FILE "randseed.txt" /* Used when running decoder on garbage data * /
25 #define MAX_FRAMESAMPLES 960 /* max number of samples per frame (= 60 ms fr ame) */ 26 #define MAX_FRAMESAMPLES 960 /* max number of samples per frame (= 60 ms fr ame) */
26 #define FRAMESAMPLES_10ms 160 /* number of samples per 10ms frame */ 27 #define FRAMESAMPLES_10ms 160 /* number of samples per 10ms frame */
27 #define FS 16000 /* sampling frequency (Hz) */ 28 #define FS 16000 /* sampling frequency (Hz) */
28 29
29 /* Function for reading audio data from PCM file */ 30 /* Function for reading audio data from PCM file */
30 int readframe(int16_t *data, FILE *inp, int length) { 31 int readframe(int16_t *data, FILE *inp, int length) {
31 32
32 short k, rlen, status = 0; 33 short k, rlen, status = 0;
33 34
34 rlen = fread(data, sizeof(int16_t), length, inp); 35 rlen = fread(data, sizeof(int16_t), length, inp);
35 if (rlen < length) { 36 if (rlen < length) {
36 for (k = rlen; k < length; k++) 37 for (k = rlen; k < length; k++)
37 data[k] = 0; 38 data[k] = 0;
38 status = 1; 39 status = 1;
39 } 40 }
40 41
41 return status; 42 return status;
42 } 43 }
43 44
45 // Globals needed because gtest does not provide access to argv.
46 // This should be reworked to use flags.
47 static int global_argc;
48 static char **global_argv;
49
44 /* Struct for bottleneck model */ 50 /* Struct for bottleneck model */
45 typedef struct { 51 typedef struct {
46 uint32_t send_time; /* samples */ 52 uint32_t send_time; /* samples */
47 uint32_t arrival_time; /* samples */ 53 uint32_t arrival_time; /* samples */
48 uint32_t sample_count; /* samples */ 54 uint32_t sample_count; /* samples */
49 uint16_t rtp_number; 55 uint16_t rtp_number;
50 } BottleNeckModel; 56 } BottleNeckModel;
51 57
52 void get_arrival_time(int current_framesamples, /* samples */ 58 void get_arrival_time(int current_framesamples, /* samples */
53 size_t packet_size, /* bytes */ 59 size_t packet_size, /* bytes */
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 { 91 {
86 // 92 //
87 BN_data->arrival_time += (current_framesamples + ((FS/1000) * current_delay) ); 93 BN_data->arrival_time += (current_framesamples + ((FS/1000) * current_delay) );
88 } 94 }
89 //else 95 //else
90 //current packet has same timestamp as previous packet 96 //current packet has same timestamp as previous packet
91 97
92 BN_data->rtp_number++; 98 BN_data->rtp_number++;
93 } 99 }
94 100
95 int main(int argc, char* argv[]) 101 TEST(IsacFixTest, Kenny) {
96 { 102 int argc = global_argc;
103 char **argv = global_argv;
97 104
98 char inname[100], outname[100], outbitsname[100], bottleneck_file[100]; 105 char inname[100], outname[100], outbitsname[100], bottleneck_file[100];
99 FILE *inp, *outp, *f_bn, *outbits; 106 FILE *inp, *outp, *f_bn, *outbits;
100 int endfile; 107 int endfile;
101 108
102 size_t i; 109 size_t i;
103 int errtype, h = 0, k, packetLossPercent = 0; 110 int errtype, h = 0, k, packetLossPercent = 0;
104 int16_t CodingMode; 111 int16_t CodingMode;
105 int16_t bottleneck; 112 int16_t bottleneck;
106 int framesize = 30; /* ms */ 113 int framesize = 30; /* ms */
(...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 " getNewBitstream \n"); 223 " getNewBitstream \n");
217 printf(" CE 2 - transcode, getBWE \n"); 224 printf(" CE 2 - transcode, getBWE \n");
218 printf(" CE 3 - getSendBWE, setSendBWE. \n\n"); 225 printf(" CE 3 - getSendBWE, setSendBWE. \n\n");
219 printf("[-RTP_INIT num] : if -RTP_INIT option is specified num will be" 226 printf("[-RTP_INIT num] : if -RTP_INIT option is specified num will be"
220 " the initial\n"); 227 " the initial\n");
221 printf(" value of the rtp sequence number.\n\n"); 228 printf(" value of the rtp sequence number.\n\n");
222 printf("infile : Normal speech input file\n\n"); 229 printf("infile : Normal speech input file\n\n");
223 printf("outfile : Speech output file\n\n"); 230 printf("outfile : Speech output file\n\n");
224 printf("Example usage : \n\n"); 231 printf("Example usage : \n\n");
225 printf("%s -I bottleneck.txt speechIn.pcm speechOut.pcm\n\n", argv[0]); 232 printf("%s -I bottleneck.txt speechIn.pcm speechOut.pcm\n\n", argv[0]);
226 exit(0); 233 exit(1);
227 234
228 } 235 }
229 236
230 /* Print version number */ 237 /* Print version number */
231 WebRtcIsacfix_version(version_number); 238 WebRtcIsacfix_version(version_number);
232 printf("iSAC version %s \n\n", version_number); 239 printf("iSAC version %s \n\n", version_number);
233 240
234 /* Loop over all command line arguments */ 241 /* Loop over all command line arguments */
235 CodingMode = 0; 242 CodingMode = 0;
236 testNum = 0; 243 testNum = 0;
237 testCE = 0; 244 testCE = 0;
238 for (i = 1; i + 2 < static_cast<size_t>(argc); i++) { 245 for (i = 1; i + 2 < static_cast<size_t>(argc); i++) {
239 /* Instantaneous mode */ 246 /* Instantaneous mode */
240 if (!strcmp ("-I", argv[i])) { 247 if (!strcmp ("-I", argv[i])) {
241 printf("\nInstantaneous BottleNeck\n"); 248 printf("\nInstantaneous BottleNeck\n");
242 CodingMode = 1; 249 CodingMode = 1;
243 i++; 250 i++;
244 } 251 }
245 252
246 /* Set (initial) bottleneck value */ 253 /* Set (initial) bottleneck value */
247 if (!strcmp ("-INITRATE", argv[i])) { 254 if (!strcmp ("-INITRATE", argv[i])) {
248 rateBPS = atoi(argv[i + 1]); 255 rateBPS = atoi(argv[i + 1]);
249 setControlBWE = 1; 256 setControlBWE = 1;
250 if ((rateBPS < 10000) || (rateBPS > 32000)) { 257 if ((rateBPS < 10000) || (rateBPS > 32000)) {
251 printf("\n%d is not a initial rate. " 258 printf("\n%d is not a initial rate. "
252 "Valid values are in the range 10000 to 32000.\n", rateBPS); 259 "Valid values are in the range 10000 to 32000.\n", rateBPS);
253 exit(0); 260 exit(1);
254 } 261 }
255 printf("\nNew initial rate: %d\n", rateBPS); 262 printf("\nNew initial rate: %d\n", rateBPS);
256 i++; 263 i++;
257 } 264 }
258 265
259 /* Set (initial) framelength */ 266 /* Set (initial) framelength */
260 if (!strcmp ("-FL", argv[i])) { 267 if (!strcmp ("-FL", argv[i])) {
261 framesize = atoi(argv[i + 1]); 268 framesize = atoi(argv[i + 1]);
262 if ((framesize != 30) && (framesize != 60)) { 269 if ((framesize != 30) && (framesize != 60)) {
263 printf("\n%d is not a valid frame length. " 270 printf("\n%d is not a valid frame length. "
264 "Valid length are 30 and 60 msec.\n", framesize); 271 "Valid length are 30 and 60 msec.\n", framesize);
265 exit(0); 272 exit(1);
266 } 273 }
267 printf("\nFrame Length: %d\n", framesize); 274 printf("\nFrame Length: %d\n", framesize);
268 i++; 275 i++;
269 } 276 }
270 277
271 /* Fixed frame length */ 278 /* Fixed frame length */
272 if (!strcmp ("-FIXED_FL", argv[i])) { 279 if (!strcmp ("-FIXED_FL", argv[i])) {
273 fixedFL = 1; 280 fixedFL = 1;
274 setControlBWE = 1; 281 setControlBWE = 1;
275 } 282 }
(...skipping 12 matching lines...) Expand all
288 i++; 295 i++;
289 } 296 }
290 297
291 /* Test of fault scenarious */ 298 /* Test of fault scenarious */
292 if (!strcmp ("-F", argv[i])) { 299 if (!strcmp ("-F", argv[i])) {
293 testNum = atoi(argv[i + 1]); 300 testNum = atoi(argv[i + 1]);
294 printf("\nFault test: %d\n", testNum); 301 printf("\nFault test: %d\n", testNum);
295 if (testNum < 1 || testNum > 10) { 302 if (testNum < 1 || testNum > 10) {
296 printf("\n%d is not a valid Fault Scenario number." 303 printf("\n%d is not a valid Fault Scenario number."
297 " Valid Fault Scenarios are numbered 1-10.\n", testNum); 304 " Valid Fault Scenarios are numbered 1-10.\n", testNum);
298 exit(0); 305 exit(1);
299 } 306 }
300 i++; 307 i++;
301 } 308 }
302 309
303 /* Packet loss test */ 310 /* Packet loss test */
304 if (!strcmp ("-PL", argv[i])) { 311 if (!strcmp ("-PL", argv[i])) {
305 if( isdigit( *argv[i+1] ) ) { 312 if( isdigit( *argv[i+1] ) ) {
306 packetLossPercent = atoi( argv[i+1] ); 313 packetLossPercent = atoi( argv[i+1] );
307 if( (packetLossPercent < 0) | (packetLossPercent > 100) ) { 314 if( (packetLossPercent < 0) | (packetLossPercent > 100) ) {
308 printf( "\nInvalid packet loss perentage \n" ); 315 printf( "\nInvalid packet loss perentage \n" );
309 exit( 0 ); 316 exit( 1 );
310 } 317 }
311 if( packetLossPercent > 0 ) { 318 if( packetLossPercent > 0 ) {
312 printf( "\nSimulating %d %% of independent packet loss\n", 319 printf( "\nSimulating %d %% of independent packet loss\n",
313 packetLossPercent ); 320 packetLossPercent );
314 } else { 321 } else {
315 printf( "\nNo Packet Loss Is Simulated \n" ); 322 printf( "\nNo Packet Loss Is Simulated \n" );
316 } 323 }
317 readLoss = 0; 324 readLoss = 0;
318 } else { 325 } else {
319 readLoss = 1; 326 readLoss = 1;
320 plFile = fopen( argv[i+1], "rb" ); 327 plFile = fopen( argv[i+1], "rb" );
321 if( plFile == NULL ) { 328 if( plFile == NULL ) {
322 printf( "\n couldn't open the frameloss file: %s\n", argv[i+1] ); 329 FAIL() << "Couldn't open the frameloss file: " << argv[i+1];
323 exit( 0 );
324 } 330 }
325 printf( "\nSimulating packet loss through the given " 331 printf( "\nSimulating packet loss through the given "
326 "channel file: %s\n", argv[i+1] ); 332 "channel file: %s\n", argv[i+1] );
327 } 333 }
328 i++; 334 i++;
329 } 335 }
330 336
331 /* Random packetlosses */ 337 /* Random packetlosses */
332 if (!strcmp ("-rnd", argv[i])) { 338 if (!strcmp ("-rnd", argv[i])) {
333 srand(time(NULL) ); 339 srand(time(NULL) );
334 printf( "\n Random pattern in lossed packets \n" ); 340 printf( "\n Random pattern in lossed packets \n" );
335 } 341 }
336 342
337 /* Use gns file */ 343 /* Use gns file */
338 if (!strcmp ("-G", argv[i])) { 344 if (!strcmp ("-G", argv[i])) {
339 sscanf(argv[i + 1], "%s", gns_file); 345 sscanf(argv[i + 1], "%s", gns_file);
340 fp_gns = fopen(gns_file, "rb"); 346 fp_gns = fopen(gns_file, "rb");
341 if (fp_gns == NULL) { 347 if (fp_gns == NULL) {
342 printf("Cannot read file %s.\n", gns_file); 348 FAIL() << "Cannot read file " << gns_file << ".";
343 exit(0);
344 } 349 }
345 gns = 1; 350 gns = 1;
346 i++; 351 i++;
347 } 352 }
348 353
349 /* Run Narrowband interfaces (either encoder or decoder) */ 354 /* Run Narrowband interfaces (either encoder or decoder) */
350 if (!strcmp ("-NB", argv[i])) { 355 if (!strcmp ("-NB", argv[i])) {
351 nbTest = atoi(argv[i + 1]); 356 nbTest = atoi(argv[i + 1]);
352 i++; 357 i++;
353 } 358 }
354 359
355 /* Run Conference Engine APIs */ 360 /* Run Conference Engine APIs */
356 if (!strcmp ("-CE", argv[i])) { 361 if (!strcmp ("-CE", argv[i])) {
357 testCE = atoi(argv[i + 1]); 362 testCE = atoi(argv[i + 1]);
358 if (testCE==1 || testCE==2) { 363 if (testCE==1 || testCE==2) {
359 i++; 364 i++;
360 scale = (float)atof( argv[i+1] ); 365 scale = (float)atof( argv[i+1] );
361 } else if (testCE < 1 || testCE > 3) { 366 } else if (testCE < 1 || testCE > 3) {
362 printf("\n%d is not a valid CE-test number, valid Fault " 367 printf("\n%d is not a valid CE-test number, valid Fault "
363 "Scenarios are numbered 1-3\n", testCE); 368 "Scenarios are numbered 1-3\n", testCE);
364 exit(0); 369 exit(1);
365 } 370 }
366 i++; 371 i++;
367 } 372 }
368 373
369 /* Set initial RTP number */ 374 /* Set initial RTP number */
370 if (!strcmp ("-RTP_INIT", argv[i])) { 375 if (!strcmp ("-RTP_INIT", argv[i])) {
371 i++; 376 i++;
372 } 377 }
373 } 378 }
374 379
375 /* Get Bottleneck value */ 380 /* Get Bottleneck value */
376 /* Gns files and bottleneck should not and can not be used simultaneously */ 381 /* Gns files and bottleneck should not and can not be used simultaneously */
377 bottleneck = atoi(argv[CodingMode+1]); 382 bottleneck = atoi(argv[CodingMode+1]);
378 if (bottleneck == 0 && gns == 0) { 383 if (bottleneck == 0 && gns == 0) {
379 sscanf(argv[CodingMode+1], "%s", bottleneck_file); 384 sscanf(argv[CodingMode+1], "%s", bottleneck_file);
380 f_bn = fopen(bottleneck_file, "rb"); 385 f_bn = fopen(bottleneck_file, "rb");
381 if (f_bn == NULL) { 386 if (f_bn == NULL) {
382 printf("No value provided for BottleNeck and cannot read file %s\n", 387 printf("No value provided for BottleNeck and cannot read file %s\n",
383 bottleneck_file); 388 bottleneck_file);
384 exit(0); 389 exit(0); // TODO(oprypin): don't silence this error
390 // FAIL() << "Cannot read file " << bottleneck_file;
385 } else { 391 } else {
386 int aux_var; 392 int aux_var;
387 printf("reading bottleneck rates from file %s\n\n",bottleneck_file); 393 printf("reading bottleneck rates from file %s\n\n",bottleneck_file);
388 if (fscanf(f_bn, "%d", &aux_var) == EOF) { 394 if (fscanf(f_bn, "%d", &aux_var) == EOF) {
389 /* Set pointer to beginning of file */ 395 /* Set pointer to beginning of file */
390 fseek(f_bn, 0L, SEEK_SET); 396 fseek(f_bn, 0L, SEEK_SET);
391 if (fscanf(f_bn, "%d", &aux_var) == EOF) { 397 if (fscanf(f_bn, "%d", &aux_var) == EOF) {
392 exit(0); 398 FAIL();
393 } 399 }
394 } 400 }
395 bottleneck = (int16_t)aux_var; 401 bottleneck = (int16_t)aux_var;
396 /* Bottleneck is a cosine function 402 /* Bottleneck is a cosine function
397 * Matlab code for writing the bottleneck file: 403 * Matlab code for writing the bottleneck file:
398 * BottleNeck_10ms = 20e3 + 10e3 * cos((0:5999)/5999*2*pi); 404 * BottleNeck_10ms = 20e3 + 10e3 * cos((0:5999)/5999*2*pi);
399 * fid = fopen('bottleneck.txt', 'wb'); 405 * fid = fopen('bottleneck.txt', 'wb');
400 * fprintf(fid, '%d\n', BottleNeck_10ms); fclose(fid); 406 * fprintf(fid, '%d\n', BottleNeck_10ms); fclose(fid);
401 */ 407 */
402 } 408 }
(...skipping 13 matching lines...) Expand all
416 /* Add '.bit' to output bitstream file */ 422 /* Add '.bit' to output bitstream file */
417 while ((int)outname[h] != 0) { 423 while ((int)outname[h] != 0) {
418 outbitsname[h] = outname[h]; 424 outbitsname[h] = outname[h];
419 h++; 425 h++;
420 } 426 }
421 for (k=0; k<5; k++) { 427 for (k=0; k<5; k++) {
422 outbitsname[h] = tmpBit[k]; 428 outbitsname[h] = tmpBit[k];
423 h++; 429 h++;
424 } 430 }
425 if ((inp = fopen(inname,"rb")) == NULL) { 431 if ((inp = fopen(inname,"rb")) == NULL) {
426 printf(" iSAC: Cannot read file %s\n", inname); 432 FAIL() << " iSAC: Cannot read file " << inname;
427 exit(1);
428 } 433 }
429 if ((outp = fopen(outname,"wb")) == NULL) { 434 if ((outp = fopen(outname,"wb")) == NULL) {
430 printf(" iSAC: Cannot write file %s\n", outname); 435 FAIL() << " iSAC: Cannot write file " << outname;
431 exit(1);
432 } 436 }
433 437
434 if ((outbits = fopen(outbitsname,"wb")) == NULL) { 438 if ((outbits = fopen(outbitsname,"wb")) == NULL) {
435 printf(" iSAC: Cannot write file %s\n", outbitsname); 439 FAIL() << " iSAC: Cannot write file " << outbitsname;
436 exit(1);
437 } 440 }
438 printf("\nInput:%s\nOutput:%s\n\n", inname, outname); 441 printf("\nInput:%s\nOutput:%s\n\n", inname, outname);
439 442
440 /* Error test number 10, garbage data */ 443 /* Error test number 10, garbage data */
441 if (testNum == 10) { 444 if (testNum == 10) {
442 /* Test to run decoder with garbage data */ 445 /* Test to run decoder with garbage data */
443 srand(random_seed); 446 srand(random_seed);
444 447
445 if ( (seedfile = fopen(SEED_FILE, "a+t") ) == NULL ) { 448 if ( (seedfile = fopen(SEED_FILE, "a+t") ) == NULL ) {
446 printf("Error: Could not open file %s\n", SEED_FILE); 449 printf("Error: Could not open file %s\n", SEED_FILE);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
505 } 508 }
506 } else if(setControlBWE == 1) { 509 } else if(setControlBWE == 1) {
507 err = WebRtcIsacfix_ControlBwe(ISAC_main_inst, rateBPS, framesize, fixedFL); 510 err = WebRtcIsacfix_ControlBwe(ISAC_main_inst, rateBPS, framesize, fixedFL);
508 } 511 }
509 512
510 if (payloadSize != 0) { 513 if (payloadSize != 0) {
511 err = WebRtcIsacfix_SetMaxPayloadSize(ISAC_main_inst, payloadSize); 514 err = WebRtcIsacfix_SetMaxPayloadSize(ISAC_main_inst, payloadSize);
512 if (err < 0) { 515 if (err < 0) {
513 /* exit if returned with error */ 516 /* exit if returned with error */
514 errtype=WebRtcIsacfix_GetErrorCode(ISAC_main_inst); 517 errtype=WebRtcIsacfix_GetErrorCode(ISAC_main_inst);
515 printf("\n\n Error in SetMaxPayloadSize: %d.\n\n", errtype); 518 FAIL() << "Error in SetMaxPayloadSize: " << errtype;
516 exit(EXIT_FAILURE);
517 } 519 }
518 } 520 }
519 if (payloadRate != 0) { 521 if (payloadRate != 0) {
520 err = WebRtcIsacfix_SetMaxRate(ISAC_main_inst, payloadRate); 522 err = WebRtcIsacfix_SetMaxRate(ISAC_main_inst, payloadRate);
521 if (err < 0) { 523 if (err < 0) {
522 /* exit if returned with error */ 524 /* exit if returned with error */
523 errtype=WebRtcIsacfix_GetErrorCode(ISAC_main_inst); 525 errtype=WebRtcIsacfix_GetErrorCode(ISAC_main_inst);
524 printf("\n\n Error in SetMaxRateInBytes: %d.\n\n", errtype); 526 FAIL() << "Error in SetMaxRateInBytes: " << errtype;
525 exit(EXIT_FAILURE);
526 } 527 }
527 } 528 }
528 529
529 *speechType = 1; 530 *speechType = 1;
530 531
531 532
532 while (endfile == 0) { 533 while (endfile == 0) {
533 534
534 if(testNum == 7 && (rand()%2 == 0)) { 535 if(testNum == 7 && (rand()%2 == 0)) {
535 err = WebRtcIsacfix_EncoderInit(ISAC_main_inst, CodingMode); 536 err = WebRtcIsacfix_EncoderInit(ISAC_main_inst, CodingMode);
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
617 } 618 }
618 619
619 if (stream_len_int < 0 || err < 0) { 620 if (stream_len_int < 0 || err < 0) {
620 /* exit if returned with error */ 621 /* exit if returned with error */
621 errtype=WebRtcIsacfix_GetErrorCode(ISAC_main_inst); 622 errtype=WebRtcIsacfix_GetErrorCode(ISAC_main_inst);
622 printf("\nError in encoder: %d.\n", errtype); 623 printf("\nError in encoder: %d.\n", errtype);
623 } else { 624 } else {
624 stream_len = static_cast<size_t>(stream_len_int); 625 stream_len = static_cast<size_t>(stream_len_int);
625 if (fwrite(streamdata, sizeof(char), stream_len, outbits) != 626 if (fwrite(streamdata, sizeof(char), stream_len, outbits) !=
626 stream_len) { 627 stream_len) {
627 return -1; 628 FAIL();
628 } 629 }
629 } 630 }
630 631
631 cur_framesmpls += FRAMESAMPLES_10ms; 632 cur_framesmpls += FRAMESAMPLES_10ms;
632 633
633 /* read next bottleneck rate */ 634 /* read next bottleneck rate */
634 if (f_bn != NULL) { 635 if (f_bn != NULL) {
635 int aux_var; 636 int aux_var;
636 if (fscanf(f_bn, "%d", &aux_var) == EOF) { 637 if (fscanf(f_bn, "%d", &aux_var) == EOF) {
637 /* Set pointer to beginning of file */ 638 /* Set pointer to beginning of file */
638 fseek(f_bn, 0L, SEEK_SET); 639 fseek(f_bn, 0L, SEEK_SET);
639 if (fscanf(f_bn, "%d", &aux_var) == EOF) { 640 if (fscanf(f_bn, "%d", &aux_var) == EOF) {
640 exit(0); 641 FAIL();
641 } 642 }
642 } 643 }
643 bottleneck = (int16_t)aux_var; 644 bottleneck = (int16_t)aux_var;
644 if (CodingMode == 1) { 645 if (CodingMode == 1) {
645 WebRtcIsacfix_Control(ISAC_main_inst, bottleneck, framesize); 646 WebRtcIsacfix_Control(ISAC_main_inst, bottleneck, framesize);
646 } 647 }
647 } 648 }
648 649
649 /* exit encoder loop if the encoder returned a bitstream */ 650 /* exit encoder loop if the encoder returned a bitstream */
650 if (stream_len != 0) break; 651 if (stream_len != 0) break;
(...skipping 16 matching lines...) Expand all
667 for (i = 0; i < stream_len; i++ ) { 668 for (i = 0; i < stream_len; i++ ) {
668 streamdata[i] = rand(); 669 streamdata[i] = rand();
669 } 670 }
670 } 671 }
671 672
672 /* set pointer to beginning of file */ 673 /* set pointer to beginning of file */
673 if (fp_gns != NULL) { 674 if (fp_gns != NULL) {
674 if (fscanf(fp_gns, "%d", &cur_delay) == EOF) { 675 if (fscanf(fp_gns, "%d", &cur_delay) == EOF) {
675 fseek(fp_gns, 0L, SEEK_SET); 676 fseek(fp_gns, 0L, SEEK_SET);
676 if (fscanf(fp_gns, "%d", &cur_delay) == EOF) { 677 if (fscanf(fp_gns, "%d", &cur_delay) == EOF) {
677 exit(0); 678 FAIL();
678 } 679 }
679 } 680 }
680 } 681 }
681 682
682 /* simulate packet handling through NetEq and the modem */ 683 /* simulate packet handling through NetEq and the modem */
683 if (!(testNum == 3 && framecnt == 0)) { 684 if (!(testNum == 3 && framecnt == 0)) {
684 if (gns == 0) { 685 if (gns == 0) {
685 get_arrival_time(cur_framesmpls, stream_len, bottleneck, 686 get_arrival_time(cur_framesmpls, stream_len, bottleneck,
686 &BN_data); 687 &BN_data);
687 } else { 688 } else {
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
776 777
777 if (declen <= 0) { 778 if (declen <= 0) {
778 /* exit if returned with error */ 779 /* exit if returned with error */
779 errtype=WebRtcIsacfix_GetErrorCode(ISAC_main_inst); 780 errtype=WebRtcIsacfix_GetErrorCode(ISAC_main_inst);
780 printf("\nError in decoder: %d.\n", errtype); 781 printf("\nError in decoder: %d.\n", errtype);
781 } 782 }
782 783
783 /* Write decoded speech frame to file */ 784 /* Write decoded speech frame to file */
784 if (fwrite(decoded, sizeof(int16_t), 785 if (fwrite(decoded, sizeof(int16_t),
785 declen, outp) != (size_t)declen) { 786 declen, outp) != (size_t)declen) {
786 return -1; 787 FAIL();
787 } 788 }
788 // fprintf( ratefile, "%f \n", stream_len / ( ((double)declen)/ 789 // fprintf( ratefile, "%f \n", stream_len / ( ((double)declen)/
789 // ((double)FS) ) * 8 ); 790 // ((double)FS) ) * 8 );
790 } else { 791 } else {
791 lostPackets++; 792 lostPackets++;
792 } 793 }
793 framecnt++; 794 framecnt++;
794 795
795 totalsmpls += declen; 796 totalsmpls += declen;
796 totalbits += static_cast<int>(8 * stream_len); 797 totalbits += static_cast<int>(8 * stream_len);
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 (runtime * 10000) / length_file, "us", false); 829 (runtime * 10000) / length_file, "us", false);
829 830
830 fclose(inp); 831 fclose(inp);
831 fclose(outp); 832 fclose(outp);
832 fclose(outbits); 833 fclose(outbits);
833 834
834 if ( testCE == 1) { 835 if ( testCE == 1) {
835 WebRtcIsacfix_FreeInternal(ISAC_main_inst); 836 WebRtcIsacfix_FreeInternal(ISAC_main_inst);
836 } 837 }
837 WebRtcIsacfix_Free(ISAC_main_inst); 838 WebRtcIsacfix_Free(ISAC_main_inst);
838 return 0;
839 } 839 }
840
841 int main(int argc, char* argv[]) {
842 ::testing::InitGoogleTest(&argc, argv);
843 global_argc = argc;
844 global_argv = argv;
845
846 return RUN_ALL_TESTS();
847 }
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698