summaryrefslogtreecommitdiffstats
path: root/DOCS/man/ao.rst
Commit message (Collapse)AuthorAgeFilesLines
* ao_pipewire: clarify --pipewire-buffer=nativeThomas Weißschuh2023-04-231-1/+1
|
* ao_pulse: clarify --pulse-buffer=nativeThomas Weißschuh2023-04-231-1/+1
|
* ao_pipewire: allow usage of global volume controlThomas Weißschuh2023-02-111-0/+5
| | | | | | | | | | | | | PipeWire supports a global volume control for streams that works on top of the per-channel volumes. As mpv only supports a single volume with ao-volume it can make sense to use the single global volume from PipeWire for it. This allows the user to also specify per-channel volumes and not have mpv trample over them. This mode is not the default as pulseaudio does not support this global volume control and all tooling controlling PipeWire via pipewire-pulse (like pavucontrol) will not be able to see this channel.
* ao_pipewire: allow specification of remote nameThomas Weißschuh2022-10-061-0/+5
|
* DOCS/ao: remove only usage of git.io link shortening serviceJakub Wilk2022-04-281-1/+2
| | | | | | | | | This link was originally shortened in bf0cb27489b0e0e00190c4ea2e08290fb3817626 to improve manpage formatting, but unfortunately Github is now taking down this service on the 29th. Thus, the full link is being reinstated. ref: https://github.blog/changelog/2022-04-25-git-io-deprecation/
* ao_sndio: add this audio output againrim2022-01-221-0/+6
| | | | | | | | | Changes: - rewrite to use new internal MPV API; - code refactoring; - fix buffers size calculations; - buffer set to auto; - reset() - clean/reinit device only after errors;
* ao_pipewire: Add PipeWire audio backendThomas Weißschuh2022-01-171-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | The AO provides a way for mpv to directly submit audio to the PipeWire audio server. Doing this directly instead of going through the various compatibility layers provided by PipeWire has the following advantages: * It reduces complexity of going through the compatibility layers * It allows a richer integration between mpv and PipeWire (for example for metadata) * Some users report issues with the compatibility layers that to not occur with the native AO For now the AO is ordered after all the other relevant AOs, so it will most probably not be picked up by default. This is for the following reasons: * Currently it is not possible to detect if the PipeWire daemon that mpv connects to is actually driving the system audio. (https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1835) * It gives the AO time to stabilize before it is used by everyone. Based-on-patch-by: Oschowa <oschowa@web.de> Based-on-patch-by: Andreas Kempf <aakempf@gmail.com> Helped-by: Ivan <etircopyhdot@gmail.com>
* ao_openal: enable AL_SOFT_direct_channels_remix extension by defaultIvan2021-11-291-3/+1
| | | | Prevent audio distortions caused by OpenAL's 3D effects.
* DOCS/ao: remove incorrect note about openalDudemanguy2021-11-191-1/+1
| | | | | | | The audio rewrite in d27ad9654218463694093697e3d09f8983b4ccf3 originally broke this ao. However, 0ac724f0025d48e1372ac82c62d504aaadf19735 fixed and the documentation was never updated to reflect that. OpenAL has worked fine for a while not. Just remove this sentence.
* ao_oss: add this audio output againrim2021-03-151-1/+4
| | | | | | | | | | | Changes: - code refactored; - mixer options removed; - new mpv sound API used; - add sound devices detect (mpv --audio-device=help will show all available devices); - only OSSv4 supported now; Tested on FreeBSD 12.2 amd64.
* manpage: rename OS X references to macOSLeo Izen2021-01-031-4/+4
| | | | | | | | Apple has decided that Mac OS X is now named macOS for the time being. For consistency, it makes sense to use the same name for the operating system in all places where it occurs. This commit renames OS X to macOS in the documentation in places where it was otherwise still using the old name.
* manpage: drop --sdl-bufcnt after 346c687d5ab2Jan Beich2020-07-211-4/+0
|
* audio: redo internal AO APIwm42020-06-011-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | This affects "pull" AOs only: ao_alsa, ao_pulse, ao_openal, ao_pcm, ao_lavc. There are changes to the other AOs too, but that's only about renaming ao_driver.resume to ao_driver.start. ao_openal is broken because I didn't manage to fix it, so it exits with an error message. If you want it, why don't _you_ put effort into it? I see no reason to waste my own precious lifetime over this (I realize the irony). ao_alsa loses the poll() mechanism, but it was mostly broken and didn't really do what it was supposed to. There doesn't seem to be anything in the ALSA API to watch the playback status without polling (unless you want to use raw UNIX signals). No idea if ao_pulse is correct, or whether it's subtly broken now. There is no documentation, so I can't tell what is correct, without reverse engineering the whole project. I recommend using ALSA. This was supposed to be just a simple fix, but somehow it expanded scope like a train wreck. Very high chance of regressions, but probably only for the AOs listed above. The rest you can figure out from reading the diff.
* ao_oss: remove this audio outputwm42020-03-281-14/+1
| | | | | | | | | | Ancient Linux audio output. Apparently it survived until now, because some BSDs (but not all) had use of this. But these should work with ao_sdl or ao_openal too (that's why these AOs exist after all). ao_oss itself has the problem that it's virtually unmaintainable from my point of view due to all the subtle (or non-subtle) difference. Look at the ifdef mess and the multiple code paths (that shouldn't exist) in the removed source code.
* ao_rsound: remove this audio outputwm42020-03-281-8/+0
| | | | | | I wonder what this even is. I've never heard of anyone using it, and can't find a corresponding library that actually builds with it. Good enough to remove.
* ao_sndio: remove this audio outputwm42020-03-281-8/+0
| | | | | | It was always marked as "experimental", and had inherent problems that were never fixed. It was disabled by default, and I don't think anyone is using it.
* ao_pulse: add --pulse-allow-suspendedTérence Clastres2019-09-211-0/+4
| | | | | | | | | | This flag makes mpv continue using the PulseAudio driver even if the sink is suspended. This can be useful if JACK is running with PulseAudio in bridge mode and the sink-input assigned to mpv is the one JACK controls, thus being suspended. By forcing mpv to still use PulseAudio in this case, the user can now adjust the sink to an unsuspended one.
* ao_pulse: reduce requested device buffer sizewm42018-04-151-1/+1
| | | | | | Same deal as with the previous commit for ALSA. Untested.
* ao/openal: Remove notes on experimentality from the documentationLAGonauta2018-04-151-4/+1
| | | | | Also, multi-channel audio should be fast now with the use of the MC extensions.
* ao/openal: Add option to set buffering characteristicsLAGonauta2018-04-151-0/+8
| | | | | | | | | One can now set the number of buffers and the buffer size. This can reduce the CPU usage and the total latency stays mostly the same. As there are sync mechanisms the A/V sync continue intact and working. It also modifies 6.1 channel order, as per OpenAL spec and add AOPLAY_FINAL_CHUNK support
* ao/openal: Add support for direct channels outputLAGonauta2018-04-151-0/+6
| | | | | | | Uses OpenAL Soft's AL_DIRECT_CHANNELS_SOFT extension and can be controlled through a new CLI option, --openal-direct-channels. This allows one to send the audio data direrctly to the desired channel without effects applied.
* ao_null: add --ao-null-format option for debuggingwm42018-01-301-0/+3
| | | | Helpful especially to test spdif fallback and so on.
* manpage: fix typo in warningBisaloo2017-12-271-1/+1
|
* ao_rsound: allow setting the hostwm42017-08-211-1/+2
| | | | | | | | Completely untested (rsound dev libs unavailable on my system). Trivial enough that it's very likely that it'll just work. No port selection, but could be added by parsing it as part of the device name. Should fix #4714.
* ao_coreaudio: insane hack for passing through AC3 as float PCMwm42017-06-301-0/+9
| | | | | This uses the same hack as Kodi uses, and I suspect MPlayer/ancient mpv also did this (but didn't research that).
* options: remove remaining deprecated audio device selection optionswm42017-04-231-50/+3
|
* options: remove deprecated sub-option handling for --vo and --aowm42016-11-251-5/+0
| | | | | | | | Long planned. Leads to some sanity. There still are some rather gross things. Especially g_groups is ugly, and a hack that can hopefully be removed. (There is a plan for it, but whether it's implemented depends on how much energy is left.)
* manpage: remove more references to deprecated sub-option syntaxwm42016-09-071-7/+4
| | | | Fixes #3497.
* audio/out: deprecate "exclusive" sub-optionswm42016-09-051-0/+3
| | | | | | | And introduce a global option which does this. Or more precisely, this deprecates the global wasapi and coreaudio options, and adds a new one that merges their functionality. (Due to the way the sub-option deprecation mechanism works, this is simpler.)
* audio/out: deprecate device sub-optionswm42016-09-051-5/+8
| | | | | We have --audio-device, which can force the device. Also add something describing to this extent to the manpage.
* options: deprecate suboptions for the remaining AO/VOswm42016-09-051-26/+46
|
* ao_jack: move to global optionswm42016-09-051-6/+8
|
* options: add a mechanism to make sub-option replacement slightly easierwm42016-09-051-6/+2
| | | | | | | | Instead of requiring each VO or AO to manually add members to MPOpts and the global option table, make it possible to register them automatically via vo_driver/ao_driver.global_opts members. This avoids modifying options.c/options.h every time, including having to duplicate the exact ifdeffery used to enable a driver.
* ao_alsa: change sub-options to global optionswm42016-09-021-68/+4
| | | | | | Same deal as with vo_opengl. Also edit the outdated information about multichannel output a little.
* vo, ao: disable positional parameter suboptionswm42016-09-011-1/+1
| | | | | | | | | | | | | | | | Positional parameters cause problems because they can be ambiguous with flag options. If a flag option is removed or turned into a non-flag option, it'll usually be interpreted as value for the first sub-option (as positional parameter), resulting in very confusing error messages. This changes it into a simple "option not found" error. I don't expect that anyone really used positional parameters with --vo or --ao. Although the docs for --ao=pulse seem to encourage positional parameters for the host/sink options, which means it could possibly annoy some PulseAudio users. --vf and --af are still mostly used with positional parameters, so this must be a configurable option in the option parser.
* ao_dsound: remove this audio outputwm42016-01-061-16/+2
| | | | | | | It existed for XP-compatibility only. There was also a time where ao_wasapi caused issues, but we're relatively confident that ao_wasapi works better or at least as good as ao_dsound on Windows Vista and later.
* man: fix grammar issuesMartin Herkt2015-12-191-4/+4
|
* ao_jack: remove "alsa" std-channel-layout choicewm42015-11-071-6/+3
| | | | | Same deal as with previous commit. "waveext" is less arbitrary and at least supports 3/7 channels.
* docs: correct typo for 'ingore-chmap'Ellis Berner2015-08-221-1/+1
| | | | ingore-chmap -> ignore-chmap
* ao_coreaudio: add exclusive suboptionwm42015-07-031-0/+5
|
* ao_coreaudio_exclusive: support PCMwm42015-07-031-2/+0
| | | | | | | | | | | | | | | | | | Until now, this was for AC3 only. For PCM, we used AudioUnit in ao_coreaudio, and the only reason ao_coreaudio_exclusive exists is that there is no other way to passthrough AC3. PCM support is actually rather simple. The most complicated issue is that modern OS X versions actually do not support copying through the data; instead everything must go through float. So we have to deal with virtual and physical format being different, which causes some complications. This possibly also doesn't support some other things correctly. For one, if the device allows non-interleaved output only, we will probably fail. (I couldn't test it, so I don't even know what is required. Supporting it would probably be rather simple, and we already do it with AudioUnit.)
* manpage: fix typowm42015-05-051-1/+1
|
* ao_coreaudio: add an option for changing the physical formatwm42015-05-051-0/+8
| | | | | | | | | | | | ao_coreaudio uses AudioUnit - the OSX software mixer. In theory, it supports multichannel audio just fine. But in practice, this might be disabled by default, and the user is supposed to select a multichannel base format in the "Audio MIDI Setup" utility. This option attempts to change this setting automatically. Some possible disadvantages and caveats are listed in the manpage additions. It is off by default, since changing this might be rather bad behavior for a normal application.
* ao_null: add an option for testing channel layout selectionwm42015-04-271-0/+4
|
* man: fix PDF buildMartin Herkt2015-04-241-2/+4
| | | | | | | | | | | | | | The build failed because rst2pdf apparently has problems with page breaks. In this case, the link to the ALSA upmix guide was causing a page break in an admonition block. My guess is that rst2pdf screws up when it can’t fill at least one line of text following a page break, so I worked around this by making that paragraph a little longer. Seems to do the trick. I also shortened the URL using GitHub’s service because it was causing some rather unsightly formatting in the manpage output. Maybe we should just build HTML instead of a PDF.
* ao_wasapi: fix device listingKevin Mitchell2015-03-311-12/+12
| | | | | remove depricated and convoluted validation. refer instead to the --audio-device option.
* ao_alsa: add an option to ignore ALSA channel map negotiationwm42015-03-281-0/+8
| | | | This was requested, more or less.
* ao_null: add emulation for certain broken behaviorwm42015-01-301-0/+3
| | | | | I'm not sure how common this behavior possibly is; well whatever. This option will allow reproducing such behavior, and help debugging it.
* ao_pcm: add append modewm42015-01-141-0/+4
| | | | | Pretty useful for debugging, although a bit useless or possibly misleading too (see comments in the manpage).
* ao_pulse: disable latency calculation hacks by defaultwm42015-01-071-2/+7
| | | | | | | | | | | | | | This used to be required to workaround PulseAudio bugs. Even later, when the bugs were (partially?) fixed in PulseAudio, I had the feeling the hacks gave better behavior. On the other hand, I couldn't actually reproduce any bad behavior without the hacks lately. On top of this, it seems our hacks sometimes perform much worse than PulseAudio's native implementation (see #1430). So disable the hacks by default, but still leave the code and the option in case it still helps somewhere. Also, being able to blame PulseAudio's code by using its native API is much easier than trying to debug our own (mplayer2-derived) hacks.
* ao_portaudio: remove this audio outputwm42014-12-291-13/+0
| | | | | It's just completely useless. We have good native support for all 3 desktop platforms, and ao_sdl or ao_openal as fallbacks.
* manpage: ao_alsa: link upmix wiki entrywm42014-12-161-2/+6
| | | | | | Also clarify the statement about what we expect to happen by default. It's well possible that distros at some point will fix their ALSA configuration, and e.g. enable the upmix plugin by default.
* audio: make native channel count the default instead of stereo downmixwm42014-12-151-0/+30
| | | | | | | | | | | | | | This should work well with most audio APIs, except ALSA. A long-winded explanation is provided how to make ALSA multichannel output work. All other AOs should have no such problems. Of course it's possible that previously unknown issues arise, because I assume that enabling multichannel audio is actually relatively rare. This also disables codec downmix by default, which could change the audio output due to different mixing in the codec and libavresample. Fixes #1313.
* manpage: update the ao_alsa example (no-block was removed)wm42014-12-091-2/+2
| | | | | Also, don't use the "hw" device, but "plughw". ALSA docs say never to use "hw".
* ao_alsa: simplify, remove no-block suboptionwm42014-12-051-2/+0
| | | | | | | | | | | If no-block was given, the device would be opened with SND_PCM_NOBLOCK. Also, after opening, blocking mode was unconditionally enabled anyway with snd_pcm_nonblock(). Further, if opening with SND_PCM_NOBLOCK failed, opening was retried without this flag. This doesn't make any sense to me, and I've never heard of someone using this suboption. I suspect it has to do with ancient ALSA bugs or API caveats. Remove it and simplify the code.
* reflect recent coreaudio changes in the manualStefano Pigozzi2014-10-231-11/+4
|
* man: fix a whole bunch of typosMartin Herkt2014-09-011-1/+1
|
* ao_dsound: raise default buffer size to 200ms, make it configurablewm42014-08-221-0/+3
|
* ao_alsa: disable use of non-interleaved formats by defaultwm42014-07-301-0/+4
| | | | | | | | Some ALSA plugins take non-interleaved audio, but treat it as interleaved, which results in various funny bugs. Users keep hitting this issue, and it just doesn't seem worth the trouble. CC: @mpv-player/stable
* ao_pulse: allow disabling timing bug workaroundswm42014-07-261-0/+6
| | | | | | | | | | | | | | | | Add an option that enables using native PulseAudio auto-updated timing information, instead of the manual calculations added in mplayer2 times. You can use --ao=pulse:no-latency-hacks to enable the new code. The code is almost the same as the code that was removed with commit de435ed5, but I didn't readd some bits I didn't understand. Likewise, the option will disable the code added with that commit. In my tests this seemed to work well, though the A/V sync display looks funny when seeking. The default is still the old behavior. See issue #959.
* manpage: reflect new coreaudio changesStefano Pigozzi2014-07-021-1/+13
|
* DOCS: remove en/ sub-directorywm42014-06-201-0/+263
This additional sub-directory doesn't serve any purpose anymore. Get rid of it.