summaryrefslogtreecommitdiff
path: root/media/libcubeb/gtest/test_overload_callback.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libcubeb/gtest/test_overload_callback.cpp')
-rw-r--r--media/libcubeb/gtest/test_overload_callback.cpp92
1 files changed, 0 insertions, 92 deletions
diff --git a/media/libcubeb/gtest/test_overload_callback.cpp b/media/libcubeb/gtest/test_overload_callback.cpp
deleted file mode 100644
index 4a19ce9f13..0000000000
--- a/media/libcubeb/gtest/test_overload_callback.cpp
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright © 2017 Mozilla Foundation
- *
- * This program is made available under an ISC-style license. See the
- * accompanying file LICENSE for details.
- */
-
-#include "gtest/gtest.h"
-#if !defined(_XOPEN_SOURCE)
-#define _XOPEN_SOURCE 600
-#endif
-#include <stdio.h>
-#include <stdlib.h>
-#include <math.h>
-#include <memory>
-#include <atomic>
-#include "cubeb/cubeb.h"
-//#define ENABLE_NORMAL_LOG
-//#define ENABLE_VERBOSE_LOG
-#include "common.h"
-
-#define SAMPLE_FREQUENCY 48000
-#define STREAM_FORMAT CUBEB_SAMPLE_S16LE
-
-std::atomic<bool> load_callback{ false };
-
-long data_cb(cubeb_stream * stream, void * user, const void * inputbuffer, void * outputbuffer, long nframes)
-{
- if (load_callback) {
- fprintf(stderr, "Sleeping...\n");
- delay(100000);
- fprintf(stderr, "Sleeping done\n");
- }
- return nframes;
-}
-
-void state_cb(cubeb_stream * stream, void * /*user*/, cubeb_state state)
-{
- ASSERT_TRUE(!!stream);
-
- switch (state) {
- case CUBEB_STATE_STARTED:
- fprintf(stderr, "stream started\n"); break;
- case CUBEB_STATE_STOPPED:
- fprintf(stderr, "stream stopped\n"); break;
- case CUBEB_STATE_DRAINED:
- FAIL() << "this test is not supposed to drain"; break;
- case CUBEB_STATE_ERROR:
- fprintf(stderr, "stream error\n"); break;
- default:
- FAIL() << "this test is not supposed to have a weird state"; break;
- }
-}
-
-TEST(cubeb, overload_callback)
-{
- cubeb * ctx;
- cubeb_stream * stream;
- cubeb_stream_params output_params;
- int r;
- uint32_t latency_frames = 0;
-
- r = common_init(&ctx, "Cubeb callback overload");
- ASSERT_EQ(r, CUBEB_OK);
-
- std::unique_ptr<cubeb, decltype(&cubeb_destroy)>
- cleanup_cubeb_at_exit(ctx, cubeb_destroy);
-
- output_params.format = STREAM_FORMAT;
- output_params.rate = 48000;
- output_params.channels = 2;
- output_params.layout = CUBEB_LAYOUT_STEREO;
- output_params.prefs = CUBEB_STREAM_PREF_NONE;
-
- r = cubeb_get_min_latency(ctx, &output_params, &latency_frames);
- ASSERT_EQ(r, CUBEB_OK);
-
- r = cubeb_stream_init(ctx, &stream, "Cubeb",
- NULL, NULL, NULL, &output_params,
- latency_frames, data_cb, state_cb, NULL);
- ASSERT_EQ(r, CUBEB_OK);
-
- std::unique_ptr<cubeb_stream, decltype(&cubeb_stream_destroy)>
- cleanup_stream_at_exit(stream, cubeb_stream_destroy);
-
- cubeb_stream_start(stream);
- delay(500);
- // This causes the callback to sleep for a large number of seconds.
- load_callback = true;
- delay(500);
- cubeb_stream_stop(stream);
-}