#ifndef _AUDIO_ENCODER_H
#define _AUDIO_ENCODER_H 1
+#include <assert.h>
#include <stddef.h>
#include <stdint.h>
#include <string>
~AudioEncoder();
void add_mux(Mux *mux) { // Does not take ownership.
+ assert(mux != nullptr);
muxes.push_back(mux);
}
void encode_audio(const std::vector<float> &audio, int64_t audio_pts);
if (!global_flags.x264_video_to_http &&
!global_flags.av1_video_to_http) {
http_mux->add_packet(pkt, task.pts + global_delay(), task.dts + global_delay());
- srt_mux->add_packet(pkt, task.pts + global_delay(), task.dts + global_delay());
+ if (srt_mux != nullptr) {
+ srt_mux->add_packet(pkt, task.pts + global_delay(), task.dts + global_delay());
+ }
}
}
}
open_output_streams();
stream_audio_encoder->add_mux(http_mux.get());
- stream_audio_encoder->add_mux(srt_mux.get());
+ if (srt_mux != nullptr) {
+ stream_audio_encoder->add_mux(srt_mux.get());
+ }
quicksync_encoder->set_http_mux(http_mux.get());
- quicksync_encoder->set_srt_mux(srt_mux.get());
+ if (srt_mux != nullptr) {
+ quicksync_encoder->set_srt_mux(srt_mux.get());
+ }
if (global_flags.x264_video_to_http) {
x264_encoder->add_mux(http_mux.get());
- x264_encoder->add_mux(srt_mux.get());
+ if (srt_mux != nullptr) {
+ x264_encoder->add_mux(srt_mux.get());
+ }
}
#ifdef HAVE_AV1
if (global_flags.av1_video_to_http) {
av1_encoder->add_mux(http_mux.get());
- av1_encoder->add_mux(srt_mux.get());
+ if (srt_mux != nullptr) {
+ av1_encoder->add_mux(srt_mux.get());
+ }
}
#endif
}