]> git.sesse.net Git - casparcg/blobdiff - core/mixer/read_frame.h
2.0. audio: Audio pipeline is now in 32 bit.
[casparcg] / core / mixer / read_frame.h
index f8393e8c20a5587ddc5dc671e8a00b3e614a6d8d..a3afc36cd14b22d255008618067635d818aa2b17 100644 (file)
@@ -23,8 +23,8 @@
 \r
 #include <boost/noncopyable.hpp>\r
 #include <boost/range/iterator_range.hpp>\r
-#include <boost/thread/future.hpp>\r
 \r
+#include <cstdint>\r
 #include <memory>\r
 #include <vector>\r
 \r
@@ -35,26 +35,15 @@ class ogl_device;
 \r
 class read_frame : boost::noncopyable\r
 {\r
-       read_frame(){}\r
 public:\r
-       read_frame(safe_ptr<host_buffer>&& image_data, std::vector<int16_t>&& audio_data, int frame_number);\r
+       read_frame();\r
+       read_frame(ogl_device& ogl, size_t size, safe_ptr<host_buffer>&& image_data, std::vector<int32_t>&& audio_data);\r
 \r
-       virtual const boost::iterator_range<const uint8_t*> image_data() const;\r
-       virtual const boost::iterator_range<const int16_t*> audio_data() const;\r
+       virtual const boost::iterator_range<const uint8_t*> image_data();\r
+       virtual const boost::iterator_range<const int32_t*> audio_data();\r
+\r
+       virtual size_t image_size() const;\r
                \r
-       virtual int number() const;\r
-\r
-       static safe_ptr<const read_frame> empty()\r
-       {\r
-               struct empty : public read_frame\r
-               {                       \r
-                       virtual const boost::iterator_range<const uint8_t*> image_data() const {return boost::iterator_range<const uint8_t*>();}\r
-                       virtual const boost::iterator_range<const int16_t*> audio_data() const {return boost::iterator_range<const int16_t*>();}\r
-                       virtual int number() const{return -1;}\r
-               };\r
-               static safe_ptr<const empty> frame;\r
-               return frame;\r
-       }\r
 private:\r
        struct implementation;\r
        std::shared_ptr<implementation> impl_;\r