1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-12 13:44:56 +02:00

AudioUnit: fix compilation for tvOS

This commit is contained in:
Felix Paul Kühne 2015-09-10 20:04:50 +02:00
parent 4c2c1a96a8
commit 44e1ebf001

View File

@ -1,7 +1,7 @@
/***************************************************************************** /*****************************************************************************
* audiounit_ios.c: AudioUnit output plugin for iOS * audiounit_ios.c: AudioUnit output plugin for iOS
***************************************************************************** *****************************************************************************
* Copyright (C) 2012 - 2013 VLC authors and VideoLAN * Copyright (C) 2012 - 2015 VLC authors and VideoLAN
* $Id$ * $Id$
* *
* Authors: Felix Paul Kühne <fkuehne at videolan dot org> * Authors: Felix Paul Kühne <fkuehne at videolan dot org>
@ -38,6 +38,8 @@
#import "TPCircularBuffer.h" #import "TPCircularBuffer.h"
#import <TargetConditionals.h>
#pragma mark - #pragma mark -
#pragma mark private declarations #pragma mark private declarations
@ -255,6 +257,7 @@ static int StartAnalog(audio_output_t *p_aout, audio_sample_format_t *fmt)
/* setup circular buffer */ /* setup circular buffer */
TPCircularBufferInit(&p_sys->circular_buffer, AUDIO_BUFFER_SIZE_IN_SECONDS * fmt->i_rate * fmt->i_bytes_per_frame); TPCircularBufferInit(&p_sys->circular_buffer, AUDIO_BUFFER_SIZE_IN_SECONDS * fmt->i_rate * fmt->i_bytes_per_frame);
#if !TARGET_OS_TV
/* start audio session so playback continues if mute switch is on */ /* start audio session so playback continues if mute switch is on */
AudioSessionInitialize (NULL, AudioSessionInitialize (NULL,
kCFRunLoopCommonModes, kCFRunLoopCommonModes,
@ -265,6 +268,7 @@ static int StartAnalog(audio_output_t *p_aout, audio_sample_format_t *fmt)
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory),&sessionCategory); AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory),&sessionCategory);
AudioSessionSetActive(true); AudioSessionSetActive(true);
#endif
/* AU init */ /* AU init */
status = AudioUnitInitialize(p_sys->au_unit); status = AudioUnitInitialize(p_sys->au_unit);
@ -285,7 +289,9 @@ static void Stop(audio_output_t *p_aout)
struct aout_sys_t *p_sys = p_aout->sys; struct aout_sys_t *p_sys = p_aout->sys;
OSStatus status; OSStatus status;
#if !TARGET_OS_TV
AudioSessionSetActive(false); AudioSessionSetActive(false);
#endif
if (p_sys->au_unit) { if (p_sys->au_unit) {
status = AudioOutputUnitStop(p_sys->au_unit); status = AudioOutputUnitStop(p_sys->au_unit);
@ -342,11 +348,15 @@ static void Pause (audio_output_t *p_aout, bool pause, mtime_t date)
* show a playing state despite we are paused, same for lock screen */ * show a playing state despite we are paused, same for lock screen */
if (pause) { if (pause) {
AudioOutputUnitStop(p_sys->au_unit); AudioOutputUnitStop(p_sys->au_unit);
#if !TARGET_OS_TV
AudioSessionSetActive(false); AudioSessionSetActive(false);
#endif
} else { } else {
#if !TARGET_OS_TV
UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory),&sessionCategory); AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory),&sessionCategory);
AudioSessionSetActive(true); AudioSessionSetActive(true);
#endif
AudioOutputUnitStart(p_sys->au_unit); AudioOutputUnitStart(p_sys->au_unit);
} }
} }