wm4 9b3bf76d27 ao_alsa: do not call snd_pcm_delay() when paused
This causes trouble when a hw device is used:

    pcm_hw.c:514:(snd_pcm_hw_delay) SNDRV_PCM_IOCTL_DELAY failed (-77): File descriptor in bad state

when running mpv test.mkv --ao=alsa:device=iec958,alsa and pausing
during playback.

Historically, mplayer usually did not call snd_pcm_delay() (which is
called by get_delay()) while paused, so this problem never showed up.
But at least mpv has changes that cause get_delay() to be called when
updating the status line (see commit 3f949cf).

It's possible that calling snd_pcm_delay() is not always legal when the
audio is paused, and at least fails with the error message mentioned
above is the device is a hardware device. Change get_delay() to return
the last delay before the audio was paused. The intention is to get a
continuous playback status display, even when pausing or frame stepping,
otherwise we could just return the audio buffer fill status in
get_delay() or even just 0 when paused.
2013-01-06 19:28:08 +01:00
2012-12-13 12:49:27 +01:00
2012-12-28 08:40:40 +01:00
2013-01-04 15:23:23 +01:00
2012-10-12 10:14:32 +02:00

Compiling with full features requires development files for several
external libraries. Below is a list of some important requirements. For
more information see the output of './configure --help' for a list of options,
or look at the list of enabled and disabled features printed after running
'./configure'. If you think you have support for some feature installed
but configure fails to detect it, the file config.log may contain information
about the reasons for the failure.

Libraries specific to particular video output methods
(you'll want at least one of VDPAU, GL or Xv):
 - libvdpau (for VDPAU output, best choice for NVIDIA cards)
 - libGL (OpenGL output)
 - libXv (XVideo output)
general:
 - libasound   (ALSA audio output)
 - various general X development libraries
 - libfreetype (for libass)
 - libfontconfig (for libass)
 - libass
 - FFmpeg libraries (libavutil libavcodec libavformat libswscale libpostproc)

Most of the above libraries are available in suitable versions on normal
Linux distributions. However FFmpeg is an exception (distro versions may be
too old to work at all or work well). For that reason you may want to use
the separately available build wrapper that first compiles FFmpeg libraries
and libass, and then compiles the player statically linked against those.
S
Description
🎥 Command line media player
Readme 215 MiB
Languages
C 88%
Lua 5.8%
Swift 2.3%
Meson 1.1%
Python 0.8%
Other 2%