0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
Command line video player
Go to file
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
audio ao_alsa: do not call snd_pcm_delay() when paused 2013-01-06 19:28:08 +01:00
compat Fix compilation with ffmpeg 1.0 2012-12-13 12:49:27 +01:00
core sub: use correct fallback font for subtitles 2013-01-06 16:06:34 +01:00
demux demux_mpg, ass_mp: fix warnings 2012-12-28 08:40:40 +01:00
DOCS manpage: document the dangers of some subtitle options 2013-01-05 14:21:04 +01:00
etc encoding-example-profiles: fix "oac" typo 2012-12-28 11:21:35 +01:00
osdep Update copyright year 2013-01-04 15:23:23 +01:00
stream stream_lavf: warn if protocol not found 2012-12-28 14:23:29 +01:00
sub cleanup: ass_mp.h: remove dummy declarations 2013-01-06 16:22:50 +01:00
TOOLS osxbundle: print meaningful error when a dylib is missing 2012-12-16 10:56:25 +01:00
video cocoa_common: add support for --no-border 2012-12-31 14:20:49 +01:00
.gitignore build: remove doc/locale language auto-detection, simplify 2012-11-14 11:26:43 +01:00
AUTHORS documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
configure vo/ao: SDL 1.2+ audio driver, SDL 2.0+ accelerated video driver 2012-12-28 08:40:28 +01:00
Copyright Rename to "mpv" 2012-10-12 10:14:32 +02:00
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
Makefile vo/ao: SDL 1.2+ audio driver, SDL 2.0+ accelerated video driver 2012-12-28 08:40:28 +01:00
README osd: remove freetype font rendering code 2012-07-28 23:36:08 +02:00
talloc.c talloc: fix strndup group of functions 2012-10-12 10:10:32 +02:00
talloc.h clang: fix all warnings except deprecations 2012-11-13 22:19:18 +01:00
version.sh build: identify the build time of the binary in the versioning output 2012-12-03 21:08:51 +01: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.