summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-03-06 23:08:07 +0000
committerCarl Hetherington <cth@carlh.net>2013-03-06 23:08:07 +0000
commit7a9a8229b57139ece3f9848910087310c06169c7 (patch)
treed34e0ff2783dc2f085a441e61e73252a10ae5cc1 /test
parente3ce330c4dc3f59f4e2b942bb6111c308a3d83eb (diff)
Try doing delay line by fiddling timestamps. Fix up confusion in A/B transcoder similar to that in standard one.
Diffstat (limited to 'test')
-rw-r--r--test/test.cc98
1 files changed, 0 insertions, 98 deletions
diff --git a/test/test.cc b/test/test.cc
index b2af8ab22..5e85e0dd5 100644
--- a/test/test.cc
+++ b/test/test.cc
@@ -28,7 +28,6 @@
#include "job_manager.h"
#include "util.h"
#include "exceptions.h"
-#include "delay_line.h"
#include "image.h"
#include "log.h"
#include "dcp_video_frame.h"
@@ -251,103 +250,6 @@ public:
void do_log (string) {}
};
-void
-do_positive_delay_line_test (int delay_length, int data_length)
-{
- NullLog log;
-
- DelayLine d (&log, 6, delay_length);
- shared_ptr<AudioBuffers> data (new AudioBuffers (6, data_length));
-
- int in = 0;
- int out = 0;
- int returned = 0;
- int zeros = 0;
-
- for (int i = 0; i < 64; ++i) {
- for (int j = 0; j < data_length; ++j) {
- for (int c = 0; c < 6; ++c ) {
- data->data(c)[j] = in;
- ++in;
- }
- }
-
- /* This only works because the delay line modifies the parameter */
- /* XXX: timestamp is wrong */
- d.process_audio (data, 0);
- returned += data->frames ();
-
- for (int j = 0; j < data->frames(); ++j) {
- if (zeros < delay_length) {
- for (int c = 0; c < 6; ++c) {
- BOOST_CHECK_EQUAL (data->data(c)[j], 0);
- }
- ++zeros;
- } else {
- for (int c = 0; c < 6; ++c) {
- BOOST_CHECK_EQUAL (data->data(c)[j], out);
- ++out;
- }
- }
- }
- }
-
- BOOST_CHECK_EQUAL (returned, 64 * data_length);
-}
-
-void
-do_negative_delay_line_test (int delay_length, int data_length)
-{
- NullLog log;
-
- DelayLine d (&log, 6, delay_length);
- shared_ptr<AudioBuffers> data (new AudioBuffers (6, data_length));
-
- int in = 0;
- int out = -delay_length * 6;
- int returned = 0;
-
- for (int i = 0; i < 256; ++i) {
- data->set_frames (data_length);
- for (int j = 0; j < data_length; ++j) {
- for (int c = 0; c < 6; ++c) {
- data->data(c)[j] = in;
- ++in;
- }
- }
-
- /* This only works because the delay line modifies the parameter */
- /* XXX: timestamp is wrong */
- d.process_audio (data, 0);
- returned += data->frames ();
-
- for (int j = 0; j < data->frames(); ++j) {
- for (int c = 0; c < 6; ++c) {
- BOOST_CHECK_EQUAL (data->data(c)[j], out);
- ++out;
- }
- }
- }
-
- returned += -delay_length;
- BOOST_CHECK_EQUAL (returned, 256 * data_length);
-}
-
-BOOST_AUTO_TEST_CASE (delay_line_test)
-{
- do_positive_delay_line_test (64, 128);
- do_positive_delay_line_test (128, 64);
- do_positive_delay_line_test (3, 512);
- do_positive_delay_line_test (512, 3);
-
- do_positive_delay_line_test (0, 64);
-
- do_negative_delay_line_test (-64, 128);
- do_negative_delay_line_test (-128, 64);
- do_negative_delay_line_test (-3, 512);
- do_negative_delay_line_test (-512, 3);
-}
-
BOOST_AUTO_TEST_CASE (md5_digest_test)
{
string const t = md5_digest ("test/md5.test");