Merge remote branch 'origin/v0.15.x'
This commit is contained in:
commit
5cc3c4f503
2
NEWS
2
NEWS
|
@ -79,6 +79,8 @@ ver 0.15.6 (2009/??/??)
|
||||||
- zzip: require libzzip 0.13
|
- zzip: require libzzip 0.13
|
||||||
* decoders:
|
* decoders:
|
||||||
- ffmpeg: convert metadata
|
- ffmpeg: convert metadata
|
||||||
|
- oggflac: rewind stream after FLAC detection
|
||||||
|
- flac: fixed CUE seeking range check
|
||||||
* output_thread: check again if output is open on PAUSE
|
* output_thread: check again if output is open on PAUSE
|
||||||
* update: delete ignored symlinks from database
|
* update: delete ignored symlinks from database
|
||||||
* database: increased maximum line length to 32 kB
|
* database: increased maximum line length to 32 kB
|
||||||
|
|
|
@ -632,21 +632,15 @@ flac_container_decode(struct decoder* decoder,
|
||||||
FLAC__uint64 seek_sample = t_start +
|
FLAC__uint64 seek_sample = t_start +
|
||||||
(decoder_seek_where(decoder) * data.audio_format.sample_rate);
|
(decoder_seek_where(decoder) * data.audio_format.sample_rate);
|
||||||
|
|
||||||
//if (seek_sample >= t_start && seek_sample <= t_end && data.total_time > 30)
|
if (seek_sample >= t_start && seek_sample <= t_end &&
|
||||||
if (seek_sample >= t_start && seek_sample <= t_end)
|
flac_seek_absolute(flac_dec, (FLAC__uint64)seek_sample)) {
|
||||||
{
|
data.time = (float)(seek_sample - t_start) /
|
||||||
if (flac_seek_absolute(flac_dec, (FLAC__uint64)seek_sample))
|
data.audio_format.sample_rate;
|
||||||
{
|
data.position = 0;
|
||||||
data.time = (float)(seek_sample - t_start) /
|
|
||||||
data.audio_format.sample_rate;
|
|
||||||
data.position = 0;
|
|
||||||
|
|
||||||
decoder_command_finished(decoder);
|
decoder_command_finished(decoder);
|
||||||
}
|
} else
|
||||||
else
|
decoder_seek_error(decoder);
|
||||||
decoder_seek_error(decoder);
|
|
||||||
//decoder_command_finished(decoder);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if (flac_get_state(flac_dec) == flac_decoder_eof)
|
else if (flac_get_state(flac_dec) == flac_decoder_eof)
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -261,6 +261,10 @@ oggflac_tag_dup(const char *file)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* rewind the stream, because ogg_stream_type_detect() has
|
||||||
|
moved it */
|
||||||
|
input_stream_seek(&input_stream, 0, SEEK_SET);
|
||||||
|
|
||||||
flac_data_init(&data, NULL, &input_stream);
|
flac_data_init(&data, NULL, &input_stream);
|
||||||
|
|
||||||
data.tag = tag_new();
|
data.tag = tag_new();
|
||||||
|
@ -292,6 +296,10 @@ oggflac_decode(struct decoder * mpd_decoder, struct input_stream *input_stream)
|
||||||
if (ogg_stream_type_detect(input_stream) != FLAC)
|
if (ogg_stream_type_detect(input_stream) != FLAC)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
/* rewind the stream, because ogg_stream_type_detect() has
|
||||||
|
moved it */
|
||||||
|
input_stream_seek(input_stream, 0, SEEK_SET);
|
||||||
|
|
||||||
flac_data_init(&data, mpd_decoder, input_stream);
|
flac_data_init(&data, mpd_decoder, input_stream);
|
||||||
|
|
||||||
if (!(decoder = full_decoder_init_and_read_metadata(&data, 0))) {
|
if (!(decoder = full_decoder_init_and_read_metadata(&data, 0))) {
|
||||||
|
|
Loading…
Reference in New Issue