| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
Free the string allocated by decoder_get_uri().
|
| |
| |
| |
| | |
This fixes a theoretical crash, which has never occurred in practice.
|
| | |
|
| |
| |
| |
| | |
Fix a memory leak in some code paths.
|
| |
| |
| |
| |
| | |
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.
|
| |
| |
| |
| | |
Reuse the function tag_name_parse_i().
|
| | |
|
| |
| |
| |
| | |
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.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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'"
|