Mostly-merge master.
[dcpomatic.git] / src / lib / types.h
index cc4cd9296b077edc53f04e11e1a0cc3d3871d668..4e1f59ca87fb122baea9acad6c63b71f5e83061d 100644 (file)
@@ -24,6 +24,7 @@
 #include <stdint.h>
 #include <boost/shared_ptr.hpp>
 #include <dcp/util.h>
+#include "dcpomatic_time.h"
 
 class Content;
 class VideoContent;
@@ -38,39 +39,33 @@ class AudioBuffers;
  */
 #define SERVER_LINK_VERSION 1
 
-typedef int64_t DCPTime;
-#define TIME_MAX INT64_MAX
-#define TIME_HZ         ((DCPTime) 96000)
-typedef int64_t ContentTime;
-typedef int64_t AudioFrame;
-typedef int    VideoFrame;
 typedef std::vector<boost::shared_ptr<Content> > ContentList;
 typedef std::vector<boost::shared_ptr<VideoContent> > VideoContentList;
 typedef std::vector<boost::shared_ptr<AudioContent> > AudioContentList;
 typedef std::vector<boost::shared_ptr<SubtitleContent> > SubtitleContentList;
 typedef std::vector<boost::shared_ptr<FFmpegContent> > FFmpegContentList;
 
-template<class T>
 struct TimedAudioBuffers
 {
        TimedAudioBuffers ()
                : time (0)
        {}
        
-       TimedAudioBuffers (boost::shared_ptr<AudioBuffers> a, T t)
+       TimedAudioBuffers (boost::shared_ptr<AudioBuffers> a, DCPTime t)
                : audio (a)
                , time (t)
        {}
        
        boost::shared_ptr<AudioBuffers> audio;
-       T time;
+       DCPTime time;
 };
 
 enum VideoFrameType
 {
        VIDEO_FRAME_TYPE_2D,
        VIDEO_FRAME_TYPE_3D_LEFT_RIGHT,
-       VIDEO_FRAME_TYPE_3D_TOP_BOTTOM
+       VIDEO_FRAME_TYPE_3D_TOP_BOTTOM,
+       VIDEO_FRAME_TYPE_3D_ALTERNATE
 };
 
 enum Eyes