aboutsummaryrefslogtreecommitdiffstats
path: root/src (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ao: removed AoData.device!=NULL checksMax Kellermann2009-02-251-12/+1
| | | | | | | The MPD core guarantees that the audio_output object is always in a consistent state: either open or closed. When open, it will not call the open() method again, and when closed, it will not call play(). Removed several checks and the NULL initialization.
* ao: removed implementation of method cancel()Max Kellermann2009-02-251-6/+0
| | | | | The method is empty, and we can simply set the method pointer to NULL instead.
* output_plugin: don't pass audio_output object to method init()Max Kellermann2009-02-2512-34/+19
| | | | | | audio_output_get_name() has been removed, which was the only function left in output_api.h. The output plugin doesn't need the audio_output object at all, remove the parameter from the init() method.
* output_api: removed audio_output_get_name()Max Kellermann2009-02-255-52/+14
| | | | Use config_get_block_string("name") instead of audio_output_get_name().
* ls: moved generic URI utilities to uri.cMax Kellermann2009-02-2513-29/+80
| | | | | "ls" is a bad name for a library which parses URIs. We'll move the rest of the "ls" library later.
* vorbis_encoder: vorbis_encoder_clear() returns voidMax Kellermann2009-02-241-5/+1
| | | | Don't return an uninitialized bool variable.
* jack: initialize local variable "space"Max Kellermann2009-02-241-1/+1
| | | | | Fix a gcc warning, initialize the "space" variable at the beginning of mpd_jack_play().
* listen: fix unused parameter warnings when TCP is disabledMax Kellermann2009-02-241-0/+3
| | | | Work around gcc warnings by casting the parameters to void.
* listen: removed is_ipv6_enabled()Max Kellermann2009-02-241-19/+14
| | | | | Don't explicitly check is_ipv6_enabled(), just try calling listen_add_port_ipv6(), but check its error code.
* listen: splitted listen_add_port() into IPv4 and IPv6Max Kellermann2009-02-241-20/+52
| | | | Some more code simplification.
* listen: don't call listen_add_config_param(NULL)Max Kellermann2009-02-241-10/+25
| | | | | For default bind_to_address settings, don't call listen_add_config_param(NULL), use listen_add_port() directly.
* listen: moved code to listen_add_host()Max Kellermann2009-02-241-58/+78
| | | | | Split code from the rather large function listen_add_config_param(), part 3.
* listen: moved code to listen_add_path()Max Kellermann2009-02-241-25/+38
| | | | | Split code from the rather large function listen_add_config_param(), part 2.
* listen: moved code to listen_add_port()Max Kellermann2009-02-241-33/+50
| | | | Split code from the rather large function listen_add_config_param().
* listen: listen_add_address() returns bool/GErrorMax Kellermann2009-02-241-38/+93
| | | | | Don't return -1 on failure, and abort on fatal error - do proper error reporting with GError, and return false on failure.
* listen: removed unused macro "MAXHOSTNAME"Max Kellermann2009-02-241-2/+0
|
* listen: no CamelCaseMax Kellermann2009-02-245-30/+31
| | | | Renamed functions.
* ffmpeg: add all known ffmpeg extensions and mime-types.Avuton Olrich2009-02-231-18/+77
| | | | | | | | | | | | | After much research[1][2][3] this should be the majority of currently supported file extensions and mime-types for the currently supported ffmpeg formats. This list maybe incomplete, but it's more complete than anything else out there that I've been able to find. This list needs to be updated every now and again as the ffmpeg sources support more formats. 1. Sources 2. wiki.multimedia.cx 3. filext.com
* Makefile.am: no recursive makefilesMax Kellermann2009-02-231-446/+0
| | | | | | Recursive Makefiles are inefficient and error prone (no proper way to declare dependencies). Since there's no disadvantage in having one single Makefile, let's do it.
* output: pass the music chunk pointer as void*, not char*Max Kellermann2009-02-2314-21/+21
| | | | | | The meaning of the chunk depends on the audio format; don't suggest a specific format by declaring the pointer as "char*", pass "void*" instead.
* output_api: play() returns a lengthMax Kellermann2009-02-2312-119/+103
| | | | | | | | The old API required an output plugin to not return until all data passed to the play() method is consumed. Some output plugins have to loop to fulfill that requirement, and may block during that. Simplify these, by letting them consume only part of the buffer: make play() return the length of the consumed data.
* shout: removed shout_plugin.hMax Kellermann2009-02-223-54/+28
| | | | | There are no plugins left which require shout_plugin.h. Moved the struct declaration to shout_plugin.c.
* shout: removed shout_encoder_pluginsMax Kellermann2009-02-221-11/+0
| | | | This array is empty, and is not used anymore.
* shout: use the new encoder APIMax Kellermann2009-02-225-559/+102
| | | | | Removed shout's encoder plugin API in favor of the new generic encoder plugin API.
* encoder: added lame mp3 encoderMax Kellermann2009-02-223-0/+292
| | | | | This new LAME encoder plugin is based on the existing shout_mp3.c plugin.
* encoder: added vorbis encoderMax Kellermann2009-02-223-0/+397
| | | | | This new vorbis encoder plugin is based on the existing shout_ogg.c plugin.
* added the encoder APIMax Kellermann2009-02-225-0/+306
| | | | The new generic encoder API will replace shout's custom encoder API.
* shout: merged open_shout_conn() into my_shout_open_device()Max Kellermann2009-02-221-10/+2
| | | | | The method implementation my_shout_open_device() consists of only one line, the call to open_shout_conn(). Merge both functions into one.
* shout: bool return values instead of intMax Kellermann2009-02-221-27/+28
| | | | Return true/false instead of 0/-1.
* pcm: added API documentationMax Kellermann2009-02-216-1/+130
|
* crossfade: added API documentationMax Kellermann2009-02-201-0/+21
|
* path: don't export path_set_fs_charset()Max Kellermann2009-02-202-3/+2
| | | | The function path_set_fs_charset() is only used in path.c.
* path: validate configured character setMax Kellermann2009-02-201-0/+11
|
* decoder_api: fixed shadow warning, rename "wait"Max Kellermann2009-02-191-2/+2
| | | | | The parameter name "wait" overlaps with the POSIX wait() function. Rename it.
* utils: use g_usleep() instead of my_usleep()Max Kellermann2009-02-196-24/+4
| | | | | | | Now that I've found this nice function in the GLib docs, we can finally remove our custom sleep function. Still all those callers of g_usleep() have to be migrated one day to use events, instead of regular polling.
* faad: use faacDecFrameInfo instead of NeAACDecFrameInfoMax Kellermann2009-02-191-1/+1
| | | | Don't use libfaad's internal type names.
* added G_LOG_DOMAIN macros to several librariesMax Kellermann2009-02-194-0/+12
| | | | | Define the GLib logging domain in the following libraries: conf, daemon, event_pipe, log.
* conf: log the effective configuration file nameMax Kellermann2009-02-191-0/+2
| | | | | For better debugging aid when something goes wrong, log the name of the effective configuration file.
* log: added log_early_init() for early debug messagesMax Kellermann2009-02-193-0/+25
|
* Makefile.am: add new headers to $(mpd_headers)Max Kellermann2009-02-191-0/+5
| | | | I forgot to add these, and this broke "make distcheck".
* mms: fix assertion in input_stream_openPeter Colberg2009-02-191-0/+1
| | | | | | | | | | | | | | | Hi, upon trying to play an MMS stream added to the play list, I got this: mpd: /tmp/mpd/./src/input_stream.c:85: input_stream_open: Assertion `is->plugin->open == ((void *)0) || is->plugin == plugin' failed. With the following patch applied, it works perfectly. Thanks for having implemented MMS support :-). Best regards, Peter
* pcm_volume: optimized pcm_volume_change_24() on i386Max Kellermann2009-02-181-1/+40
| | | | | | | | | | | Added an inline assembly function for the 64 bit multiplication. Benchmark results on a Pentium II 266 MHz, 512 MB of 24 bit PCM data: dd if=/dev/zero bs=64k count=8k | time ./test/software_volume 48000:24:2 >/dev/null Before this patch 22.94s, after this patch 7.24s.
* mp4ff: always free the mp4ff_read_sample() bufferMax Kellermann2009-02-181-2/+2
| | | | | When mp4ff_read_sample() returns a value bigger than zero, it guarantees that the buffer is set. Remove the check.
* mp4ff: don't allocate seek_table when input is not seekableMax Kellermann2009-02-181-2/+10
| | | | Don't waste any precious memory when the seek_table cannot be used.
* mp4ff: include cleanupMax Kellermann2009-02-181-4/+4
| | | | Don't include limits.h, use GLib constants instead.
* mp4ff: use faacDecInit2() to find the AAC trackMax Kellermann2009-02-181-49/+36
| | | | | | | | | Use faacDecInit2() instead of AudioSpecificConfig() to detect the AAC track in the MP4 file. This has a great advantage: it initializes the libfaad decoder, which the caller would normally do anyway - but now we can go without the AudioSpecificConfig() call. When decoder==NULL (called from mp4_tag_dup()), fall back to a mp4ff_get_track_type()==1 check, like other audio players do.
* mp4ff: moved code to mp4_faad_new()Max Kellermann2009-02-181-53/+65
| | | | | | Moved the libfaad decoder initialization to mp4_faad_new(), and also fill the audio_format struct there. This eliminates a little bit of complexity in mp4_decode().
* mp4ff: call decoder_initialized() after libfaad initializationMax Kellermann2009-02-181-23/+32
| | | | | Don't wait for the first frame to be decoded. We already have the sample rate and the channel count from faacDecInit2().
* mp4ff: merged mp4_load_tag() into mp4_tag_dup()Max Kellermann2009-02-181-7/+1
| | | | | The function mp4_load_tag() is used only once, and mp4_tag_dup() is a one-liner. Merge them.
* player_thread: don't drop audio buffers when not seekableMax Kellermann2009-02-171-1/+2
| | | | | | | When a file is not seekable, MPD dropped the audio buffers before even attempting to seek. This caused noticable sound corruption. Fix: first attempt to seek, and only if that succeeds, call audio_output_all_cancel().