#include <libavformat/avio.h>
}
+#include "mux.h"
#include "ref_counted_gl_sync.h"
class AudioEncoder;
int write_packet2(uint8_t *buf, int buf_size, AVIODataMarkerType type, int64_t time);
AVOutputFormat *oformat;
- mutable std::mutex qs_mu;
- std::unique_ptr<QuickSyncEncoder> quicksync_encoder; // Under <qs_mu>.
+ 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;
QSurface *surface;
std::string va_display;
std::unique_ptr<X264Encoder> x264_encoder; // nullptr if not using x264.
std::string stream_mux_header;
+ MuxMetrics stream_mux_metrics;
std::atomic<int> quicksync_encoders_in_shutdown{0};
std::atomic<int> overriding_bitrate{0};