summaryrefslogtreecommitdiffstats
path: root/media/libcubeb/src/android
diff options
context:
space:
mode:
Diffstat (limited to 'media/libcubeb/src/android')
-rw-r--r--media/libcubeb/src/android/cubeb-output-latency.h76
-rw-r--r--media/libcubeb/src/android/cubeb_media_library.h62
-rw-r--r--media/libcubeb/src/android/sles_definitions.h39
3 files changed, 7 insertions, 170 deletions
diff --git a/media/libcubeb/src/android/cubeb-output-latency.h b/media/libcubeb/src/android/cubeb-output-latency.h
deleted file mode 100644
index a824fc1c2..000000000
--- a/media/libcubeb/src/android/cubeb-output-latency.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef _CUBEB_OUTPUT_LATENCY_H_
-#define _CUBEB_OUTPUT_LATENCY_H_
-
-#include <stdbool.h>
-#include "cubeb_media_library.h"
-#include "../cubeb-jni.h"
-
-struct output_latency_function {
- media_lib * from_lib;
- cubeb_jni * from_jni;
- int version;
-};
-
-typedef struct output_latency_function output_latency_function;
-
-const int ANDROID_JELLY_BEAN_MR1_4_2 = 17;
-
-output_latency_function *
-cubeb_output_latency_load_method(int version)
-{
- output_latency_function * ol = NULL;
- ol = calloc(1, sizeof(output_latency_function));
-
- ol->version = version;
-
- if (ol->version > ANDROID_JELLY_BEAN_MR1_4_2){
- ol->from_jni = cubeb_jni_init();
- return ol;
- }
-
- ol->from_lib = cubeb_load_media_library();
- return ol;
-}
-
-bool
-cubeb_output_latency_method_is_loaded(output_latency_function * ol)
-{
- assert(ol && (ol->from_jni || ol->from_lib));
- if (ol->version > ANDROID_JELLY_BEAN_MR1_4_2){
- return !!ol->from_jni;
- }
-
- return !!ol->from_lib;
-}
-
-void
-cubeb_output_latency_unload_method(output_latency_function * ol)
-{
- if (!ol) {
- return;
- }
-
- if (ol->version > ANDROID_JELLY_BEAN_MR1_4_2 && ol->from_jni) {
- cubeb_jni_destroy(ol->from_jni);
- }
-
- if (ol->version <= ANDROID_JELLY_BEAN_MR1_4_2 && ol->from_lib) {
- cubeb_close_media_library(ol->from_lib);
- }
-
- free(ol);
-}
-
-uint32_t
-cubeb_get_output_latency(output_latency_function * ol)
-{
- assert(cubeb_output_latency_method_is_loaded(ol));
-
- if (ol->version > ANDROID_JELLY_BEAN_MR1_4_2){
- return cubeb_get_output_latency_from_jni(ol->from_jni);
- }
-
- return cubeb_get_output_latency_from_media_library(ol->from_lib);
-}
-
-#endif // _CUBEB_OUTPUT_LATENCY_H_
diff --git a/media/libcubeb/src/android/cubeb_media_library.h b/media/libcubeb/src/android/cubeb_media_library.h
deleted file mode 100644
index ab21b779d..000000000
--- a/media/libcubeb/src/android/cubeb_media_library.h
+++ /dev/null
@@ -1,62 +0,0 @@
-#ifndef _CUBEB_MEDIA_LIBRARY_H_
-#define _CUBEB_MEDIA_LIBRARY_H_
-
-struct media_lib {
- void * libmedia;
- int32_t (* get_output_latency)(uint32_t * latency, int stream_type);
-};
-
-typedef struct media_lib media_lib;
-
-media_lib *
-cubeb_load_media_library()
-{
- media_lib ml = {0};
- ml.libmedia = dlopen("libmedia.so", RTLD_LAZY);
- if (!ml.libmedia) {
- return NULL;
- }
-
- // Get the latency, in ms, from AudioFlinger. First, try the most recent signature.
- // status_t AudioSystem::getOutputLatency(uint32_t* latency, audio_stream_type_t streamType)
- ml.get_output_latency =
- dlsym(ml.libmedia, "_ZN7android11AudioSystem16getOutputLatencyEPj19audio_stream_type_t");
- if (!ml.get_output_latency) {
- // In case of failure, try the signature from legacy version.
- // status_t AudioSystem::getOutputLatency(uint32_t* latency, int streamType)
- ml.get_output_latency =
- dlsym(ml.libmedia, "_ZN7android11AudioSystem16getOutputLatencyEPji");
- if (!ml.get_output_latency) {
- return NULL;
- }
- }
-
- media_lib * rv = NULL;
- rv = calloc(1, sizeof(media_lib));
- assert(rv);
- *rv = ml;
- return rv;
-}
-
-void
-cubeb_close_media_library(media_lib * ml)
-{
- dlclose(ml->libmedia);
- ml->libmedia = NULL;
- ml->get_output_latency = NULL;
- free(ml);
-}
-
-uint32_t
-cubeb_get_output_latency_from_media_library(media_lib * ml)
-{
- uint32_t latency = 0;
- const int audio_stream_type_music = 3;
- int32_t r = ml->get_output_latency(&latency, audio_stream_type_music);
- if (r) {
- return 0;
- }
- return latency;
-}
-
-#endif // _CUBEB_MEDIA_LIBRARY_H_
diff --git a/media/libcubeb/src/android/sles_definitions.h b/media/libcubeb/src/android/sles_definitions.h
index 06d2e8d49..1b1ace567 100644
--- a/media/libcubeb/src/android/sles_definitions.h
+++ b/media/libcubeb/src/android/sles_definitions.h
@@ -43,9 +43,10 @@
#define SL_ANDROID_RECORDING_PRESET_VOICE_RECOGNITION ((SLuint32) 0x00000003)
/** uses the main microphone tuned for audio communications */
#define SL_ANDROID_RECORDING_PRESET_VOICE_COMMUNICATION ((SLuint32) 0x00000004)
-/** uses the main microphone unprocessed */
-#define SL_ANDROID_RECORDING_PRESET_UNPROCESSED ((SLuint32) 0x00000005)
+/** Audio recording get session ID (read only) */
+/** Audio recording get session ID key */
+#define SL_ANDROID_KEY_RECORDING_SESSION_ID ((const SLchar*) "androidRecordingSessionId")
/*---------------------------------------------------------------------------*/
/* Android AudioPlayer configuration */
@@ -68,35 +69,9 @@
#define SL_ANDROID_STREAM_ALARM ((SLint32) 0x00000004)
/* same as android.media.AudioManager.STREAM_NOTIFICATION */
#define SL_ANDROID_STREAM_NOTIFICATION ((SLint32) 0x00000005)
-
-
-/*---------------------------------------------------------------------------*/
-/* Android AudioPlayer and AudioRecorder configuration */
-/*---------------------------------------------------------------------------*/
-
-/** Audio Performance mode.
- * Performance mode tells the framework how to configure the audio path
- * for a player or recorder according to application performance and
- * functional requirements.
- * It affects the output or input latency based on acceptable tradeoffs on
- * battery drain and use of pre or post processing effects.
- * Performance mode should be set before realizing the object and should be
- * read after realizing the object to check if the requested mode could be
- * granted or not.
- */
-/** Audio Performance mode key */
-#define SL_ANDROID_KEY_PERFORMANCE_MODE ((const SLchar*) "androidPerformanceMode")
-
-/** Audio performance values */
-/* No specific performance requirement. Allows HW and SW pre/post processing. */
-#define SL_ANDROID_PERFORMANCE_NONE ((SLuint32) 0x00000000)
-/* Priority given to latency. No HW or software pre/post processing.
- * This is the default if no performance mode is specified. */
-#define SL_ANDROID_PERFORMANCE_LATENCY ((SLuint32) 0x00000001)
-/* Priority given to latency while still allowing HW pre and post processing. */
-#define SL_ANDROID_PERFORMANCE_LATENCY_EFFECTS ((SLuint32) 0x00000002)
-/* Priority given to power saving if latency is not a concern.
- * Allows HW and SW pre/post processing. */
-#define SL_ANDROID_PERFORMANCE_POWER_SAVING ((SLuint32) 0x00000003)
+/* same as android.media.AudioManager.STREAM_BLUETOOTH_SCO */
+#define SL_ANDROID_STREAM_BLUETOOTH_SCO ((SLint32) 0x00000006)
+/* same as android.media.AudioManager.STREAM_SYSTEM_ENFORCED */
+#define SL_ANDROID_STREAM_SYSTEM_ENFORCED ((SLint32) 0x00000007)
#endif /* OPENSL_ES_ANDROIDCONFIGURATION_H_ */