Mostly-merge master.
[dcpomatic.git] / src / lib / audio_content.cc
index de743571bf218b7e747b7792b46a057aa0965918..6da5afa0c986a22bd45a52f90f434d9fab0df4bf 100644 (file)
@@ -23,6 +23,7 @@
 #include "job_manager.h"
 #include "film.h"
 #include "exceptions.h"
+#include "config.h"
 
 #include "i18n.h"
 
@@ -42,7 +43,7 @@ int const AudioContentProperty::AUDIO_MAPPING = 205;
 AudioContent::AudioContent (shared_ptr<const Film> f, DCPTime s)
        : Content (f, s)
        , _audio_gain (0)
-       , _audio_delay (0)
+       , _audio_delay (Config::instance()->default_audio_delay ())
 {
 
 }
@@ -50,7 +51,7 @@ AudioContent::AudioContent (shared_ptr<const Film> f, DCPTime s)
 AudioContent::AudioContent (shared_ptr<const Film> f, boost::filesystem::path p)
        : Content (f, p)
        , _audio_gain (0)
-       , _audio_delay (0)
+       , _audio_delay (Config::instance()->default_audio_delay ())
 {
 
 }
@@ -140,35 +141,19 @@ AudioContent::audio_analysis_path () const
                return boost::filesystem::path ();
        }
 
-       return film->audio_analysis_path (dynamic_pointer_cast<const AudioContent> (shared_from_this ()));
+       boost::filesystem::path p = film->audio_analysis_dir ();
+       p /= digest ();
+       return p;
 }
 
 string
 AudioContent::technical_summary () const
 {
-       return String::compose ("audio: channels %1, length %2, raw rate %3, out rate %4", audio_channels(), audio_length(), content_audio_frame_rate(), output_audio_frame_rate());
-}
-
-/** Note: this is not particularly fast, as the FrameRateChange lookup
- *  is not very intelligent.
- *
- *  @param t Some duration to convert.
- *  @param at The time within the DCP to get the active frame rate change from; i.e. a point at which
- *  the `controlling' video content is active.
- */
-AudioContent::Frame
-AudioContent::time_to_content_audio_frames (DCPTime t, DCPTime at) const
-{
-       shared_ptr<const Film> film = _film.lock ();
-       assert (film);
-       
-       /* Consider the case where we're running a 25fps video at 24fps (i.e. slow)
-          Our audio is at 44.1kHz.  We will resample it to 48000 * 25 / 24 and then
-          run it at 48kHz (i.e. slow, to match).
-
-          After 1 second, we'll have run the equivalent of 44.1kHz * 24 / 25 samples
-          in the source.
-       */
-       
-       return rint (t * content_audio_frame_rate() * film->active_frame_rate_change(at).speed_up / TIME_HZ);
+       return String::compose (
+               "audio: channels %1, length %2, raw rate %3, out rate %4",
+               audio_channels(),
+               audio_length().seconds(),
+               content_audio_frame_rate(),
+               output_audio_frame_rate()
+               );
 }