| Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
|
|
Don't update a float timestamp, this will make imprecisions add up
after a while. We already have the number of the current frame, let's
just calculate the float timestamp from that for every decoder_data()
command. For this, we need to add the attribute "first_frame", for
CUE sheet songs.
|
|
Removed the "bit_rate" attribute from the flac_data struct. Pass the
number of bytes since the last call to flac_common_write(), and let
it calculate the bit rate.
|
|
We don't want to work with floating point values if possible. Get the
integer number of frames from the FLAC__StreamMetadata_StreamInfo
object, and convert it into a float duration on demand. This patch
adds a check if the STREAMINFO packet has been received yet.
|
|
Wrapper for FLAC__stream_decoder_process_until_end_of_metadata(),
decoder_initialized().
|
|
Convenience wrapper for FLAC__stream_decoder_new() and
FLAC__stream_decoder_set_metadata_respond().
|
|
Free the pointer right after its last use, i.e. after the
FLAC__stream_decoder_init_file() call.
|
|
Remove the wrapper flac_init().
|
|
Use the type and function names of the libFLAC 1.1.3 API. Map the new
API to the old one with macros.
|
|
Don't even try to call it with an old libFLAC API.
|
|
|
|
Allow those plugins to open large files on 32 bit platforms.
|
|
The decoder loop of flac_decode_internal(), flac_container_decode()
and flac_filedecode_internal() is merged into this one function. This
unifies the code, and uses the frame number to identify the end of a
CUE sub song.
|
|
We need this for more exact end-of-subsong detection for CUE files.
|
|
If flac_container_decode() gets a seek destination which is out of
range, it ignores the SEEK command (never finishes it). This leads to
MPD lockup, because the player thread waits for completion.
|
|
After the decoder loop, "flac_dec" is always set.
|
|
The oggflac plugin has been completely broken for quite a while and
nobody has noticed - maybe we should remove it?
|
|
|
|
|