| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This function replaces the replay_gain_info parameter for
decoder_data(). This allows the decoder to announce replay gain
changes, instead of having to pass the same object over and over.
|
|
|
|
|
|
|
|
| |
Major API redesign: don't let the caller allocate the input_stream
object. Let each input plugin allocate its own (derived/extended)
input_stream pointer. The "data" attribute can now be removed, and
all input plugins simply cast the input_stream pointer to their own
structure (with an "struct input_stream base" as the first attribute).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch changes the following decoder plugins to implement
stream_tag() instead of tag_dup():
faad, ffmpeg, mad, modplug, mp4ff, mpcdec, oggflac
This simplifies their code, because they do not need to take care of
opening/closing the stream.
|
|
|
|
|
| |
This is like tag_dup(), but works with an input_stream object instead
of a file path.
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Makefile.am
NEWS
configure.ac
src/input/curl_input_plugin.c
src/input_stream.c
|
| |
| |
| |
| |
| | |
Support deprecated MIME types such as "audio/x-ogg". Support new
types such as "audio/flac".
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
src/decoder_api.c
|
| |
| |
| |
| |
| | |
First multiply the floating point return value of
decoder_seek_where(), then cast to integer.
|
| |
| |
| |
| |
| |
| | |
Remove the data_time parameter from decoder_data(). This patch
eliminates the timestamp counting in most decoder plugins, because the
MPD core will do it automatically by default.
|
| | |
|
| | |
|
| |
| |
| |
| | |
Removed local variable "sample_rate".
|
|\|
| |
| |
| |
| | |
Conflicts:
src/decoder/ffmpeg_plugin.c
|
| |
| |
| |
| | |
Use the signed C99 type int8_t instead.
|
| |
| |
| |
| |
| |
| | |
The plugin code tried to force libavcodec to supply stereo samples.
That however has never actually worked. By removing this code, we are
able to play surround files for the first time.
|
| |
| |
| |
| |
| |
| | |
This patch prepares support for floating point samples (and probably
other formats). It changes the meaning of the "bits" attribute from a
bit count to a symbolic value.
|
| |
| |
| |
| |
| | |
This fixes a regression due to a typo caused by "decoder: use
audio_format_init_checked()".
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
|
| |
| |
| |
| |
| |
| | |
Removed the "vtrack" local variable (which triggered a gcc warning
because it was after the newly introduced NULL check), and run
strtol() on the original parameter.
|
| |
| |
| |
| | |
The function flac_vtrack_tnum() was missing a strrchr()==NULL check.
|
| |
| |
| |
| |
| |
| | |
On some platforms, libavcodec wants the output buffer aligned to 16
bytes (because it uses SSE/Altivec internally). It will segfault when
you don't obey this rule.
|
| |
| |
| |
| |
| | |
Pass the audiofile_setup_sample_format() result to
audio_format_init_checked().
|
| | |
|
| |
| |
| |
| |
| | |
Don't maintain the current time stamp in a floating point variable,
because this is subject to rounding errors.
|
| |
| |
| |
| | |
More exact total time.
|
| |
| |
| |
| |
| | |
Negative return values are not documented here, but since the function
prototype is signed, let's be sure.
|
| |
| |
| |
| |
| | |
Don't maintain the current time stamp in a floating point variable,
because this is subject to rounding errors.
|
| |
| |
| |
| | |
The new option "sample_rate" sets the sample rate for libmikmod.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
These functions are trivial, we don't need them separate.
|
| |
| |
| |
| | |
Don't allocate this object, put it on the stack.
|
| |
| |
| |
| |
| |
| | |
Let the audio_check library verify the audio format in all (relevant,
i.e. non-hardcoded) plugins.
|
| |
| |
| |
| |
| | |
Internally, use only the integer time. When needed, convert it to a
floating point seconds value.
|
| |
| |
| |
| | |
Temporary editor files.
|
| |
| |
| |
| |
| |
| | |
After we've been hit by Large File Support problems several times in
the past week (which only occur on 32 bit platforms, which I don't
have), this is yet another attempt to fix the issue.
|
| | |
|
| |
| |
| |
| |
| | |
Remove the OPEN_2CH_MAX option. MPD's support for surround sound is
still clunky, but we're working on it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MPD has been supporting 32 bit samples since version 0.15. This patch
changes one check, and removes the 32->24 conversion code.
Note that WavPack floating point samples have 32 bits, and MPD doesn't
have a special check for floating point - therefore, this WavPack
plugin still returns 24 bit integer samples as before (until we have
float support in the MPD core).
|
| |
| |
| |
| |
| |
| |
| | |
Call decoder_initialize() before entering the loop. We don't need to
call ov_read() before ov_info(). When the stream number changes,
check if the audio format is still the same.
|
| | |
|
| |
| |
| |
| | |
Use the struct name instead.
|
| | |
|
| |
| |
| |
| | |
This is done by audio_format_init().
|
| |
| |
| |
| |
| | |
Return FLAC__STREAM_DECODER_SEEK_STATUS_UNSUPPORTED if this input
stream does not support seeking.
|
| |
| |
| |
| |
| |
| | |
Remove the audio_format attribute, add "frame_size" instead. The
audio_format initialization and check is moved both to
flac_data_get_audio_format().
|
| |
| |
| |
| |
| | |
Use the sample rate stored in the stream_info struct instead of the
audio_format struct.
|
| |
| |
| |
| |
| |
| | |
When calculating the properties of the frame, use sample_rate and
other information from the frame header instead of the stored
audio_format object.
|