summaryrefslogtreecommitdiffstats
path: root/audio/out
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2023-08-06 17:09:13 +0200
committersfan5 <sfan5@live.de>2023-08-08 20:15:20 +0200
commitdae03406208a19c08244418271f329707896a8b6 (patch)
treeab3d4cbf2560dc4c3c75d258e19c2352e9e8d1ae /audio/out
parent9faf9932a48d6ff52493eee9d58672d17269bbd0 (diff)
downloadmpv-dae03406208a19c08244418271f329707896a8b6.tar.bz2
mpv-dae03406208a19c08244418271f329707896a8b6.tar.xz
ao_audiotrack: support media role
maybe this is good for something, who knows
Diffstat (limited to 'audio/out')
-rw-r--r--audio/out/ao_audiotrack.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/audio/out/ao_audiotrack.c b/audio/out/ao_audiotrack.c
index a66dbbeec8..1f2f069964 100644
--- a/audio/out/ao_audiotrack.c
+++ b/audio/out/ao_audiotrack.c
@@ -150,12 +150,14 @@ struct JNIAudioTrack {
struct JNIAudioAttributes {
jclass clazz;
jint CONTENT_TYPE_MOVIE;
+ jint CONTENT_TYPE_MUSIC;
jint USAGE_MEDIA;
struct MPJniField mapping[];
} AudioAttributes = {.mapping = {
#define OFFSET(member) offsetof(struct JNIAudioAttributes, member)
{"android/media/AudioAttributes", NULL, NULL, MP_JNI_CLASS, OFFSET(clazz), 0},
{"android/media/AudioAttributes", "CONTENT_TYPE_MOVIE", "I", MP_JNI_STATIC_FIELD_AS_INT, OFFSET(CONTENT_TYPE_MOVIE), 0},
+ {"android/media/AudioAttributes", "CONTENT_TYPE_MUSIC", "I", MP_JNI_STATIC_FIELD_AS_INT, OFFSET(CONTENT_TYPE_MUSIC), 0},
{"android/media/AudioAttributes", "USAGE_MEDIA", "I", MP_JNI_STATIC_FIELD_AS_INT, OFFSET(USAGE_MEDIA), 0},
{0}
#undef OFFSET
@@ -301,7 +303,9 @@ static int AudioTrack_New(struct ao *ao)
MP_JNI_EXCEPTION_LOG(ao);
tmp = MP_JNI_CALL_OBJECT(attr_builder, AudioAttributesBuilder.setUsage, AudioAttributes.USAGE_MEDIA);
MP_JNI_DELETELOCAL(tmp);
- tmp = MP_JNI_CALL_OBJECT(attr_builder, AudioAttributesBuilder.setContentType, AudioAttributes.CONTENT_TYPE_MOVIE);
+ jint content_type = (ao->init_flags & AO_INIT_MEDIA_ROLE_MUSIC) ?
+ AudioAttributes.CONTENT_TYPE_MUSIC : AudioAttributes.CONTENT_TYPE_MOVIE;
+ tmp = MP_JNI_CALL_OBJECT(attr_builder, AudioAttributesBuilder.setContentType, content_type);
MP_JNI_DELETELOCAL(tmp);
jobject attr = MP_JNI_CALL_OBJECT(attr_builder, AudioAttributesBuilder.build);
MP_JNI_DELETELOCAL(attr_builder);