MultipleOutputs: use SignedSongTime for elapsed_time
This commit is contained in:
parent
75a89c5983
commit
147d301f10
@ -674,8 +674,8 @@ Player::ProcessCommand()
|
||||
pc.Lock();
|
||||
}
|
||||
|
||||
pc.elapsed_time = pc.outputs.GetElapsedTime() >= 0
|
||||
? SongTime::FromS(pc.outputs.GetElapsedTime())
|
||||
pc.elapsed_time = !pc.outputs.GetElapsedTime().IsNegative()
|
||||
? SongTime(pc.outputs.GetElapsedTime())
|
||||
: elapsed_time;
|
||||
|
||||
pc.CommandFinished();
|
||||
|
@ -39,7 +39,7 @@ MultipleOutputs::MultipleOutputs(MixerListener &_mixer_listener)
|
||||
:mixer_listener(_mixer_listener),
|
||||
input_audio_format(AudioFormat::Undefined()),
|
||||
buffer(nullptr), pipe(nullptr),
|
||||
elapsed_time(-1)
|
||||
elapsed_time(SignedSongTime::Negative())
|
||||
{
|
||||
}
|
||||
|
||||
@ -344,7 +344,7 @@ MultipleOutputs::Check()
|
||||
if (chunk->length > 0 && chunk->times >= 0.0)
|
||||
/* only update elapsed_time if the chunk
|
||||
provides a defined value */
|
||||
elapsed_time = chunk->times;
|
||||
elapsed_time = SignedSongTime::FromS(chunk->times);
|
||||
|
||||
is_tail = chunk->next == nullptr;
|
||||
if (is_tail)
|
||||
@ -428,7 +428,7 @@ MultipleOutputs::Cancel()
|
||||
|
||||
/* invalidate elapsed_time */
|
||||
|
||||
elapsed_time = -1.0;
|
||||
elapsed_time = SignedSongTime::Negative();
|
||||
}
|
||||
|
||||
void
|
||||
@ -449,7 +449,7 @@ MultipleOutputs::Close()
|
||||
|
||||
input_audio_format.Clear();
|
||||
|
||||
elapsed_time = -1.0;
|
||||
elapsed_time = SignedSongTime::Negative();
|
||||
}
|
||||
|
||||
void
|
||||
@ -470,7 +470,7 @@ MultipleOutputs::Release()
|
||||
|
||||
input_audio_format.Clear();
|
||||
|
||||
elapsed_time = -1.0;
|
||||
elapsed_time = SignedSongTime::Negative();
|
||||
}
|
||||
|
||||
void
|
||||
@ -478,5 +478,5 @@ MultipleOutputs::SongBorder()
|
||||
{
|
||||
/* clear the elapsed_time pointer at the beginning of a new
|
||||
song */
|
||||
elapsed_time = 0.0;
|
||||
elapsed_time = SignedSongTime::zero();
|
||||
}
|
||||
|
@ -28,6 +28,7 @@
|
||||
|
||||
#include "AudioFormat.hxx"
|
||||
#include "ReplayGainInfo.hxx"
|
||||
#include "Chrono.hxx"
|
||||
#include "Compiler.h"
|
||||
|
||||
#include <vector>
|
||||
@ -66,7 +67,7 @@ class MultipleOutputs {
|
||||
* The "elapsed_time" stamp of the most recently finished
|
||||
* chunk.
|
||||
*/
|
||||
float elapsed_time;
|
||||
SignedSongTime elapsed_time;
|
||||
|
||||
public:
|
||||
/**
|
||||
@ -194,7 +195,7 @@ public:
|
||||
* finished yet.
|
||||
*/
|
||||
gcc_pure
|
||||
float GetElapsedTime() const {
|
||||
SignedSongTime GetElapsedTime() const {
|
||||
return elapsed_time;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user