X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=nageru%2Fquicksync_encoder.h;h=c900540d7016cf025e8e4816ce0c68ebc270a3ad;hb=e2b654d6a8cc8c64142a9a8ef8bcd82e9d9a9289;hp=110d615ed05e846b85aae14ad4422a64166092f2;hpb=9b7d691b4cc5db7dbfc18c82e86c1207fcac4722;p=nageru diff --git a/nageru/quicksync_encoder.h b/nageru/quicksync_encoder.h index 110d615..c900540 100644 --- a/nageru/quicksync_encoder.h +++ b/nageru/quicksync_encoder.h @@ -43,14 +43,14 @@ extern "C" { #include } -#include "ref_counted_gl_sync.h" +#include "shared/ref_counted_gl_sync.h" class DiskSpaceEstimator; class Mux; class QSurface; class QuickSyncEncoderImpl; class RefCountedFrame; -class X264Encoder; +class VideoCodecInterface; namespace movit { class ResourcePool; @@ -63,10 +63,11 @@ class ResourcePool; // This class is _not_ thread-safe, except where mentioned. 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, DiskSpaceEstimator *disk_space_estimator); + QuickSyncEncoder(const std::string &filename, movit::ResourcePool *resource_pool, QSurface *surface, const std::string &va_display, int width, int height, const AVOutputFormat *oformat, VideoCodecInterface *http_encoder, VideoCodecInterface *disk_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. + void set_http_mux(Mux *mux); // Does not take ownership. Must be called unless x264 is used for the stream. + void set_srt_mux(Mux *mux); // Does not take ownership. Must be called if SRT is to be used, unless x264 is used for the stream. void add_audio(int64_t pts, std::vector audio); // Thread-safe. bool is_zerocopy() const; // Thread-safe.