class QSurface;
class QuickSyncEncoderImpl;
class RefCountedFrame;
-class X264Encoder;
+class VideoCodecInterface;
namespace movit {
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, const AVOutputFormat *oformat, X264Encoder *http_encoder, X264Encoder *disk_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<float> audio); // Thread-safe.
bool is_zerocopy() const; // Thread-safe.