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

100 Commits

Author SHA1 Message Date
Uoti Urpala
3595dcc089 audio/video: delete buggy "dynamic plugin" code
Codec selection for audio and video decoding had a "dynamic plugin"
feature that tried to load a shared library for any codec that had not
been enabled at compilation (disabled by default, but could be enabled
with --enable-dynamic-plugins configure switch; for unknown reasons
some distro packages have enabled it). The implementation was buggy
and could cause normal codec selection fallback to fail if the feature
was enabled. I'm not aware of any real uses of such dynamic plugins
and the feature seems questionable anyway (there are no ABI guarantees
that would make it safe to use). Remove the buggy feature.
2011-10-20 02:16:35 +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
Uoti Urpala
24d0d48c4a audio: avoid duplicated error messages on init failure
dec_audio.c init_audio_codec() would in one case print
"ADecoder init failed :(\n" and return failure. Its only caller
init_best_audio_codec() printed exactly the same message if the
returned result was failure. Change the latter message to say
"Could not open audio decoder %s.\n" instead. Some of the
per-open-attempt messages are kind of value about their context; this
new message should make it more clear where the attempt to open one
specific codec ends.
2011-05-03 17:25:01 +03:00
Uoti Urpala
a4ce95de81 core: do initial A-V sync by modifying audio stream
Add code to enforce matching pts with video when (re)starting the
audio stream, by either cutting away the first samples or inserting
silence at the beginning. New option -noinitial-audio-sync can be used
to disable this and return to old behavior.
2010-11-13 19:46:02 +02:00
Uoti Urpala
6335de8621 libaf: add opts pointer to struct af_stream 2010-11-02 04:18:07 +02:00
Uoti Urpala
4de0369e8d options: move audio_output_channels, audio_output_format to struct 2010-11-02 04:18:07 +02:00
reimar
5ed772b9cd audio: support parameter changes (e.g. channel count) during playback
Add support for parameter changes (e.g. channel count) during playback.
This makes decoding AC3 files that switch between 2 and 6 channels
work reasonably well even with -channels 6 and ffac3 decoder.

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

Fix typo in error message: ACC -> AAC

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

Avoid printing AAC with SBR warning on every decode call, instead print
it only after every decoder reconfiguration.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32476 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:14:44 +02:00
reimar
2308e045de cleanup: Add const qualifiers for struct ad_functions pointers
The ad_functions structs are in rodata, mark some pointers to them
const.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31606 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-11-02 04:13:02 +02:00
Uoti Urpala
f9d224b1ad Move some sh_audio field setting out of demuxer.c
These fields are decoder details, not information set by the demuxer.
2010-04-23 20:50:11 +03: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
b0986b3760 Merge svn changes up to r30463
Note that r30455 is wrong, that commit does not in fact change the
default behavior as claimed in the commit message. It only breaks
"-af-adv force=0", which was already pretty much useless though.
2010-03-09 18:59:15 +02:00
diego
23db422c3d Add missing license headers to all files in the libmpcodecs directory.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30463 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-30 16:57:40 +00:00
reimar
71dcc053fe Move the resync-related code into more consistent places instead of having it
scattered all over the place with half of it forgotten in some places.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30420 b3059339-0415-0410-9bf9-f77b7e298cf2
2010-01-24 15:16:39 +00:00
Uoti Urpala
57ce95b96a audio: Remove fixed decode_audio() return size limit (MAX_OUTBURST)
A couple of months ago MPlayer's ALSA driver started rounding the
amount of input data it was willing to accept in one call down to an
integer multiple of the value it set in ao_data.outburst. In some
configurations it was possible for this value to exceed the 64 KiB
limit on the amount MPlayer was willing to write in a single call to
the AO. As a result ao_alsa accepted 0 bytes in each play() call and
audio playback failed. Fix this by removing the fixed 64 KiB limit on
the amount of audio sent to AO at once; the limit was mostly a remnant
of older code anyway.
2009-12-29 15:51:59 +02:00
Uoti Urpala
d7d8babe61 cosmetics: Revert old dec_audio.c code uglification
Revert 3 old code uglification changes that were done with the excuse
of gcc-2.95 support. The last reverted change was a fix to a bug
introduced in the middle change.

Revert "10l, len may change after initialization time"

This reverts commit ae9db277c7.

Revert "fix declaration after statement, take 2"

This reverts commit 4bceedee93.

Revert "fix declaration after statement"

This reverts commit aef0374c1c.
2009-12-28 22:08:46 +02:00
Amar Takhar
e306174952 Translation system changes part 2: replace macros by strings
Replace all MSGTR_ macros in the source by the corresponding English
string.
2009-07-07 01:38:20 +03:00
Amar Takhar
b5972d6f14 Translation system changes part 1: wrap translated strings
Replace mp_msg() calls which have a translated string as the format
argument with mp_tmsg and add _() around all other translated strings.
2009-07-07 01:28:07 +03:00
diego
b8ef364ae0 Remove reference to outdated documentation file.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29209 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-20 15:24:47 +00:00
diego
2e903f7c75 Remove unnecessary malloc.h #includes and related #ifdeffery.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@29126 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-04-02 09:20:48 +00:00
diego
be8c67909b Convert HAVE_MALLOC_H into a 0/1 definition, fixes the warning:
mem.c:32:5: warning: "HAVE_MALLOC_H" is not defined


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28629 b3059339-0415-0410-9bf9-f77b7e298cf2
2009-02-17 11:16:19 +00:00
reimar
57281a3170 Use av_malloc/av_free for audio-related buffers to avoid crashes due to
insufficient alignment on systems without memalign.
http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/2008-October/058743.html


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27799 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-10-18 18:54:05 +00:00
diego
e0b1c9a6b7 Give a CONFIG_ prefix to preprocessor directives that lacked one and
change arbitrary prefixes to CONFIG_.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27429 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-08-07 12:20:50 +00:00
diego
4b141479da Start unifying names of internal preprocessor directives.
Replace all USE_ prefixes by CONFIG_ prefixes to indicate
options which are configurable.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27373 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-30 12:01:30 +00:00
reimar
cf8d381255 Try to keep decoded audio buffer aligned.
Seems to be enough to avoid crashes (due to unaligned SSE2) with FFmpeg vorbis decoding for now.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@27281 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-07-14 16:38:58 +00:00
diego
835c654bb0 typo fix: inited --> initialized
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25994 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-02-14 14:23:55 +00:00
reimar
d63fb8ba99 Replace the persistent CODECS_FLAG_SELECTED by a local "stringset" with
an almost-trivial implementation.
This allows making the builtin codec structs const, and it also makes
clearer that this "selected" status is not used outside the init functions.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25689 b3059339-0415-0410-9bf9-f77b7e298cf2
2008-01-12 14:05:46 +00:00
rfelker
ae9db277c7 10l, len may change after initialization time
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25282 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-03 09:57:21 +00:00
rfelker
4bceedee93 fix declaration after statement, take 2
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25281 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-03 09:07:31 +00:00
rfelker
aef0374c1c fix declaration after statement
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25280 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-12-03 09:03:45 +00:00
reimar
fb366fbf03 Simplify decode_audio function a bit.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24989 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-08 18:14:49 +00:00
reimar
c849b6683a Remove a check+abort, this case should never happen anyway, and if it does
the most likely result is a NULL dereference which isn't much worse.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24946 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-03 10:20:00 +00:00
uau
6338c068a2 Simplify init_audio_filters() arguments
Remove the following arguments as redundant: in_channels, in_format,
out_minsize, out_maxsize. The first two always equal fields of the
sh_audio_t struct given as the first argument to the function. The
last two are unused after the allocation of sh_audio->a_out_buffer
was changed to be done on demand.

After the out_minsize and out_maxsize arguments are removed the
function preinit_audio_filters() is identical to init_audio_filters(),
so remove it and use the latter instead.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24922 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:52:28 +00:00
uau
2d44426648 audio: simplify buffer allocation code
Remove the code allocating sh_audio->a_out_buffer from
init_audio_filters() and let the buffer be allocated by the new
dynamic allocation code.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24921 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:52:23 +00:00
uau
1844e1dd0c Change decode_audio() interface
Rewrite decode_audio to better deal with filters that handle input in
large blocks. It now always places output in sh_audio->a_out_buffer
(which was always given as a parameter before) and reallocates the
buffer if needed. After the changes filters can return arbitrarily
large blocks of data without some of it being lost. The new version
also allows simplifying some code.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24920 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:52:19 +00:00
uau
3e8ab86642 Replace hopefully unreachable code with abort()
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24914 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:51:53 +00:00
uau
9e796deb33 dec_audio.c: Make some functions static
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24913 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:51:49 +00:00
uau
244bd237fb Simplify audio buffer allocation logic
Remove code that set sh_audio->a_out_buffer to equal
sh_audio->a_buffer between the calls to init_best_audio_codec and
init_audio_filters. Nothing uses the buffer between those calls.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24912 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:51:44 +00:00
uau
8338fa9ecf Reindent dec_audio.c
Also remove some commented out code


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24911 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-11-01 06:51:38 +00:00
diego
84157efa5a Clean up the way get_path is handled: Compile get_path.c to an object to link
against instead of directly #including the C file and replace the many extern
declarations by a proper header file.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@24262 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-08-28 11:20:24 +00:00
diego
20d778b3fa Add explicit location for headers from the libmpdemux/ directory.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22619 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-03-15 17:51:32 +00:00
diego
c0a30e606f Add explicit location for headers from the stream/ directory.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22617 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-03-15 17:10:36 +00:00
uau
b7b0d8664d Fix memory leak when changing playback speed
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@22198 b3059339-0415-0410-9bf9-f77b7e298cf2
2007-02-10 19:47:22 +00:00
uau
0d8f9453b5 Fix code that cuts audio data if the filters produce too much.
It incorrectly used the channel count and sample size values from the
decoder even though the filters can change those.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20768 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-11-07 23:16:55 +00:00
ivo
eac9434e00 print bits/s, not bytes/s
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20093 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-10-06 21:56:15 +00:00
ivo
0242e630f9 display correct audio bitrate, samplerate and number of channels once
they are known for mplayer -identify



git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19409 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-08-15 20:06:31 +00:00
uau
3b436fd963 Remove empty function that isn't used anywhere (and never has been??).
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19399 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-08-14 17:55:38 +00:00
uau
77760ff64e Fix buffer size sanity check to match what is actually required.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19398 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-08-14 17:37:47 +00:00
reynaldo
132173bbf0 get_path as const, patch by Stefan Huehner, stefan AT huehner-org
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18894 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-07-03 23:27:37 +00:00
reynaldo
3afd65b3af rm unnecesary casts from void* - part 3
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18884 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-07-02 08:17:07 +00:00
reynaldo
3a406e94d7 Get ride of the several if(identify) messy lines and rearangment of some of the output, both patches by Kiriuja mplayer-patches AT en-directo_net, his changes are barely unrelated, nevertheless Im commiting them thogeter just for the sake of my mental healt, I had both patches already applied on my local three
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@18238 b3059339-0415-0410-9bf9-f77b7e298cf2
2006-04-24 07:20:34 +00:00