Max Kellermann
efd606337e
flac: check command after flac_process_single() failure
...
When the MPD core sends the decoder a command while
flac_process_single() is executed, this function fails. Abort the
decoder only if not seeking. This fixes a seeking bug.
2009-03-05 18:20:41 +01:00
Max Kellermann
74a2813d78
music_chunk: added music_chunk_write(), music_chunk_expand()
...
Moved some code from music_pipe_write() and music_pipe_expand(). Only
music_chunk.c should access the music_chunk internals.
2009-03-05 17:37:11 +01:00
Max Kellermann
c655f804a9
music_pipe: moved struct music_chunk to chunk.h
2009-03-03 22:23:25 +01:00
Max Kellermann
1063c1f2e3
alsa: log period and buffer size
...
Log the real period and buffer size. This might be useful when
debugging xruns. Note that the same information is available in
/proc/asound/card*/pcm*p/sub*/hw_params
2009-03-03 22:19:37 +01:00
Avuton Olrich
3e5a445467
ls: Print output of supported uri to fp rather than stdout.
...
Since there are no other callers than stdout, this wouldn't be a
problem, but since there maybe in the future go ahead and fix it.
2009-03-03 13:12:39 -08:00
Viliam Mateicka
3b76ca7186
ffmpeg: fix version comparision for av_get_bits_per_sample_format() implemetation
...
function was implemented in the version we are comparing to so there must be higher or equal
2009-03-03 21:30:55 +01:00
Viliam Mateicka
c89482de65
ffmpeg: support for new metadata api
2009-03-03 21:30:46 +01:00
Viliam Mateicka
39fb8bebc2
test: init input streams cause decoders are using it
2009-03-03 21:30:26 +01:00
Avuton Olrich
e7f034dcef
cmdline: Print available protocols when --version is run.
2009-03-03 21:25:19 +01:00
Max Kellermann
0f64e658fd
alsa: fall back to 32 bit samples if 16 is not supported
...
There are a few high-end devices (e.g. ICE1724) which cannot even play
16 bit audio. Try the 32 bit fallback, which we already implemented
for 24 bit.
2009-03-03 09:38:20 +01:00
Max Kellermann
f82793f741
updated valgrind.suppressions
2009-03-03 07:56:06 +01:00
Eric Wollesen
b8ebb748c9
Add sticker list command.
...
[mk: merged memory leak patch; fixed indentation (tabs); fixed
documentation typo]
2009-03-03 07:49:23 +01:00
Max Kellermann
95b53281a4
updated valgrind.suppressions
2009-03-02 23:11:45 +01:00
Max Kellermann
4220e6b0ad
input_lastfm: new input plugin for last.fm radio
...
The lastfm input plugin enables MPD to play lastfm:// URLs. This
plugin is not complete yet: it plays only the first song in the
last.fm playlist, and the playlist parser isn't even implemented
properly.
2009-03-02 23:11:31 +01:00
Max Kellermann
9cd5b0af74
test/run_decoder: initialize decoder.initialized
...
Keep valgrind happy.
2009-03-02 23:09:58 +01:00
Max Kellermann
a2e47d55eb
test/run_decoder: initialize the input plugins
2009-03-02 23:08:24 +01:00
Max Kellermann
cfb350f4f0
input: pass config_param to input_plugin.init()
...
Allow input plugins to configure with an "input" block in mpd.conf.
Also allow the user to disable a plugin completely.
2009-03-02 23:08:17 +01:00
Max Kellermann
9a350acf04
input_plugin: added methods init(), finish()
...
Instead of hard-coding the plugin global initialization in
input_stream_global_init(), make it walk the plugin list and
initialize all plugins.
2009-03-02 20:45:50 +01:00
Max Kellermann
36d24fb7ea
input: moved plugins to ./src/input/
...
Create a sub directory for input plugins.
2009-03-02 20:40:31 +01:00
Max Kellermann
2e51365ea4
input_stream: moved struct input_plugin to input_plugin.h
...
Start to separate private from public input_stream API.
2009-03-02 20:13:08 +01:00
Viliam Mateicka
8694574f63
ffmpeg: use ffmpeg's sampleformat for output format
2009-03-02 20:12:36 +01:00
Viliam Mateicka
60a5b5562b
fixing unused parameter warning
2009-03-02 19:00:21 +01:00
Viliam Mateicka
57d836da49
fixing unsigned to signed comparision
...
[mk: cast off_t to uint32_t; same fix for aiff.c]
2009-03-02 18:59:59 +01:00
Viliam Mateicka
406b0403a5
mixer: adding code to optionally disable all hw mixers
2009-03-02 18:57:49 +01:00
Max Kellermann
2f438e5d23
tag_id3: parse ID3 tags in AIFF files
...
Added a small AIFF parser library, code copied from the RIFF parser
(big-endian integers). Look for an "ID3" chunk, and let libid3tag
parse it.
2009-03-02 18:12:44 +01:00
Max Kellermann
336f624277
tag_id3: parse ID3 tags in RIFF/WAV files
...
Added a small RIFF parser library. Look for an "id3" chunk, and let
libid3tag parse it.
2009-03-02 18:00:46 +01:00
Max Kellermann
72176db429
alsa: fall back to 32 bit samples if 24 is not supported
...
Some sound chips/drivers (e.g. Intel HDA) don't support 24 bit
samples, they want to get 32 bit instead. Now that MPD's PCM library
supports 32 bit, add a 32 bit fallback when 24 bit is not supported.
2009-03-02 16:41:38 +01:00
Max Kellermann
a5a15beac2
pcm_convert: added 32 bit support
...
All PCM sub libraries have 32 bit support now. Add support to the
glue function pcm_convert().
2009-03-02 16:41:10 +01:00
Max Kellermann
3165e26f9a
pcm_format: added conversion from 32 bit
...
Support converting 32 bit samples to any other supported sample
format.
2009-03-02 16:41:08 +01:00
Max Kellermann
d4e4c57b8d
pcm_format: added pcm_convert_to_32()
...
Added code to convert all other sample formats to 32 bit.
2009-03-02 16:39:54 +01:00
Max Kellermann
d24f2ba5ee
pcm_dither: added pcm_dither_32_to_16()
...
For 32 bit dithering, reuse the 24 bit dithering code, but apply a 8
bit right shift first.
2009-03-02 16:37:11 +01:00
Max Kellermann
78e08f655a
pcm_dither: renamed struct pcm_dither_24 to struct pcm_dither
...
There is nothing 24 bit specific in the pcm_dither_24 struct. Since
we want to reuse the struct for 32 bit dithering, let's drop the "_24"
suffix from the struct name.
2009-03-02 16:37:05 +01:00
Max Kellermann
d9c1434298
pcm_resample: use 24 bit resampling code for 32 bit samples
...
Resampling 32 bit samples is the same as resampling 24 bit samples -
both are stored in the int32_t type.
2009-03-02 16:37:00 +01:00
Max Kellermann
1b31f52285
pcm_channels: added implementation for 32 bit samples
...
Some 24 bit code can be reused. The 32 bit variant has to use 64 bit
integers, because 32 bit integers could overflow. This may be a
performance hit on 32 bit CPUs.
2009-03-02 16:36:49 +01:00
Max Kellermann
062f37071c
audio_format: allow 32 bit samples
...
This is the first patch in a series to enable 32 bit audio samples in
MPD. 32 bit samples are more tricky than 24 bit samples, because the
integer may overflow when you operate on a sample.
2009-03-02 15:46:09 +01:00
Max Kellermann
8c0bce0b94
audio_format: allow up to 8 channels
...
audio_valid_sample_format() verifies the number of channels. Let's
just say up to 8 channels is allowed (which is possible with some
consumer sound chips). I don't know if there are bigger cards, and
since I cannot test it, I'll limit it to 8 for now.
2009-03-02 15:43:45 +01:00
Max Kellermann
a1561252d0
directory: directory_load() returns GError
...
Do error reporting with GLib's GError library in this library, too.
2009-03-02 15:42:42 +01:00
Max Kellermann
c0ffec2fd1
database: db_load() returns GError
...
Do error reporting with GLib's GError library.
2009-03-02 15:42:21 +01:00
Max Kellermann
eb5b3ce553
database: no CamelCase
...
Renamed a bunch of variables.
2009-03-02 15:41:44 +01:00
Max Kellermann
b7bfa24f22
pcm_volume: return bool
...
Don't abort MPD when a sample format is not supported by pcm_volume().
2009-03-02 09:42:16 +01:00
Max Kellermann
0579b6ed27
pcm_volume: no CamelCase
2009-03-01 20:11:41 +01:00
Max Kellermann
4194f4b18b
audio_parser: added API documentation
2009-03-01 20:08:48 +01:00
Max Kellermann
f48c58d17b
crossfade: fix doxygen tag
2009-03-01 20:05:27 +01:00
Max Kellermann
ba3a8474b6
flac: parse stream tags
...
Parse the vorbis comments in libflac's metadata_callback and pass them
as tag struct to the decoder API.
2009-03-01 14:07:23 +01:00
Max Kellermann
92db09fdf8
listen: return GError on "unix path too long"
...
When the unix domain socket path is too long, don't abort with
g_error().
2009-03-01 13:35:44 +01:00
Max Kellermann
f2664e329f
listen: removed unused macro BINDERROR()
2009-03-01 13:34:44 +01:00
Max Kellermann
d399d4b63b
output_init: removed getBlockParam()
...
Use config_get_block_string() and manual GError handling instead.
2009-03-01 13:32:42 +01:00
Max Kellermann
f298fcf3a6
output_init: return GError on error
...
Do error handling with GError instead of aborting with g_error().
2009-03-01 13:31:56 +01:00
Max Kellermann
cb942eeb45
output_init: moved code to audio_output_detect()
2009-03-01 13:31:32 +01:00
Max Kellermann
af66f666c6
audiofile: added 24 bit support
...
Don't hard code the "bits" parameter to 16. Try to use the input's
sample format, if possible.
2009-03-01 10:53:46 +01:00