#include "shared/timebase.h"
#include "print_latency.h"
#include "shared/ref_counted_gl_sync.h"
-#include "va_display_with_cleanup.h"
+#include "shared/va_display.h"
#include "v4l_output.h"
#define SURFACE_NUM 16 /* 16 surfaces for source YUV */
class QuickSyncEncoderImpl {
public:
- QuickSyncEncoderImpl(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);
+ QuickSyncEncoderImpl(const std::string &filename, movit::ResourcePool *resource_pool, QSurface *surface, const std::string &va_display, int width, int height, const AVOutputFormat *oformat, X264Encoder *http_encoder, X264Encoder *disk_encoder, DiskSpaceEstimator *disk_space_estimator);
~QuickSyncEncoderImpl();
void add_audio(int64_t pts, std::vector<float> audio);
bool is_zerocopy() const;
std::mutex file_audio_encoder_mutex;
std::unique_ptr<AudioEncoder> file_audio_encoder;
- X264Encoder *x264_encoder; // nullptr if not using x264.
+ X264Encoder *x264_http_encoder; // nullptr if not using x264.
+ X264Encoder *x264_disk_encoder;
std::unique_ptr<V4LOutput> v4l_output; // nullptr if not using V4L2 output.
Mux* stream_mux = nullptr; // To HTTP.