decoder/flac: handle unknown duration correctly

If the duration is unknown, pass SignedSongTime::Negative(), as
documented for decoder_initialized().
This commit is contained in:
Max Kellermann
2016-07-08 22:33:49 +02:00
parent 7f36923eb4
commit 4a7042e847
3 changed files with 6 additions and 6 deletions

View File

@@ -145,9 +145,10 @@ flac_decoder_initialize(struct flac_data *data, FLAC__StreamDecoder *sd,
if (data->initialized) {
/* done */
const auto duration2 =
SignedSongTime::FromScale<uint64_t>(data->total_frames,
data->audio_format.sample_rate);
const auto duration2 = data->total_frames > 0
? SignedSongTime::FromScale<uint64_t>(data->total_frames,
data->audio_format.sample_rate)
: SignedSongTime::Negative();
decoder_initialized(data->decoder, data->audio_format,
data->input_stream.IsSeekable(),