1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- From 4d1ad6b0b0c5d3511ee5b2e7a7e1986cfc1e4a6d Mon Sep 17 00:00:00 2001
- From: =?UTF-8?q?Felix=20Paul=20Ku=CC=88hne?= <fkuehne@videolan.org>
- Date: Sat, 9 Mar 2013 18:48:05 +0100
- Subject: [PATCH] audiounit: run an AudioSession when outputting media
- content, so the user is able to listen to the audio when
- the silent switch is on
- ---
- modules/audio_output/audiounit_ios.c | 20 ++++++++++++++++++--
- 1 file changed, 18 insertions(+), 2 deletions(-)
- diff --git a/modules/audio_output/audiounit_ios.c b/modules/audio_output/audiounit_ios.c
- index e0f9693..4763cb7 100644
- --- a/modules/audio_output/audiounit_ios.c
- +++ b/modules/audio_output/audiounit_ios.c
- @@ -258,6 +258,17 @@ static int StartAnalog(audio_output_t *p_aout, audio_sample_format_t *fmt)
- return false;
- }
-
- + /* start audio session so playback continues if mute switch is on */
- + AudioSessionInitialize (NULL,
- + kCFRunLoopCommonModes,
- + NULL,
- + NULL);
- +
- + /* Set audio session to mediaplayback */
- + UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
- + AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory),&sessionCategory);
- + AudioSessionSetActive(true);
- +
- /* setup circular buffer */
- TPCircularBufferInit(&p_sys->circular_buffer, kBufferLength);
-
- @@ -274,6 +285,8 @@ static void Stop(audio_output_t *p_aout)
- struct aout_sys_t *p_sys = p_aout->sys;
- OSStatus status;
-
- + AudioSessionSetActive(false);
- +
- if (p_sys->au_unit) {
- status = AudioOutputUnitStop(p_sys->au_unit);
- if (status != noErr)
- @@ -331,10 +344,13 @@ static void Pause (audio_output_t *p_aout, bool pause, mtime_t date)
- struct aout_sys_t * p_sys = p_aout->sys;
- VLC_UNUSED(date);
-
- - if (pause)
- + if (pause) {
- AudioOutputUnitStop(p_sys->au_unit);
- - else
- + AudioSessionSetActive(false);
- + } else {
- AudioOutputUnitStart(p_sys->au_unit);
- + AudioSessionSetActive(true);
- + }
- }
-
- static void Flush(audio_output_t *p_aout, bool wait)
- --
- 1.7.12.4 (Apple Git-37)
|