aboutsummaryrefslogtreecommitdiffstats
path: root/src (unfollow)
Commit message (Collapse)AuthorFilesLines
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
2009-02-17pcm_convert: removed pcm_convert_size()Max Kellermann2-20/+0
The function is unused, since we added the pcm_buffer library.
2009-02-17pcm_buffer: set size after allocationMax Kellermann1-1/+2
When I implemented the pcm_buffer library, I forgot to set the new buffer size. This caused a new allocation in each pcm_buffer_get(), fortunately no memory was leaked.
2009-02-17decoders: added and fixed GLib log domainsMax Kellermann6-9/+22
Fixed the log domains of the renamed decoders. Added G_LOG_DOMAIN macros in decoders which don't have one already.
2009-02-17renamed decoder plugin "mpc" to "mpcdec"Max Kellermann3-4/+4
This plugin is based on "libmpcdec".
2009-02-17renamed decoder plugin "mp4" to "mp4ff"Max Kellermann3-4/+4
This plugin is based on "libmp4ff".
2009-02-17tag: fixed typo in MUSICBRAINZ_TRACKID tag nameMax Kellermann1-1/+1
2009-02-16faad: no CamelCaseMax Kellermann1-160/+159
Renamed functions and variables.
2009-02-16faad: removed AacBuffer.fileOffsetMax Kellermann1-3/+0
The element fileOffset is only written, but never read. It can be removed safely.
2009-02-16renamed decoder plugin "oggvorbis" to "vorbis"Max Kellermann2-3/+3
This plugin uses libvorbis.
2009-02-16renamed decoder plugin "aac" to "faad"Max Kellermann2-4/+4
A decoder plugin should be named after the library which is used.
2009-02-16renamed decoder plugin "mp3" to "mad"Max Kellermann3-5/+5
A decoder plugin should be named after the library which is used.
2009-02-16output_api: don't include config.hMax Kellermann2-1/+1
If an output plugin requires config.h, it should include it directly.
2009-02-16mixer: include cleanupMax Kellermann2-1/+4
Don't include conf.h in mixer_api.h. Use a forward struct declaration instead.
2009-02-16output: include cleanupMax Kellermann4-2/+5
Don't include output_api.h in output_internal.h. This change requires adding missing includes in several sources.
2009-02-16mixer_api: replaced method "control()" with "{get,set}_volume()"Max Kellermann6-149/+158
The method control() is too complicated, and overengineered. Replace it with two trivial functions: get_volume() and set_volume().
2009-02-16output_plugin: replaced method "control()" with "mixer()"Max Kellermann4-28/+45
The output plugin shouldn't know any specifics of the mixer API. Make it return the mixer object, and let the caller deal with it.
2009-02-16output_plugin: added inline wrapper functionsMax Kellermann4-33/+91
Similar to the decoder plugin API: added wrapper functions to increase code readability.
2009-02-16output_plugin: reorder method declarationsMax Kellermann1-17/+17
Initialization and deinitialization first, then tag functions, then play/cancel/pause.
2009-02-16output_api: moved "struct audio_output_plugin" to output_plugin.hMax Kellermann2-87/+116
If we move the plugin struct to a separate header, we don't have to include the big fat output_api.h everywhere.
2009-02-16output_api: moved "enum output_command" to output_internal.hMax Kellermann2-11/+11
Now that the output_command enum isn't exposed to output plugins anymore, we can hide its definition within output_internal.h.
2009-02-16output_control: no CamelCaseMax Kellermann2-56/+55
Renamed variables.
2009-02-15wildmidi: check if configurationn file existsMax Kellermann1-0/+4
Don't call WildMidi_Init() if the configuration file does not exist. Don't let libwildmidi clutter stderr with its warning message.
2009-02-15wildmidi: obtain timidity.cfg location from mpd.confMax Kellermann1-3/+6
2009-02-15decoder_list: added configuration option to disable decoder pluginsMax Kellermann1-0/+4
2009-02-15decoder_list: added configuration block "decoder"Max Kellermann3-1/+31
The "decoder" configuration block may contain the configuration of one decoder plugin.
2009-02-15decoder_plugin: pass struct config_param to init() methodMax Kellermann9-10/+18
Preparing for per-plugin configuration sections in mpd.conf.
2009-02-15decoder_api: moved enum decoder_command to decoder_command.hMax Kellermann5-9/+35
Minimize header dependencies, again.
2009-02-15decoder_plugin: added inline wrapper functionsMax Kellermann3-5/+62
Increase code readability, always use the wrapper functions instead of calling the plugin method pointers directly.
2009-02-15decoder_api: moved struct decoder_plugin to decoder_plugin.hMax Kellermann7-60/+89
The decoder_plugin struct is used by both the MPD core and the decoder plugin implementations. Move it to a shared header file, to minimize header dependencies.
2009-02-15daemon: return early from daemonize_set_user()Max Kellermann1-19/+20
If no "user" is configured, return from daemonize_set_user(). Save one level of indent.
2009-02-15daemon: ignore "user" setting if already running as that userMax Kellermann1-3/+6
If mpd.conf specifies a user, and MPD is invoked by exactly this user, ignore the "user" setting. Don't bother to look up its groups and don't attempt to change uid, it won't work anyway.
2009-02-15daemon: added comments to daemonize_detach()Max Kellermann1-0/+9
2009-02-15daemon: print fork error messageMax Kellermann1-2/+3
Print details on why the fork() fails.
2009-02-15daemon: moved code to daemonize_detach()Max Kellermann1-19/+23
Moved the code which detaches from the parent process/session to a separate function.
2009-02-13playlist_edit: improved range checks in shufflePlaylist()Romain Bignon1-1/+6
2009-02-13added the shufflerange commandRomain Bignon3-26/+29
This command shuffles a range of songs.
2009-02-12update: free deleted subdirectoriesMax Kellermann1-2/+6
Use delete_directory() for removing sub directories instead of dirvec_clear(). This ensures that all memory occupied by subdirectories of deleted directories is freed.
2009-02-12update: recursively purge deleted directoriesMax Kellermann1-1/+1
When a directory is deleted, MPD deleted only the directory from the database; it did not bother to walk the full tree to free all memory and to remove deleted songs from the playlist. Replace a dirvec_delete() with delete_directory().
2009-02-12aac: fix stream metadataMax Kellermann1-1/+1
Pass the input_stream object to decoder_data(). Without it, the MPD core does not see stream tags.
2009-02-12database: don't load database after charset was reconfiguredMax Kellermann1-6/+4
When you change the filesystem charset, discard the old database file and create a new one. The old database file will most likely contain stale or invalid information.
2009-02-12wildmidi: added seeking supportMax Kellermann1-1/+11
Use WildMidi_SampledSeek() for seeking in a MIDI file.
2009-02-12wildmidi: provide and current total song timeMax Kellermann1-5/+34
The _WM_Info struct provides all we need, it is obtained by WildMidi_GetInfo().
2009-02-12wildmidi: new decoder plugin for MIDI filesMax Kellermann3-0/+112
2009-02-12fluidsynth: new decoder plugin for MIDI filesMax Kellermann3-0/+243
There are a few problems left in this plugin: - fluidsynth decodes in real time, while MPD prefers to buffer as quickly as possible; as a workaround, this plugin uses a timer object to synchronize with real-time playback - I don't know yet how fluidsynth tells me when the song has ended - the "soundfont" configuration setting is not yet documented, and it will likely change soon (in favor of a per-decoder configuration block)