#include "test.h"
#include "lib/audio_decoder.h"
#include "lib/single_stream_audio_content.h"
+#include <iostream>
using std::string;
using std::cout;
DCPTime full_length () const {
return DCPTime::from_seconds (float (audio_length()) / audio_stream()->frame_rate ());
}
-
+
Frame audio_length () const {
- return rint (61.2942 * audio_stream()->frame_rate ());
+ return llrint (61.2942 * audio_stream()->frame_rate ());
}
};
{
public:
TestAudioDecoder (shared_ptr<TestAudioContent> content)
- : AudioDecoder (content)
+ : AudioDecoder (content, false)
, _test_audio_content (content)
, _position (0)
{}
- bool pass ()
+ bool pass (PassReason, bool)
{
Frame const N = min (
Frame (2000),
void seek (ContentTime t, bool accurate)
{
AudioDecoder::seek (t, accurate);
- _position = t.frames (_test_audio_content->resampled_audio_frame_rate ());
+ _position = t.frames_round (_test_audio_content->resampled_audio_frame_rate ());
}
private:
content.reset (new TestAudioContent (film));
decoder.reset (new TestAudioDecoder (content));
-
+
/* Simple reads */
check (0, 48000);
check (44, 9123);
Frame const from = content->resampled_audio_frame_rate() * 61;
Frame const length = content->resampled_audio_frame_rate() * 4;
ContentAudio ca = get (from, length);
-
+
for (int i = 0; i < content->audio_stream()->channels(); ++i) {
for (int j = 0; j < ca.audio->frames(); ++j) {
BOOST_REQUIRE_EQUAL (ca.audio->data(i)[j], j + from);