| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Pass sizeof(buf) to decoder_data(), not the number of samples (which
is half the size). At the same time, pass GME_BUF_SIZE to gme_play()
- libgme really wants to get the number of samples, not the number of
stereo frames. Previously, this plugin had been using only the first
half of the buffer.
|
|
|
|
| |
Allocate the "tag" object after the file has been opened successfully.
|
|
|
|
|
| |
Allocate the "tag" object after the file has been checked. That
removes one tag_free() call in an error handler.
|
| |
|
|
|
|
| |
Allocate only one item on the stack.
|
| |
|
|
|
|
| |
Reuse the function tag_name_parse_i().
|
| |
|
|
|
|
| |
Reuse the function tag_name_parse_i().
|
| |
|
| |
|
|
|
|
| |
This allows tags in archive files.
|
| |
|
|
|
|
| |
Initialize the ov_callbacks struct at compile time.
|
| |
|
|
|
|
|
|
| |
This is probably unsafe, and doesn't protect against symlink loops,
but we will eventually add this when we bring update*.c and inotify*.c
closer together.
|
|
|
|
|
|
|
|
| |
This shouldn't really happen, but insane users might delete/rename the
music directory while MPD runs. What was even more insane was that
MPD crashed due to this. This is a workaround - there is currently
nothing useful we can do in this case; except maybe poll for the music
directory to reappear, but that's too much trouble for a user error.
|
|
|
|
|
| |
I'm not sure if mapping "band" to TAG_PERFORMER is correct, but it
might be better than nothing.
|
|
|
|
| |
Convert if/else/else/... to a loop.
|
|
|
|
|
| |
The underlying library is named "libmp4ff". To reduce confusion,
rename the plugin to a more specific name.
|
|
|
|
| |
Allow code sharing.
|
|
|
|
|
|
|
|
|
|
| |
I took these tag names from a MusePack sample file I got from a user.
These are not documented in the APE specification:
http://wiki.hydrogenaudio.org/index.php?title=APE_key
People seem to be using undocumented extensions to the specification
anyway, and the best we can do is attempt to support them.
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
src/input/mms_input_plugin.c
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Without libid3tag, we were trying to skip the ID3 frame (since
0.15.2). Its length however was not calculated at all, we were just
dropping everything from the current input buffer. This lead to the
first few seconds of the file being skipped. This patch attempts to
calculate the ID3v2 frame size with the formula from:
http://www.id3.org/id3v2.4.0-structure 3.1 and 6.2
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Reduce the overhead. Most buffers used by MPD are around 2 to 4 kB.
8 kB seems large enough to keep heap fragmentation low.
Additionally, this patch fixes an off-by-one error in the alignment
formula.
|
| |
| |
| |
| | |
Add the flag "b" to fopen(). Windows compatibility.
|
| |
| |
| |
| | |
Windows compatibility.
|
| |
| |
| |
| |
| |
| | |
On mingw32, snprintf() expects a 64 bit integer instead of a "long
int" for "%li" - this is not consistent with our expectation, so we're
using plain sprintf().
|
| |
| |
| |
| |
| |
| |
| | |
For some unknown reason, read() blocks on WIN32, even though it was
invoked inside the G_IO_IN callback. By switching to GIOChannel
functions, this problem is solved, and it works on both Linux and
Windows.
|
| |
| |
| |
| |
| |
| | |
On WIN32, use g_io_channel_win32_new_fd() instead of
g_io_channel_unix_new(). There doesn't seem to be a practical
difference, but it seems more correct.
|
| |
| |
| |
| |
| | |
inode numbers don't work on WIN32, and very few WIN32 users actually
use symlinks - seems ok to disable that check.
|
| |
| |
| |
| |
| | |
Not a CPP macro. This adds the "unused" attribute to "saveptr", which
eliminates one gcc warning.
|
| |
| |
| |
| | |
On WIN32, "%F" and "%T" are not implemented.
|
| |
| |
| |
| |
| | |
In the winsock headers, the setsockopt() argument is declared as
"const char *", not "const void *".
|
| | |
|
| |
| |
| |
| | |
This function is empty on WIN32, but we need to return a value.
|
| | |
|
| |
| |
| |
| |
| | |
input_stream_buffer() has a check for "buffer==NULL", so we don't need
an explicit empty implementation.
|
| |
| |
| |
| |
| | |
Pay attention to the ReplayGain mode "auto" and the
replay_gain_missing_preamp parameter inside of decoder_replay_gain().
|
| | |
|
| |
| |
| |
| | |
Added #ifdefs on the macros AFMT_S24_NE and other OSS4 extensions.
|
| |
| |
| |
| |
| | |
Removed the "supported" / "unsupported" arrays, and auto-detect on
every open() call, just like the ALSA output plugin.
|
| |
| |
| |
| | |
Removed the macro AFMT_S16_MPD.
|
| |
| |
| |
| |
| |
| | |
In mingw32, int16_t is not defined by sys/types.h, but it is by stdint.h,
and it is in the int16_t man page as being defined in stdint.h. Thanks to
mithi for help debugging.
|