static void test_context_variables(void) { int r; cubeb * ctx; uint32_t value; cubeb_stream_params params; BEGIN_TEST; r = cubeb_init(&ctx, "test_context_variables"); assert(r == 0 && ctx); params.channels = STREAM_CHANNELS; params.format = STREAM_FORMAT; params.rate = STREAM_RATE; r = cubeb_get_min_latency(ctx, params, &value); assert(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); if (r == CUBEB_OK) { assert(value > 0); } r = cubeb_get_preferred_sample_rate(ctx, &value); assert(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); if (r == CUBEB_OK) { assert(value > 0); } cubeb_destroy(ctx); END_TEST; }
int main(int argc, char * argv[]) { cubeb * ctx = NULL; int rv; uint32_t max_channels; uint32_t preferred_rate; uint32_t latency_ms; rv = cubeb_init(&ctx, "Cubeb audio test"); assert(rv == CUBEB_OK && "Cubeb init failed."); rv = cubeb_get_max_channel_count(ctx, &max_channels); assert(rv == CUBEB_OK && "Could not query the max channe count."); assert(max_channels > 0 && "Invalid max channel count."); rv = cubeb_get_preferred_sample_rate(ctx, &preferred_rate); assert(rv == CUBEB_OK && "Could not query the preferred sample rate."); assert(preferred_rate && "Invalid preferred sample rate."); cubeb_stream_params params = { CUBEB_SAMPLE_FLOAT32NE, preferred_rate, max_channels }; rv = cubeb_get_min_latency(ctx, params, &latency_ms); assert(rv == CUBEB_OK && "Could not query the minimal latency."); assert(latency_ms && "Invalid minimal latency."); cubeb_destroy(ctx); return EXIT_SUCCESS; }
TEST(cubeb, context_variables) { int r; cubeb * ctx; uint32_t value; cubeb_channel_layout layout; cubeb_stream_params params; r = common_init(&ctx, "test_context_variables"); ASSERT_EQ(r, CUBEB_OK); ASSERT_NE(ctx, nullptr); params.channels = STREAM_CHANNELS; params.format = STREAM_FORMAT; params.rate = STREAM_RATE; params.layout = STREAM_LAYOUT; r = cubeb_get_min_latency(ctx, ¶ms, &value); ASSERT_TRUE(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); if (r == CUBEB_OK) { ASSERT_TRUE(value > 0); } r = cubeb_get_preferred_sample_rate(ctx, &value); ASSERT_TRUE(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); if (r == CUBEB_OK) { ASSERT_TRUE(value > 0); } r = cubeb_get_preferred_channel_layout(ctx, &layout); ASSERT_TRUE(r == CUBEB_ERROR_NOT_SUPPORTED || (r == CUBEB_OK && layout != CUBEB_LAYOUT_UNDEFINED) || (r == CUBEB_ERROR && layout == CUBEB_LAYOUT_UNDEFINED)); cubeb_destroy(ctx); }
/*static*/ void AudioStream::InitPreferredSampleRate() { StaticMutexAutoLock lock(sMutex); if (sPreferredSampleRate != 0 || cubeb_get_preferred_sample_rate(GetCubebContextUnlocked(), &sPreferredSampleRate) != CUBEB_OK) { sPreferredSampleRate = 44100; } }
void InitPreferredSampleRate() { StaticMutexAutoLock lock(sMutex); if (sPreferredSampleRate == 0 && cubeb_get_preferred_sample_rate(GetCubebContextUnlocked(), &sPreferredSampleRate) != CUBEB_OK) { // Query failed, use a sensible default. sPreferredSampleRate = 44100; } }
int main(int argc, char * argv[]) { #ifdef CUBEB_GECKO_BUILD ScopedXPCOM xpcom("test_latency"); #endif cubeb * ctx = NULL; int r; uint32_t max_channels; uint32_t preferred_rate; uint32_t latency_ms; LOG("latency_test start"); r = cubeb_init(&ctx, "Cubeb audio test"); assert(r == CUBEB_OK && "Cubeb init failed."); LOG("cubeb_init ok"); r = cubeb_get_max_channel_count(ctx, &max_channels); assert(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); if (r == CUBEB_OK) { assert(max_channels > 0 && "Invalid max channel count."); LOG("cubeb_get_max_channel_count ok"); } r = cubeb_get_preferred_sample_rate(ctx, &preferred_rate); assert(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); if (r == CUBEB_OK) { assert(preferred_rate > 0 && "Invalid preferred sample rate."); LOG("cubeb_get_preferred_sample_rate ok"); } cubeb_stream_params params = { CUBEB_SAMPLE_FLOAT32NE, preferred_rate, max_channels }; r = cubeb_get_min_latency(ctx, params, &latency_ms); assert(r == CUBEB_OK || r == CUBEB_ERROR_NOT_SUPPORTED); if (r == CUBEB_OK) { assert(latency_ms > 0 && "Invalid minimal latency."); LOG("cubeb_get_min_latency ok"); } cubeb_destroy(ctx); LOG("cubeb_destroy ok"); return EXIT_SUCCESS; }
bool InitPreferredSampleRate() { StaticMutexAutoLock lock(sMutex); if (sPreferredSampleRate != 0) { return true; } cubeb* context = GetCubebContextUnlocked(); if (!context) { return false; } if (cubeb_get_preferred_sample_rate(context, &sPreferredSampleRate) != CUBEB_OK) { return false; } MOZ_ASSERT(sPreferredSampleRate); return true; }