Untested use of Frame for video/audio content lengths.
[dcpomatic.git] / src / lib / sndfile_content.cc
index 1a17976657c42759a10566aaec00559de94e1ba9..363c11b094dae6f0b7de869f32984229d21ad383 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013-2014 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2013-2015 Carl Hetherington <cth@carlh.net>
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -18,7 +18,6 @@
 */
 
 #include <libcxml/cxml.h>
-#include <dcp/raw_convert.h>
 #include "sndfile_content.h"
 #include "sndfile_decoder.h"
 #include "film.h"
@@ -32,7 +31,6 @@
 using std::string;
 using std::cout;
 using boost::shared_ptr;
-using dcp::raw_convert;
 
 SndfileContent::SndfileContent (shared_ptr<const Film> f, boost::filesystem::path p)
        : Content (f, p)
@@ -72,25 +70,6 @@ SndfileContent::technical_summary () const
                + " - sndfile";
 }
 
-string
-SndfileContent::information () const
-{
-       if (_audio_frame_rate == 0) {
-               return "";
-       }
-       
-       SafeStringStream s;
-
-       s << String::compose (
-               _("%1 channels, %2kHz, %3 samples"),
-               audio_channels(),
-               audio_frame_rate() / 1000.0,
-               audio_length().frames (audio_frame_rate ())
-               );
-       
-       return s.str ();
-}
-
 bool
 SndfileContent::valid_file (boost::filesystem::path f)
 {
@@ -113,7 +92,8 @@ DCPTime
 SndfileContent::full_length () const
 {
        shared_ptr<const Film> film = _film.lock ();
-       assert (film);
-       return DCPTime (audio_length(), film->active_frame_rate_change (position ()));
+       DCPOMATIC_ASSERT (film);
+       FrameRateChange const frc = film->active_frame_rate_change (position ());
+       return DCPTime::from_frames (audio_length() / frc.speed_up, film->audio_frame_rate ());
 }