]> git.sesse.net Git - casparcg/blobdiff - core/mixer/write_frame.cpp
2.0. imag
[casparcg] / core / mixer / write_frame.cpp
index 0a63d8fd9b0b823ce3abfb24555658d9845aabe5..9bd533b099c004c6b62ebd5bc45607e63f7ee2b3 100644 (file)
@@ -40,7 +40,7 @@ struct write_frame::implementation
        std::vector<int16_t>                                            audio_data_;\r
        const core::pixel_format_desc                           desc_;\r
        const void*                                                                     tag_;\r
-       core::video_mode::type                                          mode_;\r
+       core::field_mode::type                                          mode_;\r
 \r
        implementation(const void* tag)\r
                : tag_(tag)\r
@@ -51,7 +51,7 @@ struct write_frame::implementation
                : ogl_(&ogl)\r
                , desc_(desc)\r
                , tag_(tag)\r
-               , mode_(core::video_mode::progressive)\r
+               , mode_(core::field_mode::progressive)\r
        {\r
                ogl_->invoke([&]\r
                {\r
@@ -109,7 +109,10 @@ struct write_frame::implementation
                \r
                ogl_->begin_invoke([=]\r
                {                       \r
-                       texture->begin_read(*buffer);\r
+                       buffer->unmap();\r
+                       buffer->bind();\r
+                       texture->begin_read();\r
+                       buffer->unbind();\r
                }, high_priority);\r
        }\r
 \r
@@ -153,8 +156,8 @@ const core::pixel_format_desc& write_frame::get_pixel_format_desc() const{return
 const std::vector<safe_ptr<device_buffer>>& write_frame::get_textures() const{return impl_->textures_;}\r
 void write_frame::commit(size_t plane_index){impl_->commit(plane_index);}\r
 void write_frame::commit(){impl_->commit();}\r
-void write_frame::set_type(const video_mode::type& mode){impl_->mode_ = mode;}\r
-core::video_mode::type write_frame::get_type() const{return impl_->mode_;}\r
+void write_frame::set_type(const field_mode::type& mode){impl_->mode_ = mode;}\r
+core::field_mode::type write_frame::get_type() const{return impl_->mode_;}\r
 \r
 std::wstring write_frame::print() const{return impl_->print();}\r
 void write_frame::accept(core::frame_visitor& visitor){impl_->accept(*this, visitor);}\r