decoder/flac: use stream_info instead of audio_format
Use the sample rate stored in the stream_info struct instead of the audio_format struct.
This commit is contained in:
parent
3973aeecd2
commit
08b139f37c
@ -415,7 +415,7 @@ flac_decoder_initialize(struct flac_data *data, FLAC__StreamDecoder *sd,
|
|||||||
decoder_initialized(data->decoder, &data->audio_format,
|
decoder_initialized(data->decoder, &data->audio_format,
|
||||||
seekable,
|
seekable,
|
||||||
(float)duration /
|
(float)duration /
|
||||||
(float)data->audio_format.sample_rate);
|
(float)data->stream_info.sample_rate);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -440,7 +440,7 @@ flac_decoder_loop(struct flac_data *data, FLAC__StreamDecoder *flac_dec,
|
|||||||
if (cmd == DECODE_COMMAND_SEEK) {
|
if (cmd == DECODE_COMMAND_SEEK) {
|
||||||
FLAC__uint64 seek_sample = t_start +
|
FLAC__uint64 seek_sample = t_start +
|
||||||
decoder_seek_where(decoder) *
|
decoder_seek_where(decoder) *
|
||||||
data->audio_format.sample_rate;
|
data->stream_info.sample_rate;
|
||||||
if (seek_sample >= t_start &&
|
if (seek_sample >= t_start &&
|
||||||
(t_end == 0 || seek_sample <= t_end) &&
|
(t_end == 0 || seek_sample <= t_end) &&
|
||||||
FLAC__stream_decoder_seek_absolute(flac_dec, seek_sample)) {
|
FLAC__stream_decoder_seek_absolute(flac_dec, seek_sample)) {
|
||||||
|
@ -318,7 +318,7 @@ oggflac_decode(struct decoder * mpd_decoder, struct input_stream *input_stream)
|
|||||||
decoder_initialized(mpd_decoder, &data.audio_format,
|
decoder_initialized(mpd_decoder, &data.audio_format,
|
||||||
input_stream->seekable,
|
input_stream->seekable,
|
||||||
(float)data.stream_info.total_samples /
|
(float)data.stream_info.total_samples /
|
||||||
(float)data.audio_format.sample_rate);
|
(float)data.stream_info.sample_rate);
|
||||||
|
|
||||||
while (true) {
|
while (true) {
|
||||||
OggFLAC__seekable_stream_decoder_process_single(decoder);
|
OggFLAC__seekable_stream_decoder_process_single(decoder);
|
||||||
@ -328,7 +328,7 @@ oggflac_decode(struct decoder * mpd_decoder, struct input_stream *input_stream)
|
|||||||
}
|
}
|
||||||
if (decoder_get_command(mpd_decoder) == DECODE_COMMAND_SEEK) {
|
if (decoder_get_command(mpd_decoder) == DECODE_COMMAND_SEEK) {
|
||||||
FLAC__uint64 seek_sample = decoder_seek_where(mpd_decoder) *
|
FLAC__uint64 seek_sample = decoder_seek_where(mpd_decoder) *
|
||||||
data.audio_format.sample_rate + 0.5;
|
data.stream_info.sample_rate;
|
||||||
if (OggFLAC__seekable_stream_decoder_seek_absolute
|
if (OggFLAC__seekable_stream_decoder_seek_absolute
|
||||||
(decoder, seek_sample)) {
|
(decoder, seek_sample)) {
|
||||||
data.next_frame = seek_sample;
|
data.next_frame = seek_sample;
|
||||||
|
Loading…
Reference in New Issue
Block a user