| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
The MPD core guarantees that the audio_output object is always
consistent, and our timer!=NULL checks are superfluous.
|
|
|
|
| |
Renamed functions and variables.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
The method is empty, and we can simply set the method pointer to NULL
instead.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Use config_get_block_string("name") instead of audio_output_get_name().
|
|
|
|
|
| |
"ls" is a bad name for a library which parses URIs. We'll move the
rest of the "ls" library later.
|
|
|
|
| |
Don't return an uninitialized bool variable.
|
|
|
|
|
| |
Fix a gcc warning, initialize the "space" variable at the beginning of
mpd_jack_play().
|
|
|
|
| |
Work around gcc warnings by casting the parameters to void.
|
|
|
|
|
| |
Don't explicitly check is_ipv6_enabled(), just try calling
listen_add_port_ipv6(), but check its error code.
|
|
|
|
| |
Some more code simplification.
|
|
|
|
|
| |
For default bind_to_address settings, don't call
listen_add_config_param(NULL), use listen_add_port() directly.
|
|
|
|
|
| |
Split code from the rather large function listen_add_config_param(),
part 3.
|
|
|
|
|
| |
Split code from the rather large function listen_add_config_param(),
part 2.
|
|
|
|
| |
Split code from the rather large function listen_add_config_param().
|
|
|
|
|
| |
Don't return -1 on failure, and abort on fatal error - do proper error
reporting with GError, and return false on failure.
|
| |
|
|
|
|
| |
Renamed functions.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
There are no plugins left which require shout_plugin.h. Moved the
struct declaration to shout_plugin.c.
|
|
|
|
| |
This array is empty, and is not used anymore.
|
|
|
|
|
| |
Removed shout's encoder plugin API in favor of the new generic encoder
plugin API.
|
|
|
|
|
| |
This new LAME encoder plugin is based on the existing shout_mp3.c
plugin.
|
|
|
|
|
| |
This new vorbis encoder plugin is based on the existing shout_ogg.c
plugin.
|
|
|
|
| |
The new generic encoder API will replace shout's custom encoder API.
|
|
|
|
|
| |
The method implementation my_shout_open_device() consists of only one
line, the call to open_shout_conn(). Merge both functions into one.
|
|
|
|
| |
Return true/false instead of 0/-1.
|
| |
|
| |
|
|
|
|
| |
The function path_set_fs_charset() is only used in path.c.
|
| |
|
|
|
|
|
| |
The parameter name "wait" overlaps with the POSIX wait() function.
Rename it.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Don't use libfaad's internal type names.
|
|
|
|
|
| |
Define the GLib logging domain in the following libraries: conf,
daemon, event_pipe, log.
|
|
|
|
|
| |
For better debugging aid when something goes wrong, log the name of
the effective configuration file.
|
| |
|
|
|
|
| |
I forgot to add these, and this broke "make distcheck".
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
When mp4ff_read_sample() returns a value bigger than zero, it
guarantees that the buffer is set. Remove the check.
|
|
|
|
| |
Don't waste any precious memory when the seek_table cannot be used.
|
|
|
|
| |
Don't include limits.h, use GLib constants instead.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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().
|
|
|
|
|
| |
Don't wait for the first frame to be decoded. We already have the
sample rate and the channel count from faacDecInit2().
|