vlc/vlc-3.0 | branch: master | Thomas Guillem <[email protected]> | Fri Mar 9 09:21:11 2018 +0100| [6da485db12b11b6f4a61ef16fc388688cdb9b1ea] | committer: Thomas Guillem
coreaudio: move auhal specific code in auhal.c refs #19949 (cherry picked from commit 796689c4ba9000596f793c51c8639ae902497760) Signed-off-by: Thomas Guillem <[email protected]> > http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=6da485db12b11b6f4a61ef16fc388688cdb9b1ea --- modules/audio_output/audiounit_ios.m | 2 +- modules/audio_output/auhal.c | 17 ++++++++++++++++- modules/audio_output/coreaudio_common.c | 22 +++++++++------------- modules/audio_output/coreaudio_common.h | 3 ++- 4 files changed, 28 insertions(+), 16 deletions(-) diff --git a/modules/audio_output/audiounit_ios.m b/modules/audio_output/audiounit_ios.m index 83117996ea..82b15dec55 100644 --- a/modules/audio_output/audiounit_ios.m +++ b/modules/audio_output/audiounit_ios.m @@ -477,7 +477,7 @@ Start(audio_output_t *p_aout, audio_sample_format_t *restrict fmt) ca_LogWarn("failed to set IO mode"); ret = au_Initialize(p_aout, p_sys->au_unit, fmt, layout, - [p_sys->avInstance outputLatency] * CLOCK_FREQ); + [p_sys->avInstance outputLatency] * CLOCK_FREQ, NULL); if (ret != VLC_SUCCESS) goto error; diff --git a/modules/audio_output/auhal.c b/modules/audio_output/auhal.c index 6bf1f202c1..8ea6036820 100644 --- a/modules/audio_output/auhal.c +++ b/modules/audio_output/auhal.c @@ -1037,7 +1037,9 @@ StartAnalog(audio_output_t *p_aout, audio_sample_format_t *fmt, "kAudioDevicePropertyPreferredChannelLayout - using stereo"); /* Do the last VLC aout setups */ - int ret = au_Initialize(p_aout, p_sys->au_unit, fmt, layout, i_latency_us); + bool warn_configuration; + int ret = au_Initialize(p_aout, p_sys->au_unit, fmt, layout, i_latency_us, + &warn_configuration); if (ret != VLC_SUCCESS) goto error; @@ -1054,6 +1056,19 @@ StartAnalog(audio_output_t *p_aout, audio_sample_format_t *fmt, MuteSet(p_aout, p_sys->b_mute); free(layout); + + if (warn_configuration) + { + msg_Err(p_aout, "You should configure your speaker layout with " + "Audio Midi Setup in /Applications/Utilities. VLC will " + "output Stereo only."); + vlc_dialog_display_error(p_aout, + _("Audio device is not configured"), "%s", + _("You should configure your speaker layout with " + "\"Audio Midi Setup\" in /Applications/" + "Utilities. VLC will output Stereo only.")); + } + return VLC_SUCCESS; error: AudioComponentInstanceDispose(p_sys->au_unit); diff --git a/modules/audio_output/coreaudio_common.c b/modules/audio_output/coreaudio_common.c index d113975432..d434b46b1a 100644 --- a/modules/audio_output/coreaudio_common.c +++ b/modules/audio_output/coreaudio_common.c @@ -398,7 +398,7 @@ GetLayoutDescription(audio_output_t *p_aout, static int MapOutputLayout(audio_output_t *p_aout, audio_sample_format_t *fmt, - const AudioChannelLayout *outlayout) + const AudioChannelLayout *outlayout, bool *warn_configuration) { /* Fill VLC physical_channels from output layout */ fmt->i_physical_channels = 0; @@ -476,16 +476,8 @@ MapOutputLayout(audio_output_t *p_aout, audio_sample_format_t *fmt, if (fmt->i_physical_channels == 0) { fmt->i_physical_channels = AOUT_CHANS_STEREO; - msg_Err(p_aout, "You should configure your speaker layout with " - "Audio Midi Setup in /Applications/Utilities. VLC will " - "output Stereo only."); -#if !TARGET_OS_IPHONE - vlc_dialog_display_error(p_aout, - _("Audio device is not configured"), "%s", - _("You should configure your speaker layout with " - "\"Audio Midi Setup\" in /Applications/" - "Utilities. VLC will output Stereo only.")); -#endif + if (warn_configuration) + *warn_configuration = true; } if (aout_FormatNbChannels(fmt) >= 8 @@ -701,18 +693,22 @@ SetupInputLayout(audio_output_t *p_aout, const audio_sample_format_t *fmt, int au_Initialize(audio_output_t *p_aout, AudioUnit au, audio_sample_format_t *fmt, - const AudioChannelLayout *outlayout, mtime_t i_dev_latency_us) + const AudioChannelLayout *outlayout, mtime_t i_dev_latency_us, + bool *warn_configuration) { int ret; AudioChannelLayoutTag inlayout_tag; + if (warn_configuration) + *warn_configuration = false; + /* Set the desired format */ AudioStreamBasicDescription desc; if (aout_BitsPerSample(fmt->i_format) != 0) { /* PCM */ fmt->i_format = VLC_CODEC_FL32; - ret = MapOutputLayout(p_aout, fmt, outlayout); + ret = MapOutputLayout(p_aout, fmt, outlayout, warn_configuration); if (ret != VLC_SUCCESS) return ret; diff --git a/modules/audio_output/coreaudio_common.h b/modules/audio_output/coreaudio_common.h index 75b50a53d0..a14ed3adae 100644 --- a/modules/audio_output/coreaudio_common.h +++ b/modules/audio_output/coreaudio_common.h @@ -91,6 +91,7 @@ AudioUnit au_NewOutputInstance(audio_output_t *p_aout, OSType comp_sub_type); int au_Initialize(audio_output_t *p_aout, AudioUnit au, audio_sample_format_t *fmt, - const AudioChannelLayout *outlayout, mtime_t i_dev_latency_us); + const AudioChannelLayout *outlayout, mtime_t i_dev_latency_us, + bool *warn_configuration); void au_Uninitialize(audio_output_t *p_aout, AudioUnit au); _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
