aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
2009-02-23ffmpeg: add all known ffmpeg extensions and mime-types.Avuton Olrich1-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
2009-02-23Makefile.am: no recursive makefilesMax Kellermann1-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.
2009-02-23output: pass the music chunk pointer as void*, not char*Max Kellermann14-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.
2009-02-23output_api: play() returns a lengthMax Kellermann12-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.
2009-02-22shout: removed shout_plugin.hMax Kellermann3-54/+28
There are no plugins left which require shout_plugin.h. Moved the struct declaration to shout_plugin.c.
2009-02-22shout: removed shout_encoder_pluginsMax Kellermann1-11/+0
This array is empty, and is not used anymore.
2009-02-22shout: use the new encoder APIMax Kellermann5-559/+102
Removed shout's encoder plugin API in favor of the new generic encoder plugin API.
2009-02-22encoder: added lame mp3 encoderMax Kellermann3-0/+292
This new LAME encoder plugin is based on the existing shout_mp3.c plugin.
2009-02-22encoder: added vorbis encoderMax Kellermann3-0/+397
This new vorbis encoder plugin is based on the existing shout_ogg.c plugin.
2009-02-22added the encoder APIMax Kellermann5-0/+306
The new generic encoder API will replace shout's custom encoder API.
2009-02-22shout: merged open_shout_conn() into my_shout_open_device()Max Kellermann1-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.
2009-02-22shout: bool return values instead of intMax Kellermann1-27/+28
Return true/false instead of 0/-1.
2009-02-21pcm: added API documentationMax Kellermann6-1/+130
2009-02-20crossfade: added API documentationMax Kellermann1-0/+21
2009-02-20path: don't export path_set_fs_charset()Max Kellermann2-3/+2
The function path_set_fs_charset() is only used in path.c.
2009-02-20path: validate configured character setMax Kellermann1-0/+11
2009-02-19decoder_api: fixed shadow warning, rename "wait"Max Kellermann1-2/+2
The parameter name "wait" overlaps with the POSIX wait() function. Rename it.
2009-02-19utils: use g_usleep() instead of my_usleep()Max Kellermann6-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.
2009-02-19faad: use faacDecFrameInfo instead of NeAACDecFrameInfoMax Kellermann1-1/+1
Don't use libfaad's internal type names.
2009-02-19added G_LOG_DOMAIN macros to several librariesMax Kellermann4-0/+12
Define the GLib logging domain in the following libraries: conf, daemon, event_pipe, log.
2009-02-19conf: log the effective configuration file nameMax Kellermann1-0/+2
For better debugging aid when something goes wrong, log the name of the effective configuration file.
2009-02-19log: added log_early_init() for early debug messagesMax Kellermann3-0/+25
2009-02-19Makefile.am: add new headers to $(mpd_headers)Max Kellermann1-0/+5
I forgot to add these, and this broke "make distcheck".
2009-02-19mms: fix assertion in input_stream_openPeter Colberg1-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
2009-02-18pcm_volume: optimized pcm_volume_change_24() on i386Max Kellermann1-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.
2009-02-18mp4ff: always free the mp4ff_read_sample() bufferMax Kellermann1-2/+2
When mp4ff_read_sample() returns a value bigger than zero, it guarantees that the buffer is set. Remove the check.
2009-02-18mp4ff: don't allocate seek_table when input is not seekableMax Kellermann1-2/+10
Don't waste any precious memory when the seek_table cannot be used.
2009-02-18mp4ff: include cleanupMax Kellermann1-4/+4
Don't include limits.h, use GLib constants instead.
2009-02-18mp4ff: use faacDecInit2() to find the AAC trackMax Kellermann1-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.
2009-02-18mp4ff: moved code to mp4_faad_new()Max Kellermann1-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().
2009-02-18mp4ff: call decoder_initialized() after libfaad initializationMax Kellermann1-23/+32
Don't wait for the first frame to be decoded. We already have the sample rate and the channel count from faacDecInit2().
2009-02-18mp4ff: merged mp4_load_tag() into mp4_tag_dup()Max Kellermann1-7/+1
The function mp4_load_tag() is used only once, and mp4_tag_dup() is a one-liner. Merge them.
2009-02-17player_thread: don't drop audio buffers when not seekableMax Kellermann1-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().
2009-02-17faad: variable cleanupMax Kellermann1-9/+4
Make some variables more local, and eliminate superfluous ones.
2009-02-17faad: added source code commentsMax Kellermann1-1/+36
2009-02-17faad: faad_decoder_init() returns an audio_formatMax Kellermann1-25/+23
Instead of returning the sample rate and channel count as separate values, fill an audio_format struct.
2009-02-17faad: call decoder_initialized() after libfaad initializationMax Kellermann1-18/+27
Don't wait for the first frame to be decoded. We already have the sample rate and the channel count from faacDecInit().
2009-02-17faad: removed DECODE_COMMAND_SEEK checkMax Kellermann1-2/+0
The MPD core will never send a SEEK command to a decoder which has declared to be not seekable.
2009-02-17input_file, input_curl, icy_metadata: added GLib log domainsMax Kellermann3-0/+9
Define G_LOG_DOMAIN.
2009-02-17faad: use the decoder_buffer libraryMax Kellermann1-152/+155
Replace this plugin's own buffer library with the new decoder_buffer library.
2009-02-17faad: check the result of adts_find_frame()Max Kellermann1-4/+2
Instead of checking if the buffer is empty after adts_find_frame(), check adts_find_frame()'s return value. This is more robust.
2009-02-17faad: added libfaad wrappersMax Kellermann1-42/+61
Moved libfaad API quirks to the wrapper functions faad_decoder_init() and faad_decoder_decode().
2009-02-17faad: functions return duration, no float pointerMax Kellermann1-15/+18
Instead of writing the song duration into a float pointer, return it from the function.
2009-02-17faad: removed length==NULL check in faad_song_duration()Max Kellermann1-5/+1
There are no callers which pass NULL here.
2009-02-17faad: fill buffer in adts_find_frame()Max Kellermann1-4/+2
All callers of adts_find_frame() use faad_buffer_fill() before that. Move that faad_buffer_fill() call into adts_find_frame() instead. adts_find_frame() will get its own logic for on-demand filling.
2009-02-17added the "decoder buffer" libraryMax Kellermann3-0/+236
The decoder buffer library may be used by decoder libraries such as "faad".
2009-02-17faad: converted length check to assertion in adts_check_frame()Max Kellermann1-3/+2
adts_check_frame() must not be called with a buffer length smaller than 8. We can eliminate that duplicate check, and convert it into an assertion.
2009-02-17faad: added length check before comparing "ADIF"Max Kellermann1-1/+1
It's not valid to use the buffer's data without ensuring that the buffer contains enough data.
2009-02-17faad: renamed internal functionsMax Kellermann1-12/+12
"aac" -> "faad"
2009-02-17wavpack: added GLib log domainMax Kellermann1-0/+3