| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
libavformat 0.6 does not pass the original URI pointer to the "open"
method, which leads to a crash because MPD was using a dirty hack to
pass a pointer to that method.
This patch switches to av_open_input_stream() with a custom
ByteIOContext class, instead of doing the URI string hack with
av_open_input_file().
Loosely based on a patch from Jasper St. Pierre.
|
|
|
|
|
|
|
|
|
| |
Use the libavformat function av_probe_input_format() to probe the
AVInputFormat, instead of letting av_open_input_file() do it
implicitly. We will switch to av_open_input_stream() very soon, which
does not have the probing code.
Loosely based on a patch from Jasper St. Pierre.
|
|
|
|
| |
in some formats, e.g. vorbis, the metadata is stored per-stream.
|
| |
|
|
|
|
|
| |
We already supported "albumartist", but it seems some folks also use
"album artist" (with a space).
|
| |
|
|
|
|
|
| |
The return value of Player_LoadTitle() is allocated with malloc(), and
must be freed by the caller.
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Added macros with better names: GME_BUFFER_FRAMES, GME_BUFFER_SAMPLES
(the former only used to calculate the latter).
|
|
|
|
| |
Move into enums.
|
|
|
|
|
|
|
|
| |
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().
|
| |
|
| |
|
|
|
|
| |
This allows tags in archive files.
|
| |
|
|
|
|
| |
Initialize the ov_callbacks struct at compile time.
|
| |
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| | |
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Supports a number of videogame music formats, more info here:
http://www.fly.net/~ant/libs/audio.html
I wrote this plugin for the latest svn, get it here:
http://code.google.com/p/game-music-emu/source/checkout
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
What's happening is the `ptr' argument to that function is NULL for me
every time. `ptr' is unconditionally dereferenced to generate a log
message, and this is where mpd crashes.
Attached is a simple patch that tests for NULL and omits the log. With
this patch the crash disappeared and mpd went back to working well.
|
| | |
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
src/cue/cue_tag.c
src/decoder/mpcdec_decoder_plugin.c
src/player_thread.c
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
"When playing musepack files with mpd v0.15.8, rg seems to have no effect.
Using sample file below, mpd says 'computing ReplayGain album scale with gain 122.879997, peak 0.549150'.
One thing though, if I build mpd against old libmpcdec-1.2.6, rg works
as expected: 'computing ReplayGain album scale with gain 16.820000,
peak 0.099765'"
|
| |
| |
| |
| |
| |
| | |
"There is a bug in fixed-point musepack (musepack_src_r435) playback.
In floating-point audio is OK but in fixed audio is distorted. I have
made a patch for this"
|
| |
| |
| |
| |
| |
| | |
Removed the decoder_command_finished() call at the end of
mp3_decode(). This is invalid, because decoder_command_finished() has
already been called in mp3_read().
|
| |
| |
| |
| |
| | |
Adds mixrampdb and mixrampdelay commands. Reads MIXRAP_START and
MIXRAMP_END tags from FLAC files and overlaps instead of crossfading.
|
| | |
|
| |
| |
| |
| | |
Pass everything to the GLib logging library. No direct stderr access.
|
| |
| |
| |
| | |
The pointer is invalid if av_open_input_file() fails.
|
| |
| |
| |
| |
| |
| | |
Don't allocate each replay_gain_info object on the heap. Those
objects who held a pointer now store a full replay_gain_info object.
This reduces the number of allocations and heap fragmentation.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Pass the current URI to wavpack_open_wvc().
|
| | |
|