]> git.sesse.net Git - nageru/blobdiff - mixer.h
Begin the 1.3.0 NEWS entry.
[nageru] / mixer.h
diff --git a/mixer.h b/mixer.h
index 6f04c67844113d53010fa3ca93a451c0f6fcb821..dab567f1e80728f668eeb5a26fc8467edcff9ed1 100644 (file)
--- a/mixer.h
+++ b/mixer.h
@@ -24,7 +24,7 @@
 #include "bmusb/bmusb.h"
 #include "alsa_output.h"
 #include "ebu_r128_proc.h"
-#include "h264encode.h"
+#include "video_encoder.h"
 #include "httpd.h"
 #include "pbo_frame_allocator.h"
 #include "ref_counted_frame.h"
@@ -37,7 +37,7 @@
 #include "input_state.h"
 #include "correlation_measurer.h"
 
-class H264Encoder;
+class QuickSyncEncoder;
 class QSurface;
 namespace movit {
 class Effect;
@@ -356,7 +356,7 @@ private:
        void place_rectangle(movit::Effect *resample_effect, movit::Effect *padding_effect, float x0, float y0, float x1, float y1);
        void thread_func();
        void schedule_audio_resampling_tasks(unsigned dropped_frames, int num_samples_per_frame, int length_per_frame);
-       void render_one_frame();
+       void render_one_frame(int64_t duration);
        void send_audio_level_callback();
        void audio_thread_func();
        void process_audio_one_frame(int64_t frame_pts_int, int num_samples);
@@ -376,7 +376,7 @@ private:
        GLuint cbcr_program_num;  // Owned by <resource_pool>.
        GLuint cbcr_vbo;  // Holds position and texcoord data.
        GLuint cbcr_position_attribute_index, cbcr_texcoord_attribute_index;
-       std::unique_ptr<H264Encoder> h264_encoder;
+       std::unique_ptr<VideoEncoder> video_encoder;
 
        // Effects part of <display_chain>. Owned by <display_chain>.
        movit::FlatInput *display_input;
@@ -397,7 +397,7 @@ private:
                        int64_t length;  // In TIMEBASE units.
                        bool interlaced;
                        unsigned field;  // Which field (0 or 1) of the frame to use. Always 0 for progressive.
-                       RefCountedGLsync ready_fence;  // Whether frame is ready for rendering.
+                       std::function<void()> upload_func;  // Needs to be called to actually upload the texture to OpenGL.
                        unsigned dropped_frames = 0;  // Number of dropped frames before this one.
                };
                std::queue<NewFrame> new_frames;