Merge master.
[dcpomatic.git] / src / lib / sndfile_content.h
index 94f46fea34f5650f4fd9f8832ac76027505ae5d7..75c723518ea61ebf48ed6e06163b2894e71fe53b 100644 (file)
 extern "C" {
 #include <libavutil/audioconvert.h>
 }
-#include "audio_content.h"
+#include "single_stream_audio_content.h"
 
 namespace cxml {
        class Node;
 }
 
-class SndfileContent : public AudioContent
+class SndfileContent : public SingleStreamAudioContent
 {
 public:
        SndfileContent (boost::shared_ptr<const Film>, boost::filesystem::path);
-       SndfileContent (boost::shared_ptr<const Film>, boost::shared_ptr<const cxml::Node>, int);
+       SndfileContent (boost::shared_ptr<const Film>, cxml::ConstNodePtr, int);
 
        boost::shared_ptr<SndfileContent> shared_from_this () {
                return boost::dynamic_pointer_cast<SndfileContent> (Content::shared_from_this ());
        }
        
+       DCPTime full_length () const;
+       
        void examine (boost::shared_ptr<Job>);
        std::string summary () const;
        std::string technical_summary () const;
        std::string information () const;
        void as_xml (xmlpp::Node *) const;
-       DCPTime full_length () const;
-
-       /* AudioContent */
-       int audio_channels () const {
-               boost::mutex::scoped_lock lm (_mutex);
-               return _audio_channels;
-       }
-       
-       AudioFrame audio_length () const {
-               boost::mutex::scoped_lock lm (_mutex);
-               return _audio_length;
-       }
-       
-       int content_audio_frame_rate () const {
-               boost::mutex::scoped_lock lm (_mutex);
-               return _audio_frame_rate;
-       }
-
-       int output_audio_frame_rate () const;
-
-       AudioMapping audio_mapping () const {
-               boost::mutex::scoped_lock lm (_mutex);
-               return _audio_mapping;
-       }
-
-       void set_audio_mapping (AudioMapping);
        
        static bool valid_file (boost::filesystem::path);
-
-private:
-       int _audio_channels;
-       AudioFrame _audio_length;
-       int _audio_frame_rate;
-       AudioMapping _audio_mapping;
 };
 
 #endif