Commit Graph

51 Commits

Author SHA1 Message Date
Jean-Baptiste Kempf
b28c81b4f5 Fix typo in comment 2010-02-26 21:03:03 +01:00
Rémi Denis-Courmont
a672233d97 aout interface: remove leading underscores 2010-02-07 12:33:52 +02:00
Francois Cartegnie
0b9884976f libvlc: Unify volume/mute change functions and add a mutex layer
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2010-01-10 15:43:16 +02:00
Francois Cartegnie
a82dc303ae libvlc: introduce 'Muted' as a whole state, not as volume 0
Signed-off-by: Rémi Denis-Courmont <remi@remlab.net>
2010-01-10 15:43:15 +02:00
Rémi Denis-Courmont
2e2cd0b07b Code factor 2009-12-03 23:51:16 +02:00
Rémi Denis-Courmont
9d9577f04f Convert audio output core to audio filter2
audio filter plugins are now useless.
This breaks visual (needs to be ported to filter_t) and will likely
expose bugs in under-used audio filter2 infrastructure.

TODO: use filter chain instead of custom filter handling in core.
2009-09-27 21:37:23 +03:00
Rémi Denis-Courmont
a087b40218 Remove aout_filter_t.b_discontinuity 2009-09-27 21:37:22 +03:00
Rémi Denis-Courmont
d2549af08b aout_filter_t.(in|out)put -> aout_filter_t.fmt_(in|out).audio
This migrates to a filter_t-like syntax
2009-09-27 17:39:52 +03:00
Rémi Denis-Courmont
9b4469b28e Privatize aout_request_vout_t 2009-09-27 16:07:10 +03:00
Rémi Denis-Courmont
b3b2157715 Make aout_buffer_t an alias for block_t 2009-09-23 22:00:07 +03:00
Rémi Denis-Courmont
6c9479be6c i_nb_bytes -> i_buffer
(Yeah, some automatic variables were renamed too)
2009-09-23 20:33:19 +03:00
Rémi Denis-Courmont
38c0878998 aout_buffer_t: store length instead of end timestamp
aout_buffer_t now looks very much like a subset of block_t at the
source code level. By the way, we might want to revisit the return value
of date_Increment()...
2009-09-23 19:57:40 +03:00
Rémi Denis-Courmont
e9eb5d5e4e aout_buffer_t.b_disconuity -> aout_buffert.i_flags 2009-09-23 18:57:27 +03:00
Rémi Denis-Courmont
8146a7f0e8 aout_buffer_t.start_data -> aout_buffer_t.i_pts
This will be needed to replace aout_buffer_t with block_t.
We also need to replace end_date with i_length, which is a bit more
involved.
2009-09-23 00:26:56 +03:00
Rémi Denis-Courmont
04685d70e2 Remove aout_buffer_t.b_alloc (it's always true)
When allocation is false, aout_BufferFree is simply not called.
2009-09-23 00:01:55 +03:00
Rémi Denis-Courmont
311ffefcfe Bring back aout_buffer_t.p_sys for the sole benefit of transcode 2009-09-08 00:24:18 +03:00
Rémi Denis-Courmont
1e7fcc5da4 Rework aout_buffer_t layout
* 12 bytes saved on 32-bits platforms,
 * 32 bytes saved on 64-bits platforms.
2009-09-07 23:57:50 +03:00
Rafaël Carré
f76500382d aout_BufferAlloc() : remove stack allocation
alloca() was not used anyway on OSX and BSD, due to smaller stack sizes,
and we can't assume a default stack size anyway

I expect the performance loss to be minimal, but worth the code
simplification anyway (i didn't benchmark)

aout_BufferAlloc() is moved into its own function in a .c file instead
of being a macro

Since there is now 2 types of allocations (HEAP and NONE), make
i_alloc_type a boolean (true = HEAP alloc, false = NO alloc)

make aout_BufferFree() a static inline function in the same process.
Prototype doesn't change since the provided buffer doesn't need to be
set to NULL (I checked all the callers)
2009-09-03 15:03:07 +02:00
Laurent Aimar
3b4d57e9e4 Moved aout_input_t to aout_internal.h. 2009-08-25 23:18:20 +02:00
Laurent Aimar
d29ead01af Split out aout_mixer_t from aout_instance_t.
It will allow to sanetize aout_instance_t.
2009-08-25 23:17:00 +02:00
Laurent Aimar
8772052441 Removed audio_date_t in favor to date_t. 2009-08-13 21:40:53 +02:00
Laurent Aimar
09d375d445 Removed unused aout_VolumeInfos. 2009-08-13 21:40:52 +02:00
Rémi Denis-Courmont
a0550542cb Remove stub functions 2009-07-09 21:51:55 +03:00
Rémi Denis-Courmont
31063568bd Cast for aout_EnableFilter 2009-07-09 21:51:15 +03:00
Rémi Denis-Courmont
604adb7afc aout_VolumeMute -> aout_ToggleMute 2009-07-09 21:25:11 +03:00
Laurent Aimar
cee16ae695 Replaced AOUT_FMT_*_NE/IE by by VLC_CODEC equivalents. 2009-05-15 22:05:37 +02:00
Laurent Aimar
a2552da3e3 Added two codec four aout usage (spdif). 2009-05-13 21:18:18 +02:00
Laurent Aimar
29e5165b2a Added a new channel extraction helper to aout.
They are aout_CheckChannelExtraction/aout_ChannelExtract.
They work a bit like CheckChannelReorder and ChannelReorder but does not
have there limitations. They will mainly be used to interface the aout core
with the world (demuxer, codecs, maybe output).
2009-05-02 21:18:19 +02:00
Laurent Aimar
00b6b76217 Fixed aout visual vout recycling.
It closes #2471
It changes a bit the public API but cannot(?) be avoided.
2009-02-05 23:22:01 +01:00
Laurent Aimar
5a55a58984 Allows audio output users to control vout creation.
The input event vout now warns about every vout creation/destruction
due to a decoder.
2008-11-23 13:28:38 +01:00
Laurent Aimar
337c8691c2 Allow aout to grab vout_Request calls.
Do not use vout_Request in aout_filter_t anymore but aout_filter_RequestVout.
 They have the same semantic but it will allows to control every vout creation
from aout.
2008-11-05 21:31:47 +01:00
Laurent Aimar
da93449d1e Added aout pause support.
This does not work well. It seems that a high level of audio is buffered
inside aout after the input fifo (mixer or output one).
2008-09-30 22:22:34 +02:00
Laurent Aimar
87b5a350a6 Moved a few aout tests+statistics to decoder.
It allows removing an ugly input dependency in aout as well as finer control
at decoder side.
2008-09-30 22:22:33 +02:00
Laurent Aimar
647d418b64 Use audio desync as initial audio-delay value. 2008-09-30 22:22:33 +02:00
Jean-Paul Saman
e5324e7070 Indentation 2008-09-09 11:49:37 +02:00
Rémi Denis-Courmont
cf270dd3c0 Tag some APIs as LIBVLC_USED 2008-09-06 11:30:44 +03:00
Laurent Aimar
90ec8083f5 Fixed rear center support (and close #1816).
It also factorize channel order definitions.
The DTS order for middle channels can be wrong.
2008-08-27 17:56:44 +02:00
Laurent Aimar
1e4a18a215 Added s32l/b support to aout. 2008-08-19 21:13:21 +02:00
Jean-Paul Saman
ebd800345f Add a bunch of \file doxygen comments 2008-08-13 22:22:58 +08:00
Rémi Denis-Courmont
c0f4bfc5d8 Headers: use non-reserved identifiers for multi-inclusion protection 2008-08-11 19:34:48 +03:00
Rov Juvano
a8af644586 Use the Scaletempo audio filter
Scaletempo maintains the audio pitch when playback rate != 1.0 (i.e.
no chipmunk effect).  This fixes the pitch scaling caused by using the
resampler to handle playback rate.

Signed-off-by: Rémi Denis-Courmont <rdenis@simphalempin.com>
2008-06-28 12:37:27 +03:00
Antoine Cellerier
55f1d3272f Set i_bitspersample to correct value when changing an audio codec. (Not
sure if I didn't miss some spots where that was missing). Thanks to
Kevin DuBois for finding the bug. (This should fix some audio
transcoding crashes)
2008-06-22 18:07:34 +02:00
Rémi Denis-Courmont
fbb8255dcf Remove __LIBVLC__ test 2008-06-06 19:07:55 +03:00
Rémi Denis-Courmont
2ea3b5fc8a Don't re-invent uint8_t - remove byte_t
Also sizeof(byte_t)^Wsizeof(uint8_t) can only ever be 1, if it is
defined. It's not defined, if char is more than 8 bits, and uint8_t is
not provided, but then VLC will not compile in the first place.
2008-05-01 17:30:52 +03:00
Pierre d'Herbemont
449fd28aaf Replace vlc_bool_t by bool, VLC_TRUE by true and VLC_FALSE by false.
This improves readability a lot and prevent us from reinventing the wheel.
2008-04-14 02:02:22 +02:00
Rémi Denis-Courmont
a45076375c aout_Restart: make static 2007-08-16 19:45:54 +00:00
Laurent Aimar
d20dd24295 Added replay gain support (audio-replay-gain-mode track or album to activate
it, disabled by default)
2007-06-17 13:54:20 +00:00
Laurent Aimar
70a8bb9649 All: preliminary support for audio while playing faster/slower (1/4 -> 4).
It use our standard resampler to do it and so we do not keep
pitch yet (I am working on a soundtouch resampler).
Please test any regression.
2007-06-12 19:46:35 +00:00
Laurent Aimar
bf48c33dbb Added a b_discontinuity to aout_buffer_t for non-pcm streams.
Set aout_buffer_t.b_discontinuity in mpeg audio packetizer.
Silent first 3 frames on discontinuity in mad decoder.
(close #590)
2007-06-04 19:39:55 +00:00
Clément Stenac
fbf4c8060d A bit of vlc/libvlc cleanup:
* libvlc sources and plugins now define __LIBVLC__ and headers exported to
  plugins (ie, include/vlc_*.h) check for this
* libvlc sources use the value of the "libvlc" component in vlc-config instead
  of vlc
* Apply flags directly to "libvlc" in configure.ac - might temporarily break win32 :)
2006-12-03 13:48:21 +00:00