1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-26 00:42:57 +00:00
Commit Graph

819 Commits

Author SHA1 Message Date
wm4
24be34f1e9 cleanup: Silence compilation warnings on MinGW-w64
Some of the code, especially the dshow and windows codec loader parts,
are extremely hacky and likely full of bugs. The goal is merely getting
rid of warnings that could obscure more important warnings and actual
bugs, instead of fixing actual problems. This reduces the number of
warnings from over 500 to almost the same as when compiling on Linux.

Note that many problems stem from using the ancient wine-derived
windows headers. There are some differences to the "proper" windows
header. Changing the code to compile with the proper headers would be
too much trouble, and it still has to work on Unix.

Some of the changes might actually break compilation on legacy MinGW,
but we don't support that anymore. Always use MinGW-w64, even when
compiling to 32 bit.

Fixes some warnings in the win32 loader code on Linux too.
2012-03-01 00:22:30 +02:00
Uoti Urpala
9ab501443c configure, ao_alsa: drop support for obsolete ALSA versions
Drop compatibility code for ALSA versions prior to 1.0.9. Change the
configure check to use pkg-config only.
2012-02-27 16:46:56 +02:00
wm4
668654098e audio: change default preference order of AO drivers
Now PulseAudio is preferred over ALSA, which in turn is preferred over
OSS. This should give best results on all systems. On systems with
PulseAudio, we will always use it natively, rather than through the
suboptimal ALSA emulation (which the default ALSA output is normally
redirected to when PulseAudio is active; ALSA hardware devices will
not be, but to use those the user must set AO explicitly in any case,
so changing the defaults makes no difference). The fallback from
ao_pulse to ao_alsa causes no noticeable delay on systems without
PulseAudio. On systems with ALSA, we won't attempt to use OSS anymore.

Also, move OpenAL above SDL. OpenAL should generally work better than
SDL.
2012-01-16 22:40:14 +02:00
reimar
9fae75b81c ao_coreaudio: fix crash when using mute with S/PDIF output
RenderCallbackSPDIF might call read_buffer with NULL data. The purpose
is to drain data from the buffer when the output is muted. Add a check
to call av_fifo_drain() in this case.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34241 b3059339-0415-0410-9bf9-f77b7e298cf2

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@34242 b3059339-0415-0410-9bf9-f77b7e298cf2
2011-11-25 05:20:23 +02:00
Zongyao Qu
075edf91f1 ao_coreaudio: fix S/PDIF output on OS X 10.7 2011-11-25 05:19:24 +02:00
Uoti Urpala
2a30588258 ao_pcm: fix pointless message due to uninitialize variable
The variable corresponding to the "fast" suboption of ao_pcm was
uninitialized. Fix. The only effect was possibly printing a warning
about the suboption being deprecated even if it wasn't used.
2011-08-11 20:58:05 +03:00
Uoti Urpala
9d25699c58 audio: export audio pts to AO drivers
Currently the pts value is not directly used by any AO. Will be used
by encoding code.
2011-07-31 16:31:07 +03:00
Uoti Urpala
c8b3088c18 audio: move ready-for-ao data buffer from decoder to AO
Move the buffer storing audio data ready to be fed to the audio output
driver from the audio decoder object to the AO object. This will help
encoding code deal with end of input, and may also be useful to
improve other general gapless audio behavior (as AOs which do not
accept chunks smaller than a certain size may keep them in the buffer
while the decoder changes).

Less data may be dropped now when changing audio filters or switching
timeline parts.
2011-07-02 09:22:32 +03:00
diego
6283d4d6bb Windows: ao_pcm: add io.h include for MinGW64
On MinGW64 io.h is needed for _get_osfhandle().

patch by Stephen Sheldon, sfsheldo gmail com

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@33341 b3059339-0415-0410-9bf9-f77b7e298cf2
2011-06-29 05:28:58 +03:00
Hans-Kristian Arntzen
48e8556298 ao_rsound: add new RSound audio output driver 2011-06-26 06:19:42 +03:00
Uoti Urpala
12843385fe cleanup: ao_pcm: remove useless assignment to ao->buffersize 2011-06-26 05:50:06 +03:00
Uoti Urpala
bdcf4ddf35 ao: fix crash after ao init failure (from recent 3a5fd15fa2)
If opening an audio output driver using the old API failed the
"global_ao" variable was not set back to NULL as it should have been.
This caused an assert failure the next time there was an attempt to
open such an AO (either due to fallback to another AO after the
failure or after moving to another file). Fix.
2011-05-16 01:32:26 +03:00
Uoti Urpala
40f6ab5064 ao_pcm, core: use new API in ao_pcm, change timing with it
Change ao_pcm to use the new audio output driver API and clean up some
of the code. Rewrite the logic controlling how playback timing works
when using -ao pcm. Deprecate the "fast" suboption; its only effect
now is to print a warning, but it's still accepted so that specifying
it is not an error.

Before, timing with -ao pcm and video enabled had two possible
modes. In the default mode playback speed was rather arbitrary - not
realtime, but not particularly fast. -ao pcm:fast tried to play back
at maximum video playback speed - mostly succeeding, but not quite
guaranteed to work in all cases. Now the default is to play at
realtime speed. The -benchmark option can now be used to get faster
playback (same as the video-only case). In the audio-only case
playback is always maximum speed.
2011-05-05 21:34:17 +03:00
Uoti Urpala
2fae42d00e ao_null: convert to new API, cleanup/rewrite 2011-05-05 04:45:44 +03:00
Uoti Urpala
3a5fd15fa2 audio output: add a new AO driver API
Add a new audio output driver API. The main change is the addition of
a context struct where data can be kept instead of using globals. The
old API remains available. This commit does not yet convert any driver
to use the new API.
2011-05-05 01:39:53 +03:00
Uoti Urpala
df7825eb31 cleanup: reindent audio_out.[ch]
Reindent audio_out.c and audio_out.h. Also remove trailing '_s' from
two struct names (which are not currently used anywhere) and make the
audio_out_drivers[] table static.
2011-05-04 21:09:08 +03:00
Clément Bœsch
52743acba3 cleanup: avoid various GCC warnings 2011-04-20 04:22:53 +03:00
Clément Bœsch
b17a1cf70c ao_alsa: remove warning by simplifying error handling case
Avoid a gcc warning about potentially uninitialized variable 'err'
(there was no actual problem with the code).
2011-04-20 04:22:53 +03:00
Uoti Urpala
2a7c5a1365 audio: change external AO interface to "ao_[method](ao, ...)"
Make the outside interface of audio output handling similar to the
video output one. An AO object is first created, and then methods
called with ao_[methodname](ao, args...). However internally libao2/
still holds all data in globals, and trying to create multiple
simultaneous AO instances won't work.
2011-04-09 03:03:22 +03:00
Uoti Urpala
b138ca43ca vo_dxr2, ao_dxr2: drop dxr2 support
dxr2 support had been broken quite a while and nobody noticed. There
were finally commits to fix it in the svn repo, but rather than apply
those I'll just drop dxr2 support.
2011-01-31 16:03:10 +02:00
diego
659c500084 ao_coreaudio: fix compilation on OS X 10.4.
This version is the last OS version available for certain classes of
PPC Macs, but it lacks AudioDeviceIOProcID, so it has to be emulated.

patch by Aaro Koskinen, aaro.koskinen iki fi

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32770 b3059339-0415-0410-9bf9-f77b7e298cf2
2011-01-31 16:03:10 +02:00
Uoti Urpala
102b240e96 ao_pcm: change message to mention "-novideo" instead of "-vc null"
-novideo is the right way to disable video, and should also work in
more cases now that lavf is used as the default demuxer for more formats
(like AVI; internal AVI demuxer fails with -novideo).

Also change the man page description of -novideo a bit to make it
sound less negative about the chances of the option working.
2010-12-08 07:36:32 +02:00
cboesch
fe3c4810e1 cleanup: remove NULL checks before free() all over the code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32624 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-14 13:11:20 +02:00
reimar
c640b92bdd ao_sun: Add support for AOPLAY_FINAL_CHUNK
Reportedly this also fixes a possible hang at the end of playback
(shouldn't happen unless delay reporting is broken too).

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32509 b3059339-0415-0410-9bf9-f77b7e298cf2

Reindent.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32510 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:18:37 +02:00
diego
8b271d49ec ao_coreaudio: byteswap AC-3 streams on little-endian
patch by Sean McGovern, gseanmcg gmail com

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32450 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:18:09 +02:00
diego
e02012a4af vo_ivtv; Move ivtv_fd extern variable declaration to vo_ivtv.h
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32159 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:16:46 +02:00
diego
816da6109a vo_v4l2: Move v4l2_fd extern declaration to vo_v4l2.h
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32158 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:16:46 +02:00
diego
e0f8f99a19 ao_mpegpes,vo_mpegpes: Rename vo_mpegpes_fd2 variable to ao_mpegpes_fd
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32154 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:16:46 +02:00
diego
a49fb5a3d8 ao_coreaudio: fix grammar/spelling in mp_msg calls
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31972 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:15:49 +02:00
siretart
2e6ff523dd spelling fixes
Found by the Debian QA tool 'lintian'

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31913 b3059339-0415-0410-9bf9-f77b7e298cf2

reintroduce typo in genres.h that was fixed fixed r31913 to match the id3v2 spec

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31920 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:15:03 +02:00
reimar
4bf28980f9 ao_mpegpes: Properly close file on error or uninit
Avoids failing with "device busy" e.g. when reinitializing the ao.
Fixes bug #1746.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31871 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:46 +02:00
reimar
ff1da0cb35 ao_mpegpes.c: minor simplification
Avoid code duplication, use the generated file name instead of
generating it twice.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31870 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:46 +02:00
adrian
ef236e1fe2 ao_coreaudio: Improve handling of the "help" suboption
Avoid flagging it as an error and continue intialization if it is selected.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31725 b3059339-0415-0410-9bf9-f77b7e298cf2

Reindent and align after r31725.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31726 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:44 +02:00
diego
5b14a1b44f ao_coreaudio: Remove some unused variables
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31723 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:44 +02:00
adrian
4505a8f06a ao_coreaudio: Process the CoreFoundation runloop
Process it in case the vo doesn't do that, e.g. when vo_corevideo is
used with shared_buffer.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31717 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:44 +02:00
adrian
2d35ff8332 ao_coreaudio: Refactor device selection
Add output device selection and correctly set the default device if
it's selected.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31715 b3059339-0415-0410-9bf9-f77b7e298cf2

Fix cosmetics after r31715.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31716 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:44 +02:00
adrian
2050baef96 ao_coreaudio: use same types as coreaudio API
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31714 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:44 +02:00
adrian
6d19d34506 ao_coreaudio: replace deprecated functions with OSX 10.4 ones
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31713 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:44 +02:00
adrian
1b023f8d7b ao_coreaudio: Fix printf specifiers
Fixes warnings:
libao2/ao_coreaudio.c:203: warning: format '%lu' expects type 'long unsigned int', but argument n has type 'UInt32'

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31712 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:44 +02:00
reimar
5deeba5f6a ao_pcm: Remove some disabled and pointless code
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31686 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:43 +02:00
diego
49036138d0 ao_ivtv: Add header for ivtv_write() instead of forward declaring it
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31419 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:09:18 +02:00
tack
24c36f29ec ao_jack: increase maximum allowed channels from 6 to 8.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31358 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:07:42 +02:00
Uoti Urpala
e74361c488 Merge svn changes up to r31189 2010-05-30 15:51:33 +03:00
reimar
0dd2ddd2bc Change WAV header updating in ao_pcm to allow to up to almost 4GB size.
Patch by Rob McMullen [robm users sourceforge net]


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31189 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-05-21 17:19:01 +00:00
Uoti Urpala
ff559b8e90 Merge svn changes up to r30907 2010-04-26 16:57:25 +03:00
komh
f74d169fc6 Include libavutil/avutil.h for FFMIN
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30881 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-03-10 11:33:02 +00:00
Uoti Urpala
00323c06e2 Delete things related to old translation system
Remove the help/ subdirectory, configure code to create toplevel
help_mp.h, and all the '#include "help_mp.h"' lines from .c files.
2010-03-10 03:47:14 +02:00
Uoti Urpala
240550bbb9 Merge svn changes up to r30848 2010-03-10 03:00:14 +02:00
Uoti Urpala
e74708f619 Merge svn changes up to r30748 2010-03-10 01:50:55 +02:00
Uoti Urpala
acdce0176a Merge svn changes up to r30732 2010-03-10 01:25:15 +02:00