# HG changeset patch # User Chris Cannam # Date 1421247518 0 # Node ID abe13fe10ed61615a44d384c865de7bbd6174396 # Parent 88b54a185a0a9b0daeca0efd0bbe22243f4dfbc0 RealTime frame-conversion test diff -r 88b54a185a0a -r abe13fe10ed6 base/test/TestRealTime.h --- a/base/test/TestRealTime.h Mon Dec 08 15:37:12 2014 +0000 +++ b/base/test/TestRealTime.h Wed Jan 14 14:58:38 2015 +0000 @@ -269,8 +269,33 @@ } } - - + void frame() + { + int frames[] = { + 0, 1, 2047, 2048, 6656, 32767, 32768, 44100, 44101, 999999999 + }; + int n = sizeof(frames)/sizeof(frames[0]); + + int rates[] = { + 1, 2, 8000, 22050, 44100, 44101, 192000 + }; + int m = sizeof(rates)/sizeof(rates[0]); + + for (int i = 0; i < n; ++i) { + int frame = frames[i]; + for (int j = 0; j < m; ++j) { + int rate = rates[j]; + + RealTime rt = RealTime::frame2RealTime(frame, rate); + int conv = RealTime::realTime2Frame(rt, rate); + QCOMPARE(frame, conv); + + rt = RealTime::frame2RealTime(-frame, rate); + conv = RealTime::realTime2Frame(rt, rate); + QCOMPARE(-frame, conv); + } + } + } }; #endif