aboutsummaryrefslogtreecommitdiffhomepage
path: root/audio/out/ao_coreaudio.c
Commit message (Collapse)AuthorAge
* osx: fix -Wshadow warnings on platform specific codeGravatar Stefano Pigozzi2013-11-04
|
* audio/out: remove useless info struct and redundant fieldsGravatar wm42013-10-23
|
* ao_coreaudio: clear output buffer on buffer underrunGravatar Stefano Pigozzi2013-10-03
| | | | | | | | Output silence to the output buffer during underruns. This removes small occasional glitches that happen before the AUHAL is actually paused from the `audio_pause` call. Fixes #269
* ao_coreaudio: fetch device name only for verbose log levelGravatar Stefano Pigozzi2013-10-01
| | | | | The previous code fetched the device name regardless of log level and then only printed it if log level was verbose.
* core: move contents to mpvcore (2/2)Gravatar Stefano Pigozzi2013-08-06
| | | | Followup commit. Fixes all the files references.
* ao_coreaudio: move to new log APIGravatar Stefano Pigozzi2013-08-01
|
* ao_coreaudio: use default output unit when no device is specifiedGravatar Stefano Pigozzi2013-07-29
| | | | | | Using the default output audio unit should provide a much better user exeperience since it changes automatically the output device based on which becomes the default one.
* ao_coreaudio: prevent buffer underruns to output garbageGravatar Stefano Pigozzi2013-07-28
| | | | | | This was removed in d427b4fd. I now found a sample that causes underruns when moving to a chapter and apparently this is also a problem when taking screenshots.
* audio/out: remove options argument from init()Gravatar wm42013-07-22
| | | | Same as with VOs in the previous commit.
* ao_coreaudio: fix ifdef'd conditionalGravatar Stefano Pigozzi2013-07-22
| | | | | The big endian case was not covered. Doesn't make much difference since mpv runs on Macs with x86 only, but for the sake of correctness.
* ao_coreaudio: use new option APIGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: switch properties getters to tallocGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: revert to original device format on digital uninitGravatar Stefano Pigozzi2013-07-22
| | | | | | This is not done automatically by CoreAudio. I am told that it would a PITA to have to switch back the format manually on the device (especially if the same device is used for lpcm output).
* ao_coreaudio: refactor chmap detectionGravatar Stefano Pigozzi2013-07-22
| | | | | | b2f9e0610 introduced this functionality with code that was quite 'monolithic'. Split the functionality over several functions and ose the new macros to get array properties.
* ao_coreaudio: refactor properties codeGravatar Stefano Pigozzi2013-07-22
| | | | | | | | Introduce some macros to deal with properties. These allow to work around the limitation of CoreAudio's API being `void **` based. The macros allow to keep their client's code DRY, by not asking size and other details which can be derived by the macro itself. I have no idea why Apple didn't design their API like this in the first place.
* ao_coreaudio: move utils functions to snake_caseGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: split ao_coreaudio_common in two filesGravatar Stefano Pigozzi2013-07-22
| | | | | | | | | * ao_coreaudio_utils: contains several utility function * ao_coreaudio_properties: contains functions to set and get audio object properties. Conflicts: audio/out/ao_coreaudio.c
* ao_coreaudio: store asbd only when selectedGravatar Stefano Pigozzi2013-07-22
| | | | | Previous code needlessly stored the input asbd before actually testing it's support against the hardware.
* ao_coreaudio: fallback to waveext on non surround inputsGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: set channel layout based on hardware queryGravatar Stefano Pigozzi2013-07-22
| | | | this is a wip
* ao_coreaudio: fix regression in digital stream selectionGravatar Stefano Pigozzi2013-07-22
| | | | | | The condition was checked wrongly on asbd which is the input format description. This lead to the condition always being true, thus selecting lpcm streams for digital input.
* ao_coreaudio: return errors instead false in init functionsGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: remove useless function declarationGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: only set chmap_sel info for lpcmGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: set channel layout bitmapGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: move digital detection before asbd creationGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: remove chmap selection if format is digitalGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: remove volume multiplication by 4Gravatar Stefano Pigozzi2013-07-22
| | | | | kHALOutputParam_Volume is the linear gain so it should be at maximum 1 to keep the audio quality good. No idea why it was more than that.
* ao_coreaudio: remove device property listener on uninitGravatar Stefano Pigozzi2013-07-22
| | | | Also extract this functionality inside a function in coreaudio_common
* ao_coreaudio: print help string in one goGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: change all ++var to var++Gravatar Stefano Pigozzi2013-07-22
| | | | | Luckily they all were inside for loops so the functionality does not actually change.
* ao_coreaudio: change private vars names to match mpv conventionsGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: remove packetSize private variableGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: refactor play/pauseGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: refactor uninitGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: remove a fixme since that seems fixedGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: ca_msg: add trailing \n where missingGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: refactor playGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: extract mixmode set/unset in utility functionsGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: move AudioStreamChangeFormat to common file and refactorGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: extract methods to lock/unlock device for digital outputGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: lpcm: remove buffer size calculation depending on audio unitGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: refactor initializationGravatar Stefano Pigozzi2013-07-22
| | | | | | | | | | | | | The initialization is split more clearly between compressed and lpcm case. For the compressed case, format selection is simplified a lot and negotiation removed. The way it was written it just passed back to the core the original requested format, not what was found available on hardware. Since this is most likely useless for the compressed case, I didn't bother with this. In the future I'd like to split this AO in two one that only uses the AUHAL and the other with direct access to the hardware so that even passthrough of lcpm can be possible. This would decrease the latency, audiophiles would like that.
* ao_coreaudio: refactor print_helpGravatar Stefano Pigozzi2013-07-22
|
* ao_coreaudio: split out some utility functions and refactor themGravatar Stefano Pigozzi2013-07-22
| | | | | | | Split out some utility functions that use the CoreAudio API but are not related the main task of the AOs (which is to move data correctly to the ringbuffer). These are mainly need for the verbosity of the CoreAudio API and are just obscuring the 'real' code.
* ao_coreaudio: make variable names shorterGravatar Stefano Pigozzi2013-07-22
| | | | property_address -> p_addr
* ao_coreaudio: add error check function and macroGravatar Stefano Pigozzi2013-07-22
| | | | WIP
* ao_coreaudio: dry up ca_msg and use it everywhereGravatar Stefano Pigozzi2013-07-22
| | | | | Change the ca_msg macro to pass along MSGT_AO automatically. Also use it for every output for consistency.
* ao_coreaudio: simplify digital render callbackGravatar Stefano Pigozzi2013-07-22
| | | | | It was reported that it also works by not setting the read size in the AudioBuffer (now idea how, but I will discover it later).
* ao_coreaudio: rewrite spdif render callbackGravatar Stefano Pigozzi2013-07-22
|