228
231
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 0);
231
test_ring_buffer->put(&testint1, sizeof(int));
232
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
234
test_ring_buffer->put(testbuf1); // +1 sample
235
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
233
236
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 0);
235
238
// add some other data
236
test_ring_buffer->put(&testint2, sizeof(int));
237
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 2*sizeof(int));
239
test_ring_buffer->put(testbuf2); // +3 samples
240
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 4);
238
241
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 0);
240
int testget = (int) NULL;
243
AudioBuffer testget(&testsample1, 1, 1, 8000);
242
245
// get some data (without any read pointers)
243
246
CPPUNIT_ASSERT(test_ring_buffer->hasNoReadPointers());
244
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 2*sizeof(int));
245
CPPUNIT_ASSERT(test_ring_buffer->getLength(MainBuffer::DEFAULT_ID) == 2*sizeof(int));
246
CPPUNIT_ASSERT(test_ring_buffer->get(&testget, sizeof(int), MainBuffer::DEFAULT_ID) == 0);
247
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 2*sizeof(int));
248
CPPUNIT_ASSERT(test_ring_buffer->getLength(MainBuffer::DEFAULT_ID) == 2*sizeof(int));
249
CPPUNIT_ASSERT(testget == (int) NULL);
247
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 4);
248
CPPUNIT_ASSERT(test_ring_buffer->getLength(MainBuffer::DEFAULT_ID) == 4);
249
CPPUNIT_ASSERT(test_ring_buffer->get(testget, MainBuffer::DEFAULT_ID) == 0);
250
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 4);
251
CPPUNIT_ASSERT(test_ring_buffer->getLength(MainBuffer::DEFAULT_ID) == 4);
252
CPPUNIT_ASSERT((*testget.getChannel(0))[0] == testsample1);
250
253
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 0);
252
255
// get some data (with a read pointer)
257
260
CPPUNIT_ASSERT(test_ring_buffer->getLength(MainBuffer::DEFAULT_ID) == 0);
260
test_ring_buffer->put(&testint1, sizeof(int));
261
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
262
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 2*sizeof(int));
263
test_ring_buffer->put(testbuf1); // +1 sample
264
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
265
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 4);
264
267
// add some other data
265
test_ring_buffer->put(&testint2, sizeof(int));
266
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 2*sizeof(int));
267
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 2*sizeof(int));
268
test_ring_buffer->put(testbuf2); // +3 samples
269
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 4);
270
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 4);
269
CPPUNIT_ASSERT(test_ring_buffer->get(&testget, sizeof(int), MainBuffer::DEFAULT_ID) == sizeof(int));
272
CPPUNIT_ASSERT(test_ring_buffer->get(testget, MainBuffer::DEFAULT_ID) == 1);
271
274
// test flush data
272
test_ring_buffer->put(&testint1, sizeof(int));
275
test_ring_buffer->put(testbuf1);
274
277
test_ring_buffer->flush(MainBuffer::DEFAULT_ID);
275
278
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
276
279
CPPUNIT_ASSERT(test_ring_buffer->getLength(MainBuffer::DEFAULT_ID) == 0);
277
280
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 0);
278
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 5*sizeof(int));
281
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 9);
280
283
// test flush data
281
284
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
282
test_ring_buffer->put(&testint1, sizeof(int));
283
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
284
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == sizeof(int));
285
CPPUNIT_ASSERT(test_ring_buffer->getLength(MainBuffer::DEFAULT_ID) == sizeof(int));
286
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 5*sizeof(int));
285
test_ring_buffer->put(testbuf1);
286
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
287
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 1);
288
CPPUNIT_ASSERT(test_ring_buffer->getLength(MainBuffer::DEFAULT_ID) == 1);
289
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 9);
288
test_ring_buffer->discard(sizeof(int), MainBuffer::DEFAULT_ID);
291
test_ring_buffer->discard(1, MainBuffer::DEFAULT_ID);
289
292
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
290
293
CPPUNIT_ASSERT(test_ring_buffer->getLength(MainBuffer::DEFAULT_ID) == 0);
291
294
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 0);
292
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 6*sizeof(int));
295
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 10);
310
316
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
311
317
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 0);
313
test_ring_buffer->put(&testint1, sizeof(int));
314
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
315
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 0);
317
test_ring_buffer->put(&testint2, sizeof(int));
318
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 2*sizeof(int));
319
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 0);
323
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == 2*sizeof(int));
324
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == 2*sizeof(int));
325
CPPUNIT_ASSERT(test_ring_buffer->get(&testget, sizeof(int), test_id) == sizeof(int));
326
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == sizeof(int));
327
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == sizeof(int));
328
CPPUNIT_ASSERT(testget == testint1);
329
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == sizeof(int));
331
CPPUNIT_ASSERT(test_ring_buffer->get(&testget, 100, test_id) == sizeof(int));
332
CPPUNIT_ASSERT(testget == testint2);
319
test_ring_buffer->put(testbuf1);
320
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
321
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 0);
323
test_ring_buffer->put(testbuf2);
324
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 4);
325
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(MainBuffer::DEFAULT_ID) == 0);
327
AudioBuffer testget(1, 1, 8000);
328
AudioBuffer testgetlarge(100, 1, 8000);
330
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == 4);
331
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == 4);
332
CPPUNIT_ASSERT(test_ring_buffer->get(testget, test_id) == 1);
333
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == 3);
334
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == 3);
335
CPPUNIT_ASSERT((*testget.getChannel(0))[0] == testsample1);
336
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == 1);
338
CPPUNIT_ASSERT(test_ring_buffer->get(testgetlarge, test_id) == 3);
339
CPPUNIT_ASSERT((*testgetlarge.getChannel(0))[1] == testsample2[2]);
333
340
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == 0);
334
341
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == 0);
335
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == 2*sizeof(int));
342
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == 4);
338
345
// test flush data
339
346
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
340
test_ring_buffer->put(&testint1, sizeof(int));
341
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
342
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == sizeof(int));
343
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == sizeof(int));
347
test_ring_buffer->put(testbuf1);
348
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
349
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == 1);
350
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == 1);
346
352
test_ring_buffer->flush(test_id);
347
353
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
348
354
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == 0);
349
355
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == 0);
350
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == 3*sizeof(int));
356
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == 5);
352
358
// test flush data
353
359
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
354
test_ring_buffer->put(&testint1, sizeof(int));
355
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
356
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == sizeof(int));
357
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == sizeof(int));
358
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == 3*sizeof(int));
360
test_ring_buffer->put(testbuf1);
361
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
362
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == 1);
363
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == 1);
364
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == 5);
360
test_ring_buffer->discard(sizeof(int), test_id);
366
test_ring_buffer->discard(1, test_id);
361
367
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
362
368
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_id) == 0);
363
369
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id) == 0);
364
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == 4*sizeof(int));
370
CPPUNIT_ASSERT(test_ring_buffer->getReadPointer(test_id) == 6);
366
372
test_ring_buffer->removeReadPointer(test_id);
371
376
void MainBufferTest::testRingBufferFloat()
827
834
mainbuffer_->bindCallID(test_id, MainBuffer::DEFAULT_ID);
829
int test_input1 = 12;
830
int test_input2 = 13;
836
SFLAudioSample test_sample1 = 12;
837
SFLAudioSample test_sample2 = 13;
839
AudioBuffer test_input1(&test_sample1, 1, 1, 8000);
840
AudioBuffer test_input2(&test_sample2, 1, 1, 8000);
841
AudioBuffer test_output(1, 1, 8000);
842
AudioBuffer test_output_large(100, 1, 8000);
833
844
// put by MainBuffer::DEFAULT_ID get by test_id without preleminary put
834
845
CPPUNIT_ASSERT(mainbuffer_->availableForGetByID(MainBuffer::DEFAULT_ID, test_id) == 0);
835
CPPUNIT_ASSERT(mainbuffer_->getDataByID(&test_output, sizeof(int), MainBuffer::DEFAULT_ID, test_id) == 0);
846
CPPUNIT_ASSERT(mainbuffer_->getDataByID(test_output, MainBuffer::DEFAULT_ID, test_id) == 0);
837
848
// put by MainBuffer::DEFAULT_ID, get by test_id
838
mainbuffer_->putData(&test_input1, sizeof(int), MainBuffer::DEFAULT_ID);
839
CPPUNIT_ASSERT(mainbuffer_->availableForGetByID(MainBuffer::DEFAULT_ID, test_id) == sizeof(int));
849
mainbuffer_->putData(test_input1, MainBuffer::DEFAULT_ID);
850
CPPUNIT_ASSERT(mainbuffer_->availableForGetByID(MainBuffer::DEFAULT_ID, test_id) == 1);
841
852
// get by MainBuffer::DEFAULT_ID without preliminary input
842
853
CPPUNIT_ASSERT(mainbuffer_->availableForGetByID(test_id, MainBuffer::DEFAULT_ID) == 0);
843
CPPUNIT_ASSERT(mainbuffer_->getDataByID(&test_output, 100, test_id, MainBuffer::DEFAULT_ID) == 0);
854
CPPUNIT_ASSERT(mainbuffer_->getDataByID(test_output_large, test_id, MainBuffer::DEFAULT_ID) == 0);
845
// pu by test_id get by test_id
846
mainbuffer_->putData(&test_input2, sizeof(int), test_id);
847
CPPUNIT_ASSERT(mainbuffer_->availableForGetByID(test_id, MainBuffer::DEFAULT_ID) == sizeof(int));
848
CPPUNIT_ASSERT(mainbuffer_->getDataByID(&test_output, 100, test_id, MainBuffer::DEFAULT_ID) == sizeof(int));
856
// put by test_id get by test_id
857
mainbuffer_->putData(test_input2, test_id);
858
CPPUNIT_ASSERT(mainbuffer_->availableForGetByID(test_id, MainBuffer::DEFAULT_ID) == 1);
859
CPPUNIT_ASSERT(mainbuffer_->getDataByID(test_output_large, test_id, MainBuffer::DEFAULT_ID) == 1);
849
860
CPPUNIT_ASSERT(mainbuffer_->availableForGetByID(test_id, MainBuffer::DEFAULT_ID) == 0);
850
CPPUNIT_ASSERT(test_input2 == test_output);
861
CPPUNIT_ASSERT((*test_output_large.getChannel(0))[0] == test_sample2);
852
863
// put/get by false id
853
mainbuffer_->putData(&test_input2, sizeof(int), false_id);
854
CPPUNIT_ASSERT(mainbuffer_->getDataByID(&test_input2, 100, false_id, false_id) == 0);
855
CPPUNIT_ASSERT(mainbuffer_->getDataByID(&test_input2, 100, MainBuffer::DEFAULT_ID, false_id) == 0);
856
CPPUNIT_ASSERT(mainbuffer_->getDataByID(&test_input2, 100, false_id, MainBuffer::DEFAULT_ID) == 0);
864
mainbuffer_->putData(test_input2, false_id);
865
CPPUNIT_ASSERT(mainbuffer_->getDataByID(test_output_large, false_id, false_id) == 0);
866
CPPUNIT_ASSERT(mainbuffer_->getDataByID(test_output_large, MainBuffer::DEFAULT_ID, false_id) == 0);
867
CPPUNIT_ASSERT(mainbuffer_->getDataByID(test_output_large, false_id, MainBuffer::DEFAULT_ID) == 0);
858
869
mainbuffer_->unBindCallID(test_id, MainBuffer::DEFAULT_ID);
868
879
mainbuffer_->bindCallID(test_id, MainBuffer::DEFAULT_ID);
870
int test_input1 = 12;
871
int test_input2 = 13;
881
SFLAudioSample test_sample1 = 12;
882
SFLAudioSample test_sample2 = 13;
884
AudioBuffer test_input1(&test_sample1, 1, 1, 8000);
885
AudioBuffer test_input2(&test_sample2, 1, 1, 8000);
886
AudioBuffer test_output(100, 1, 8000);
874
888
// get by test_id without preleminary put
875
889
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id) == 0);
876
CPPUNIT_ASSERT(mainbuffer_->getData(&test_output, 100, test_id) == 0);
890
CPPUNIT_ASSERT(mainbuffer_->getData(test_output, test_id) == 0);
878
892
// put by MainBuffer::DEFAULT_ID, get by test_id
879
mainbuffer_->putData(&test_input1, sizeof(int), MainBuffer::DEFAULT_ID);
880
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id) == sizeof(int));
881
CPPUNIT_ASSERT(mainbuffer_->getData(&test_output, 100, test_id) == sizeof(int));
893
mainbuffer_->putData(test_input1, MainBuffer::DEFAULT_ID);
894
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id) == 1);
895
CPPUNIT_ASSERT(mainbuffer_->getData(test_output, test_id) == 1);
882
896
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id) == 0);
883
CPPUNIT_ASSERT(test_input1 == test_output);
897
CPPUNIT_ASSERT(test_sample1 == (*test_output.getChannel(0))[0]);
885
899
// get by MainBuffer::DEFAULT_ID without preleminary put
886
900
CPPUNIT_ASSERT(mainbuffer_->availableForGet(MainBuffer::DEFAULT_ID) == 0);
887
CPPUNIT_ASSERT(mainbuffer_->getData(&test_output, sizeof(int), MainBuffer::DEFAULT_ID) == 0);
901
CPPUNIT_ASSERT(mainbuffer_->getData(test_output, MainBuffer::DEFAULT_ID) == 0);
889
903
// put by test_id, get by MainBuffer::DEFAULT_ID
890
mainbuffer_->putData(&test_input2, sizeof(int), test_id);
891
CPPUNIT_ASSERT(mainbuffer_->availableForGet(MainBuffer::DEFAULT_ID) == sizeof(int));
892
CPPUNIT_ASSERT(mainbuffer_->getData(&test_output, 100, MainBuffer::DEFAULT_ID) == sizeof(int));
904
mainbuffer_->putData(test_input2, test_id);
905
CPPUNIT_ASSERT(mainbuffer_->availableForGet(MainBuffer::DEFAULT_ID) == 1);
906
CPPUNIT_ASSERT(mainbuffer_->getData(test_output, MainBuffer::DEFAULT_ID) == 1);
893
907
CPPUNIT_ASSERT(mainbuffer_->availableForGet(MainBuffer::DEFAULT_ID) == 0);
894
CPPUNIT_ASSERT(test_input2 == test_output);
908
CPPUNIT_ASSERT(test_sample2 == (*test_output.getChannel(0))[0]);
896
910
mainbuffer_->unBindCallID(test_id, MainBuffer::DEFAULT_ID);
905
919
// mainbuffer_->createRingBuffer(test_id);
906
920
mainbuffer_->bindCallID(test_id, MainBuffer::DEFAULT_ID);
908
int test_input1 = 12;
909
// int test_output_size;
922
SFLAudioSample test_sample1 = 12;
923
AudioBuffer test_input1(&test_sample1, 1, 1, 8000);
912
mainbuffer_->putData(&test_input1, sizeof(int), test_id);
913
CPPUNIT_ASSERT(mainbuffer_->availableForGet(MainBuffer::DEFAULT_ID) == sizeof(int));
914
mainbuffer_->discard(sizeof(int), MainBuffer::DEFAULT_ID);
925
mainbuffer_->putData(test_input1, test_id);
926
CPPUNIT_ASSERT(mainbuffer_->availableForGet(MainBuffer::DEFAULT_ID) == 1);
927
mainbuffer_->discard(1, MainBuffer::DEFAULT_ID);
915
928
CPPUNIT_ASSERT(mainbuffer_->availableForGet(MainBuffer::DEFAULT_ID) == 0);
917
930
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id) == 0);
918
mainbuffer_->discard(sizeof(int), test_id);
931
mainbuffer_->discard(1, test_id);
919
932
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id) == 0);
921
CPPUNIT_ASSERT(mainbuffer_->getRingBuffer(test_id)->getReadPointer(MainBuffer::DEFAULT_ID) == sizeof(int));
934
CPPUNIT_ASSERT(mainbuffer_->getRingBuffer(test_id)->getReadPointer(MainBuffer::DEFAULT_ID) == 1);
922
935
CPPUNIT_ASSERT(mainbuffer_->getRingBuffer(test_id)->getReadPointer(test_id) == 0);
925
938
CPPUNIT_ASSERT(mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID)->getReadPointer(test_id) == 0);
926
mainbuffer_->putData(&test_input1, 100, MainBuffer::DEFAULT_ID);
939
mainbuffer_->putData(test_input1, MainBuffer::DEFAULT_ID);
927
940
CPPUNIT_ASSERT(mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID)->getReadPointer(test_id) == 0);
929
mainbuffer_->discard(sizeof(int), test_id);
930
CPPUNIT_ASSERT(mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID)->getReadPointer(test_id) == sizeof(int));
942
mainbuffer_->discard(1, test_id);
943
CPPUNIT_ASSERT(mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID)->getReadPointer(test_id) == 1);
932
945
mainbuffer_->unBindCallID(test_id, MainBuffer::DEFAULT_ID);
973
986
test_ring_buffer->createReadPointer(test_pointer1);
974
987
test_ring_buffer->createReadPointer(test_pointer2);
983
test_ring_buffer->put(&testint1, sizeof(int));
984
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
985
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer1) == sizeof(int));
986
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer2) == sizeof(int));
987
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == sizeof(int));
988
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == sizeof(int));
990
test_ring_buffer->put(&testint2, sizeof(int));
991
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 2*sizeof(int));
992
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer1) == 2*sizeof(int));
993
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer2) == 2*sizeof(int));
994
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 2*sizeof(int));
995
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 2*sizeof(int));
997
test_ring_buffer->put(&testint3, sizeof(int));
998
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 3*sizeof(int));
999
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer1) == 3*sizeof(int));
1000
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer2) == 3*sizeof(int));
1001
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 3*sizeof(int));
1002
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 3*sizeof(int));
1004
test_ring_buffer->put(&testint4, sizeof(int));
1005
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 4*sizeof(int));
1006
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer1) == 4*sizeof(int));
1007
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer2) == 4*sizeof(int));
1008
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 4*sizeof(int));
1009
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 4*sizeof(int));
1012
CPPUNIT_ASSERT(test_ring_buffer->get(&testoutput, sizeof(int), test_pointer1) == sizeof(int));
1013
CPPUNIT_ASSERT(testoutput == testint1);
1014
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 3*sizeof(int));
1015
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 4*sizeof(int));
1017
CPPUNIT_ASSERT(test_ring_buffer->get(&testoutput, sizeof(int), test_pointer2) == sizeof(int));
1018
CPPUNIT_ASSERT(testoutput == testint1);
1019
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 3*sizeof(int));
1020
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 3*sizeof(int));
1022
// However, we should no be alowed to read in our own ring buffer
1023
// if we are either an AudioLayer or and RTP session
1024
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 4*sizeof(int));
1026
// However, we should no be alowed to read in our own ring buffer
1027
// if we are either an AudioLayer or and RTP session
1028
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 4*sizeof(int));
1030
// However, we should no be alowed to read in our own ring buffer
1031
// if we are either an AudioLayer or and RTP session
1032
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 4*sizeof(int));
1034
CPPUNIT_ASSERT(test_ring_buffer->discard(sizeof(int), test_pointer1) == sizeof(int));
1035
CPPUNIT_ASSERT(test_ring_buffer->discard(sizeof(int), test_pointer2) == sizeof(int));
989
SFLAudioSample testint1 = 12;
990
SFLAudioSample testint2 = 13;
991
SFLAudioSample testint3 = 14;
992
SFLAudioSample testint4 = 15;
993
AudioBuffer test_input1(&testint1, 1, 1, 8000);
994
AudioBuffer test_input2(&testint2, 1, 1, 8000);
995
AudioBuffer test_input3(&testint3, 1, 1, 8000);
996
AudioBuffer test_input4(&testint4, 1, 1, 8000);
998
AudioBuffer test_output(1, 1, 8000);
1000
test_ring_buffer->put(test_input1);
1001
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
1002
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer1) == 1);
1003
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer2) == 1);
1004
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 1);
1005
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 1);
1007
test_ring_buffer->put(test_input2);
1008
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 2);
1009
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer1) == 2);
1010
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer2) == 2);
1011
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 2);
1012
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 2);
1014
test_ring_buffer->put(test_input3);
1015
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 3);
1016
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer1) == 3);
1017
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer2) == 3);
1018
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 3);
1019
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 3);
1021
test_ring_buffer->put(test_input4);
1022
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 4);
1023
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer1) == 4);
1024
CPPUNIT_ASSERT(test_ring_buffer->getLength(test_pointer2) == 4);
1025
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 4);
1026
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 4);
1029
CPPUNIT_ASSERT(test_ring_buffer->get(test_output, test_pointer1) == 1);
1030
CPPUNIT_ASSERT((*test_output.getChannel(0))[0] == testint1);
1031
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 3);
1032
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 4);
1034
CPPUNIT_ASSERT(test_ring_buffer->get(test_output, test_pointer2) == 1);
1035
CPPUNIT_ASSERT((*test_output.getChannel(0))[0] == testint1);
1036
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer1) == 3);
1037
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_pointer2) == 3);
1039
// However, we should no be alowed to read in our own ring buffer
1040
// if we are either an AudioLayer or an RTP session
1041
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 4);
1043
// However, we should no be alowed to read in our own ring buffer
1044
// if we are either an AudioLayer or an RTP session
1045
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 4);
1047
// However, we should no be alowed to read in our own ring buffer
1048
// if we are either an AudioLayer or an RTP session
1049
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 4);
1051
CPPUNIT_ASSERT(test_ring_buffer->discard(1, test_pointer1) == 1);
1052
CPPUNIT_ASSERT(test_ring_buffer->discard(1, test_pointer2) == 1);
1037
1054
test_ring_buffer->removeReadPointer(test_pointer1);
1038
1055
test_ring_buffer->removeReadPointer(test_pointer2);
1192
1209
// test putData default
1210
SFLAudioSample testint = 12;
1211
AudioBuffer testbuf(&testint, 1, 1, 8000);
1195
1213
CPPUNIT_ASSERT(mainbuffer_->availableForGet(MainBuffer::DEFAULT_ID) == 0);
1196
1214
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id1) == 0);
1197
1215
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id2) == 0);
1198
1216
// put data test ring buffers
1199
mainbuffer_->putData(&testint, sizeof(int), MainBuffer::DEFAULT_ID);
1217
mainbuffer_->putData(testbuf, MainBuffer::DEFAULT_ID);
1200
1218
test_ring_buffer = mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID);
1201
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
1202
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == sizeof(int));
1203
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == sizeof(int));
1219
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
1220
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == 1);
1221
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == 1);
1204
1222
test_ring_buffer = mainbuffer_->getRingBuffer(test_id1);
1205
1223
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
1206
1224
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 0);
1211
1229
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == 0);
1212
1230
// test mainbuffer availforget (get data even if some participant missing)
1213
1231
CPPUNIT_ASSERT(mainbuffer_->availableForGet(MainBuffer::DEFAULT_ID) == 0);
1214
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id1) == sizeof(int));
1215
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id2) == sizeof(int));
1232
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id1) == 1);
1233
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id2) == 1);
1216
1234
//putdata test ring buffers
1217
mainbuffer_->putData(&testint, 100, test_id1);
1235
mainbuffer_->putData(testbuf, test_id1);
1218
1236
test_ring_buffer = mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID);
1219
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
1220
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == sizeof(int));
1221
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == sizeof(int));
1237
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
1238
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == 1);
1239
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == 1);
1222
1240
test_ring_buffer = mainbuffer_->getRingBuffer(test_id1);
1223
1241
test_ring_buffer = mainbuffer_->getRingBuffer(test_id2);
1224
1242
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 0);
1225
1243
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(MainBuffer::DEFAULT_ID) == 0);
1226
1244
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == 0);
1228
mainbuffer_->putData(&testint, 100, test_id2);
1246
mainbuffer_->putData(testbuf, test_id2);
1229
1247
test_ring_buffer = mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID);
1230
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
1231
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == sizeof(int));
1232
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == sizeof(int));
1248
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
1249
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == 1);
1250
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == 1);
1233
1251
test_ring_buffer = mainbuffer_->getRingBuffer(test_id1);
1234
1252
test_ring_buffer = mainbuffer_->getRingBuffer(test_id2);
1235
1253
// test mainbuffer availforget
1236
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id1) == sizeof(int));
1237
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id2) == sizeof(int));
1254
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id1) == 1);
1255
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id2) == 1);
1239
1257
// test getData default id (audio layer)
1240
1258
test_ring_buffer = mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID);
1241
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
1242
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == sizeof(int));
1243
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == sizeof(int));
1259
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
1260
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id1) == 1);
1261
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == 1);
1244
1262
test_ring_buffer = mainbuffer_->getRingBuffer(test_id1);
1245
1263
test_ring_buffer = mainbuffer_->getRingBuffer(test_id2);
1246
1264
// test mainbuffer availforget
1247
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id1) == sizeof(int));
1248
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id2) == sizeof(int));
1265
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id1) == 1);
1266
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id2) == 1);
1249
1267
// test getData test_id1 (audio layer)
1250
1268
test_ring_buffer = mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID);
1251
CPPUNIT_ASSERT(test_ring_buffer->putLength() == sizeof(int));
1252
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == sizeof(int));
1269
CPPUNIT_ASSERT(test_ring_buffer->putLength() == 1);
1270
CPPUNIT_ASSERT(test_ring_buffer->availableForGet(test_id2) == 1);
1253
1271
test_ring_buffer = mainbuffer_->getRingBuffer(test_id1);
1254
1272
test_ring_buffer = mainbuffer_->getRingBuffer(test_id2);
1256
1274
// test mainbuffer availforget
1257
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id2) == sizeof(int));
1275
CPPUNIT_ASSERT(mainbuffer_->availableForGet(test_id2) == 1);
1258
1276
// test getData test_id2 (audio layer)
1259
1277
test_ring_buffer = mainbuffer_->getRingBuffer(MainBuffer::DEFAULT_ID);
1260
1278
test_ring_buffer = mainbuffer_->getRingBuffer(test_id1);