Handle multiple audio streams in a single piece of content
[dcpomatic.git] / src / lib / sndfile_content.h
index 75c723518ea61ebf48ed6e06163b2894e71fe53b..f5a2e38b1310a0fb8f4bac0ea7f3e4ebf4933a3a 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2013 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
 #ifndef DCPOMATIC_SNDFILE_CONTENT_H
 #define DCPOMATIC_SNDFILE_CONTENT_H
 
+#include "single_stream_audio_content.h"
 extern "C" {
 #include <libavutil/audioconvert.h>
 }
-#include "single_stream_audio_content.h"
 
 namespace cxml {
        class Node;
@@ -46,8 +46,18 @@ public:
        std::string technical_summary () const;
        std::string information () const;
        void as_xml (xmlpp::Node *) const;
+
+       void take_from_audio_examiner (boost::shared_ptr<AudioExaminer>);
        
        static bool valid_file (boost::filesystem::path);
+
+private:
+       Frame audio_length () const {
+               boost::mutex::scoped_lock lm (_mutex);
+               return _audio_length;
+       }
+       
+       Frame _audio_length;
 };
 
 #endif