Add test for audio delay, and do it in the player rather than the decoder.
[dcpomatic.git] / src / lib / audio_decoder.cc
index 3964719104956a46e16f734fd8acaadcaa7b9df0..3b97cc16f2b47b2a26eac06338c689d7b90180eb 100644 (file)
@@ -31,45 +31,16 @@ using std::cout;
 using boost::optional;
 using boost::shared_ptr;
 
-AudioDecoder::AudioDecoder (shared_ptr<const Film> f)
+AudioDecoder::AudioDecoder (shared_ptr<const Film> f, shared_ptr<const AudioContent> c)
        : Decoder (f)
-       , _next_audio_frame (0)
+       , _audio_position (0)
 {
-}
-
-#if 0
-void
-AudioDecoder::process_end ()
-{
-       if (_swr_context) {
-
-               shared_ptr<const Film> film = _film.lock ();
-               assert (film);
-               
-               shared_ptr<AudioBuffers> out (new AudioBuffers (film->audio_mapping().dcp_channels(), 256));
-                       
-               while (1) {
-                       int const frames = swr_convert (_swr_context, (uint8_t **) out->data(), 256, 0, 0);
-
-                       if (frames < 0) {
-                               throw EncodeError (_("could not run sample-rate converter"));
-                       }
-
-                       if (frames == 0) {
-                               break;
-                       }
-
-                       out->set_frames (frames);
-                       _writer->write (out);
-               }
 
-       }
 }
-#endif
 
 void
 AudioDecoder::audio (shared_ptr<const AudioBuffers> data, AudioContent::Frame frame)
 {
        Audio (data, frame);
-       _next_audio_frame = frame + data->frames ();
+       _audio_position = frame + data->frames ();
 }