Cleanup: whitespace.
[dcpomatic.git] / src / lib / audio_decoder.cc
index 664a56c2a08a08dcaaba00632268eca9c08dc39c..ad337476239246f73dc96238b8ed1653ccf49795 100644 (file)
@@ -52,23 +52,22 @@ AudioDecoder::AudioDecoder (Decoder* parent, shared_ptr<const AudioContent> cont
 
 /** @param time_already_delayed true if the delay should not be added to time */
 void
-AudioDecoder::emit (shared_ptr<const Film> film, AudioStreamPtr stream, shared_ptr<const AudioBuffers> data, ContentTime time, bool time_already_delayed)
+AudioDecoder::emit(shared_ptr<const Film> film, AudioStreamPtr stream, shared_ptr<const AudioBuffers> data, ContentTime time, bool flushing)
 {
        if (ignore ()) {
                return;
        }
 
-       /* Amount of error we will tolerate on audio timestamps; see comment below.
-        * We'll use 1 24fps video frame at 48kHz as this seems to be roughly how
-        * ffplay does it.
-        */
-       static Frame const slack_frames = 48000 / 24;
-
        int const resampled_rate = _content->resampled_frame_rate(film);
-       if (!time_already_delayed) {
+       if (!flushing) {
                time += ContentTime::from_seconds (_content->delay() / 1000.0);
        }
 
+       /* Amount of error we will tolerate on audio timestamps; see comment below.
+        * We'll use 1 24fps video frame as this seems to be roughly how ffplay does it.
+        */
+       Frame const slack_frames = resampled_rate / 24;
+
        /* first_since_seek is set to true if this is the first data we have
           received since initialisation or seek.  We'll set the position based
           on the ContentTime that was given.  After this first time we just
@@ -120,7 +119,7 @@ AudioDecoder::emit (shared_ptr<const Film> film, AudioStreamPtr stream, shared_p
                }
        }
 
-       if (resampler) {
+       if (resampler && !flushing) {
                auto ro = resampler->run (data);
                if (ro->frames() == 0) {
                        return;