]> git.sesse.net Git - nageru/blobdiff - nageru/video_encoder.h
Fix compilation with FFmpeg 5.0.
[nageru] / nageru / video_encoder.h
index 21595a380c992b7df76c0d3531e0cee72b5b2cfe..3c82c00d609317a6d32344fb0bcf47378b6bdb11 100644 (file)
@@ -20,8 +20,8 @@ extern "C" {
 #include <libavformat/avio.h>
 }
 
-#include "mux.h"
-#include "ref_counted_gl_sync.h"
+#include "shared/mux.h"
+#include "shared/ref_counted_gl_sync.h"
 
 class AudioEncoder;
 class DiskSpaceEstimator;
@@ -51,7 +51,7 @@ public:
        //
        // The semantics of y_tex and cbcr_tex depend on is_zerocopy():
        //
-       //   - If false, the are input parameters, ie., the caller
+       //   - If false, they are input parameters, ie., the caller
        //     allocates textures. (The contents are not read before
        //     end_frame() is called.)
        //   - If true, they are output parameters, ie., VideoEncoder
@@ -78,7 +78,7 @@ private:
        static int write_packet2_thunk(void *opaque, uint8_t *buf, int buf_size, AVIODataMarkerType type, int64_t time);
        int write_packet2(uint8_t *buf, int buf_size, AVIODataMarkerType type, int64_t time);
 
-       AVOutputFormat *oformat;
+       const AVOutputFormat *oformat;
        mutable std::mutex qs_mu, qs_audio_mu;
        std::unique_ptr<QuickSyncEncoder> quicksync_encoder;  // Under <qs_mu> _and_ <qs_audio_mu>.
        movit::ResourcePool *resource_pool;
@@ -93,6 +93,7 @@ private:
        std::unique_ptr<Mux> stream_mux;  // To HTTP.
        std::unique_ptr<AudioEncoder> stream_audio_encoder;
        std::unique_ptr<X264Encoder> x264_encoder;  // nullptr if not using x264.
+       std::unique_ptr<X264Encoder> x264_disk_encoder;  // nullptr if not using x264, or if not having separate disk encodes.
 
        std::string stream_mux_header;
        MuxMetrics stream_mux_metrics;