]> git.sesse.net Git - nageru/blobdiff - video_encoder.cpp
Release Nageru 1.3.3.
[nageru] / video_encoder.cpp
index 4b62e9b29cf37be5c565f938f99a6f3ad28e6849..0f3785f198279bcd1580c7e66d98738e1f295add 100644 (file)
@@ -55,7 +55,9 @@ VideoEncoder::VideoEncoder(ResourcePool *resource_pool, QSurface *surface, const
        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()
@@ -94,6 +96,11 @@ void VideoEncoder::do_cut(int frame)
        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);
@@ -139,7 +146,7 @@ void VideoEncoder::open_output_stream()
        }
 
        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)