diff options
Diffstat (limited to 'media/libcubeb/src')
-rw-r--r-- | media/libcubeb/src/cubeb_osx_run_loop.c | 11 | ||||
-rw-r--r-- | media/libcubeb/src/cubeb_osx_run_loop.h | 22 | ||||
-rw-r--r-- | media/libcubeb/src/moz.build | 4 |
3 files changed, 37 insertions, 0 deletions
diff --git a/media/libcubeb/src/cubeb_osx_run_loop.c b/media/libcubeb/src/cubeb_osx_run_loop.c new file mode 100644 index 0000000000..0ba9536560 --- /dev/null +++ b/media/libcubeb/src/cubeb_osx_run_loop.c @@ -0,0 +1,11 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*-*/ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, + * You can obtain one at http://mozilla.org/MPL/2.0/. */ + +#include "OSXRunLoopSingleton.h" + +void cubeb_set_coreaudio_notification_runloop() +{ + mozilla_set_coreaudio_notification_runloop_if_needed(); +} diff --git a/media/libcubeb/src/cubeb_osx_run_loop.h b/media/libcubeb/src/cubeb_osx_run_loop.h new file mode 100644 index 0000000000..78cd68d09b --- /dev/null +++ b/media/libcubeb/src/cubeb_osx_run_loop.h @@ -0,0 +1,22 @@ +/* + * Copyright © 2014 Mozilla Foundation + * + * This program is made available under an ISC-style license. See the + * accompanying file LICENSE for details. + */ + +/* On OSX 10.6 and after, the notification callbacks from the audio hardware are + * called on the main thread. Setting the kAudioHardwarePropertyRunLoop property + * to null tells the OSX to use a separate thread for that. + * + * This has to be called only once per process, so it is in a separate header + * for easy integration in other code bases. */ +#if defined(__cplusplus) +extern "C" { +#endif + +void cubeb_set_coreaudio_notification_runloop(); + +#if defined(__cplusplus) +} +#endif diff --git a/media/libcubeb/src/moz.build b/media/libcubeb/src/moz.build index c21cc873db..65aaf7256a 100644 --- a/media/libcubeb/src/moz.build +++ b/media/libcubeb/src/moz.build @@ -55,6 +55,10 @@ if CONFIG['OS_TARGET'] == 'Darwin': 'cubeb_audiounit.cpp', 'cubeb_resampler.cpp' ] + if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': + SOURCES += [ + 'cubeb_osx_run_loop.c', + ] DEFINES['USE_AUDIOUNIT'] = True if CONFIG['OS_TARGET'] == 'WINNT': |