11b5bf6229b8713dffde89a777cd5181335136f6 from master; default colour conversions...
[dcpomatic.git] / src / lib / audio_decoder.cc
index f3251f306bf47284a71bc1d53917631e917c827b..f6133947a0e4ad7e6ef57d38cd063102eb682411 100644 (file)
 
 */
 
-#include <iostream>
 #include "audio_decoder.h"
 #include "audio_buffers.h"
 #include "audio_processor.h"
 #include "resampler.h"
 #include "util.h"
+#include <iostream>
 
 #include "i18n.h"
 
@@ -63,7 +63,7 @@ AudioDecoder::get_audio (AudioFrame frame, AudioFrame length, bool accurate)
                
        if (frame < _decoded_audio.frame || end > (_decoded_audio.frame + length * 4)) {
                /* Either we have no decoded data, or what we do have is a long way from what we want: seek */
-               seek (ContentTime::from_frames (frame, _audio_content->audio_frame_rate()), accurate);
+               seek (ContentTime::from_frames (frame, _audio_content->resampled_audio_frame_rate()), accurate);
        }
 
        /* Offset of the data that we want from the start of _decoded_audio.audio
@@ -80,10 +80,10 @@ AudioDecoder::get_audio (AudioFrame frame, AudioFrame length, bool accurate)
         */
        if (accurate) {
                /* Keep stuffing data into _decoded_audio until we have enough data, or the subclass does not want to give us any more */
-               while ((_decoded_audio.frame > frame || (_decoded_audio.frame + _decoded_audio.audio->frames()) < end) && !pass ()) {}
+               while ((_decoded_audio.frame > frame || (_decoded_audio.frame + _decoded_audio.audio->frames()) < end) && !pass (PASS_REASON_AUDIO)) {}
                decoded_offset = frame - _decoded_audio.frame;
        } else {
-               while (_decoded_audio.audio->frames() < length && !pass ()) {}
+               while (_decoded_audio.audio->frames() < length && !pass (PASS_REASON_AUDIO)) {}
                /* Use decoded_offset of 0, as we don't really care what frames we return */
        }
 
@@ -166,7 +166,7 @@ AudioDecoder::audio (shared_ptr<const AudioBuffers> data, ContentTime time)
                _audio_position = time.frames (frame_rate);
        }
 
-       assert (_audio_position.get() >= (_decoded_audio.frame + _decoded_audio.audio->frames()));
+       DCPOMATIC_ASSERT (_audio_position.get() >= (_decoded_audio.frame + _decoded_audio.audio->frames()));
 
        add (data);
 }