| Commit message (Collapse) | Author | Files | Lines |
|
Don't calculate the song duration when the sample rate is 0 (division
by zero crash).
|
|
|
|
avcodec_decode_audio3() has been added in libavformat 52.25.0, and the
predecessor avcodec_decode_audio2() has been deprecated.
|
|
|
|
fixes build with lavc 53.
|
|
For ffmpeg < 0.5. Copied from libavutil 0.5.
|
|
Fix clang warning.
|
|
Remove trailing whitespace found by this command:
find -name '*.[ch]' | xargs grep "[[:space:]]$"
|
|
this needs to be done for the end of songs to be detected.
|
|
Rename the "version" struct, because it seems to be a reserved name on
Solaris:
"src/decoder/mad_decoder_plugin.c", line 550: (enum) tag redeclared: version
cc: acomp failed for src/decoder/mad_decoder_plugin.c
|
|
Same as ".m4a".
|
|
.. instead of av_get_bits_per_sample_format(). The SampleFormat enum
value is authoritative.
|
|
|
|
|
|
|
|
Replaced all occurrences of g_error() with MPD_ERROR() located in a new header
file 'mpd_error.h'. This macro uses g_critical() to print the error message
and then exits gracefully in contrast to g_error() which would internally call
abort() to produce a core dump.
The macro name is distinctive and allows to find all places with dubious error
handling. The long-term goal is to get rid of MPD_ERROR() altogether. To
facilitate the eventual removal of this macro it was added in a new header
file rather than to an existing header file.
This fixes #2995 and #3007.
|
|
According to the mantis bug report 2847, there are several possible
variations of the "album artist" tag:
- "album artist"
- "album_artist"
- "albumartist"
This patch adds support for the latter two.
|
|
Be consistent with the rest of MPD, and don't use the non-portable
header "malloc.h".
|
|
|
|
|
|
RVA2 tags only store the "gain" value, there is no "peak" attribute.
|
|
|
|
In libwildmidi 0.2.3, the function WildMidi_SampledSeek() was removed,
without changing the SO name. This patch adds an autoconf check for
that function. Fall back to WildMidi_FastSeek() if
WildMidi_SampledSeek() is not available anymore.
|
|
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.
|
|
|
|
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.
|
|
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.
|
|
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.
|