open_output_stream();
stream_audio_encoder->add_mux(stream_mux.get());
quicksync_encoder->set_stream_mux(stream_mux.get());
- x264_encoder->set_mux(stream_mux.get());
+ if (global_flags.x264_video_to_http) {
+ x264_encoder->set_mux(stream_mux.get());
+ }
}
VideoEncoder::~VideoEncoder()
quicksync_encoder->set_stream_mux(stream_mux.get());
}
+void VideoEncoder::change_x264_bitrate(unsigned rate_kbit)
+{
+ x264_encoder->change_bitrate(rate_kbit);
+}
+
void VideoEncoder::add_audio(int64_t pts, std::vector<float> audio)
{
lock_guard<mutex> lock(qs_mu);
}
int time_base = global_flags.stream_coarse_timebase ? COARSE_TIMEBASE : TIMEBASE;
- stream_mux.reset(new Mux(avctx, width, height, video_codec, video_extradata, stream_audio_encoder->get_ctx(), time_base));
+ stream_mux.reset(new Mux(avctx, width, height, video_codec, video_extradata, stream_audio_encoder->get_codec_parameters().get(), time_base));
}
int VideoEncoder::write_packet2_thunk(void *opaque, uint8_t *buf, int buf_size, AVIODataMarkerType type, int64_t time)