Fix fill_2d not doing what it is specified to do.
[dcpomatic.git] / src / lib / ffmpeg_content.cc
index 0af53d8830a52ab8ca8518b0bae5591be12c6127..e09e710417755a2701eeb53e296c5c8323514505 100644 (file)
@@ -34,13 +34,13 @@ extern "C" {
 #include "log.h"
 #include "exceptions.h"
 #include "frame_rate_change.h"
+#include "safe_stringstream.h"
 
 #include "i18n.h"
 
 #define LOG_GENERAL(...) film->log()->log (String::compose (__VA_ARGS__), Log::TYPE_GENERAL);
 
 using std::string;
-using std::stringstream;
 using std::vector;
 using std::list;
 using std::cout;
@@ -163,11 +163,11 @@ FFmpegContent::as_xml (xmlpp::Node* node) const
 }
 
 void
-FFmpegContent::examine (shared_ptr<Job> job)
+FFmpegContent::examine (shared_ptr<Job> job, bool calculate_digest)
 {
        job->set_progress_unknown ();
 
-       Content::examine (job);
+       Content::examine (job, calculate_digest);
 
        shared_ptr<FFmpegExaminer> examiner (new FFmpegExaminer (shared_from_this ()));
        take_from_video_examiner (examiner);
@@ -235,7 +235,7 @@ FFmpegContent::information () const
                return "";
        }
        
-       stringstream s;
+       SafeStringStream s;
        
        s << String::compose (_("%1 frames; %2 frames per second"), video_length_after_3d_combine().frames (video_frame_rate()), video_frame_rate()) << "\n";
        s << VideoContent::information ();
@@ -352,7 +352,7 @@ FFmpegContent::set_audio_mapping (AudioMapping m)
 string
 FFmpegContent::identifier () const
 {
-       stringstream s;
+       SafeStringStream s;
 
        s << VideoContent::identifier();
 
@@ -382,7 +382,7 @@ FFmpegContent::audio_analysis_path () const
        */
 
        boost::filesystem::path p = film->audio_analysis_dir ();
-       string name = digest ();
+       string name = digest().get_value_or ("X");
        if (audio_stream ()) {
                name += "_" + audio_stream()->identifier ();
        }