Преглед изворни кода

cmSyncRecd.h/c: Added cmSyncRecdTest() and cmSyncRecdPrint().

master
kevin пре 10 година
родитељ
комит
377429d33a
2 измењених фајлова са 53 додато и 2 уклоњено
  1. 51
    2
      cmSyncRecd.c
  2. 2
    0
      cmSyncRecd.h

+ 51
- 2
cmSyncRecd.c Прегледај датотеку

@@ -13,7 +13,7 @@
13 13
 
14 14
 typedef enum
15 15
 {
16
-kInvalidSrId,
16
+  kInvalidSrId,
17 17
   kMidiSrId,
18 18
   kAudioSrId
19 19
   } cmSrTypeId_t;
@@ -66,7 +66,7 @@ typedef struct cmSr_str
66 66
 } cmSr_t;
67 67
 
68 68
 
69
-
69
+cmSyncRecdH_t cmSyncRecdNullHandle  = cmSTATIC_NULL_HANDLE;
70 70
 
71 71
 cmSr_t* _cmSrHtoP( cmSyncRecdH_t h )
72 72
 {
@@ -435,3 +435,52 @@ cmSrRC_t cmSyncRecdAudioWrite( cmSyncRecdH_t h, const cmTimeSpec_t* timestamp, u
435 435
  errLabel:
436 436
   return rc;
437 437
 }
438
+
439
+
440
+cmSrRC_t cmSyncRecdPrint( cmSyncRecdH_t h )
441
+{
442
+  cmSrRC_t rc = kOkSrRC;
443
+  cmSr_t* p = _cmSrHtoP(h);
444
+
445
+  unsigned i;
446
+  
447
+  for(i=0; i<p->cn; ++i)
448
+  {
449
+    cmSrRecd_t* r = p->cache + i;
450
+    cmRptPrintf(p->err.rpt,"0x%x %3i %3i %ld %5.3f %ld %5.3f",r->u.m.status,r->u.m.d0,r->u.m.d1,r->u.m.timestamp.tv_sec,r->u.m.timestamp.tv_nsec/1000000000.0,p->map[i].timestamp.tv_sec,p->map[i].timestamp.tv_nsec/1000000000.0);
451
+  }
452
+
453
+  return rc;
454
+}
455
+
456
+cmSrRC_t cmSyncRecdTest( cmCtx_t* ctx )
457
+{
458
+  enum
459
+  {
460
+    kOkTestRC,
461
+    kTestFailRC,
462
+  };
463
+
464
+  cmSrRC_t rc = kOkSrRC;
465
+  const cmChar_t* srFn = "/home/kevin/temp/kr/sr/sr10.sr";
466
+  cmErr_t err;
467
+  cmSyncRecdH_t srH = cmSyncRecdNullHandle;
468
+
469
+  cmErrSetup(&err,&ctx->rpt,"SyncRecdTest");
470
+  
471
+
472
+  if((rc = cmSyncRecdOpen(ctx, &srH, srFn )) != kOkSrRC )
473
+  {
474
+    cmErrMsg(&err,kTestFailRC,"Sync-recd open failed.");
475
+    goto errLabel;
476
+  }
477
+
478
+  cmSyncRecdPrint(srH);
479
+
480
+ errLabel:
481
+  if((rc = cmSyncRecdFinal(&srH)) != kOkSrRC )
482
+    cmErrMsg(&err,kTestFailRC,"Sync-recd close failed.");
483
+
484
+  return rc;
485
+
486
+}

+ 2
- 0
cmSyncRecd.h Прегледај датотеку

@@ -25,6 +25,8 @@ extern "C" {
25 25
   cmSrRC_t cmSyncRecdAudioWrite( cmSyncRecdH_t h, const cmTimeSpec_t* timestamp, unsigned smpIdx, const cmSample_t* ch[], unsigned chCnt, unsigned frmCnt );
26 26
   
27 27
 
28
+  cmSrRC_t cmSyncRecdTest( cmCtx_t* ctx );
29
+
28 30
 #ifdef __cplusplus
29 31
 }
30 32
 #endif

Loading…
Откажи
Сачувај