]> git.sesse.net Git - nageru/blobdiff - quicksync_encoder.h
Add a benchmark for a simple audio chain; easier than profiling all of Nageru.
[nageru] / quicksync_encoder.h
index e55fd4dce115f7c6720de791bda963c8e0f89304..16fd3d179cd048a2d6b29e447d3209a673ecebca 100644 (file)
 #define _H264ENCODE_H
 
 #include <epoxy/gl.h>
+#include <stdbool.h>
 #include <stdint.h>
 #include <atomic>
+#include <functional>
 #include <memory>
 #include <string>
 #include <vector>
@@ -41,9 +43,11 @@ extern "C" {
 #include "ref_counted_gl_sync.h"
 
 class AudioEncoder;
+class DiskSpaceEstimator;
 class Mux;
-class QuickSyncEncoderImpl;
 class QSurface;
+class QuickSyncEncoderImpl;
+class RefCountedFrame;
 class X264Encoder;
 
 namespace movit {
@@ -55,7 +59,7 @@ class ResourcePool;
 // .cpp file.
 class QuickSyncEncoder {
 public:
-        QuickSyncEncoder(const std::string &filename, movit::ResourcePool *resource_pool, QSurface *surface, const std::string &va_display, int width, int height, AVOutputFormat *oformat, X264Encoder *x264_encoder);
+        QuickSyncEncoder(const std::string &filename, movit::ResourcePool *resource_pool, QSurface *surface, const std::string &va_display, int width, int height, AVOutputFormat *oformat, X264Encoder *x264_encoder, DiskSpaceEstimator *disk_space_estimator);
         ~QuickSyncEncoder();
 
        void set_stream_mux(Mux *mux);  // Does not take ownership. Must be called unless x264 is used for the stream.