From b2313d869262960aa3bcaaf3f45f2a3b90d1fc18 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Mon, 24 Dec 2018 23:12:39 +0100 Subject: [PATCH] Remove the redundant with_audio parameter from the Mux constructor. --- futatabi/video_stream.cpp | 3 +-- nageru/kaeru.cpp | 2 +- nageru/quicksync_encoder.cpp | 2 +- nageru/video_encoder.cpp | 3 +-- shared/mux.cpp | 5 ++--- shared/mux.h | 8 +++----- 6 files changed, 9 insertions(+), 14 deletions(-) diff --git a/futatabi/video_stream.cpp b/futatabi/video_stream.cpp index 27e2c4a..dcf44f8 100644 --- a/futatabi/video_stream.cpp +++ b/futatabi/video_stream.cpp @@ -264,8 +264,7 @@ void VideoStream::start() size_t width = global_flags.width, height = global_flags.height; // Doesn't matter for MJPEG. mux.reset(new Mux(avctx, width, height, Mux::CODEC_MJPEG, /*video_extradata=*/"", /*audio_codec_parameters=*/nullptr, - AVCOL_SPC_BT709, Mux::WITHOUT_AUDIO, - COARSE_TIMEBASE, /*write_callback=*/nullptr, Mux::WRITE_FOREGROUND, {})); + AVCOL_SPC_BT709, COARSE_TIMEBASE, /*write_callback=*/nullptr, Mux::WRITE_FOREGROUND, {})); encode_thread = thread(&VideoStream::encode_thread_func, this); } diff --git a/nageru/kaeru.cpp b/nageru/kaeru.cpp index 5cd6d29..9d97383 100644 --- a/nageru/kaeru.cpp +++ b/nageru/kaeru.cpp @@ -73,7 +73,7 @@ unique_ptr create_mux(HTTPD *httpd, AVOutputFormat *oformat, X264Encoder *x unique_ptr mux; mux.reset(new Mux(avctx, global_flags.width, global_flags.height, Mux::CODEC_H264, video_extradata, audio_encoder->get_codec_parameters().get(), - get_color_space(global_flags.ycbcr_rec709_coefficients), Mux::WITH_AUDIO, COARSE_TIMEBASE, + get_color_space(global_flags.ycbcr_rec709_coefficients), COARSE_TIMEBASE, /*write_callback=*/nullptr, Mux::WRITE_FOREGROUND, { &stream_mux_metrics })); stream_mux_metrics.init({{ "destination", "http" }}); return mux; diff --git a/nageru/quicksync_encoder.cpp b/nageru/quicksync_encoder.cpp index 0d9a796..4d53b0b 100644 --- a/nageru/quicksync_encoder.cpp +++ b/nageru/quicksync_encoder.cpp @@ -1817,7 +1817,7 @@ void QuickSyncEncoderImpl::open_output_file(const std::string &filename) { lock_guard lock(file_audio_encoder_mutex); AVCodecParametersWithDeleter audio_codecpar = file_audio_encoder->get_codec_parameters(); - file_mux.reset(new Mux(avctx, frame_width, frame_height, Mux::CODEC_H264, video_extradata, audio_codecpar.get(), get_color_space(global_flags.ycbcr_rec709_coefficients), Mux::WITH_AUDIO, TIMEBASE, + file_mux.reset(new Mux(avctx, frame_width, frame_height, Mux::CODEC_H264, video_extradata, audio_codecpar.get(), get_color_space(global_flags.ycbcr_rec709_coefficients), TIMEBASE, std::bind(&DiskSpaceEstimator::report_append, disk_space_estimator, filename, _1), Mux::WRITE_BACKGROUND, { ¤t_file_mux_metrics, &total_mux_metrics })); diff --git a/nageru/video_encoder.cpp b/nageru/video_encoder.cpp index bd93ae2..8dee6da 100644 --- a/nageru/video_encoder.cpp +++ b/nageru/video_encoder.cpp @@ -194,8 +194,7 @@ void VideoEncoder::open_output_stream() } stream_mux.reset(new Mux(avctx, width, height, video_codec, video_extradata, stream_audio_encoder->get_codec_parameters().get(), - get_color_space(global_flags.ycbcr_rec709_coefficients), - Mux::WITH_AUDIO, COARSE_TIMEBASE, + get_color_space(global_flags.ycbcr_rec709_coefficients), COARSE_TIMEBASE, /*write_callback=*/nullptr, Mux::WRITE_FOREGROUND, { &stream_mux_metrics })); stream_mux_metrics.init({{ "destination", "http" }}); } diff --git a/shared/mux.cpp b/shared/mux.cpp index 4970bce..da8e2ee 100644 --- a/shared/mux.cpp +++ b/shared/mux.cpp @@ -47,7 +47,7 @@ struct PacketBefore { const AVFormatContext * const ctx; }; -Mux::Mux(AVFormatContext *avctx, int width, int height, Codec video_codec, const string &video_extradata, const AVCodecParameters *audio_codecpar, AVColorSpace color_space, WithAudio with_audio, int time_base, function write_callback, WriteStrategy write_strategy, const vector &metrics) +Mux::Mux(AVFormatContext *avctx, int width, int height, Codec video_codec, const string &video_extradata, const AVCodecParameters *audio_codecpar, AVColorSpace color_space, int time_base, function write_callback, WriteStrategy write_strategy, const vector &metrics) : write_strategy(write_strategy), avctx(avctx), write_callback(write_callback), metrics(metrics) { avstream_video = avformat_new_stream(avctx, nullptr); @@ -89,7 +89,7 @@ Mux::Mux(AVFormatContext *avctx, int width, int height, Codec video_codec, const memcpy(avstream_video->codecpar->extradata, video_extradata.data(), video_extradata.size()); } - if (with_audio == WITH_AUDIO) { + if (audio_codecpar != nullptr) { avstream_audio = avformat_new_stream(avctx, nullptr); if (avstream_audio == nullptr) { fprintf(stderr, "avformat_new_stream() failed\n"); @@ -101,7 +101,6 @@ Mux::Mux(AVFormatContext *avctx, int width, int height, Codec video_codec, const exit(1); } } else { - assert(with_audio == WITHOUT_AUDIO); avstream_audio = nullptr; } diff --git a/shared/mux.h b/shared/mux.h index 62cd37c..c6b4c7e 100644 --- a/shared/mux.h +++ b/shared/mux.h @@ -53,10 +53,6 @@ public: CODEC_NV12, // Uncompressed 4:2:0. CODEC_MJPEG }; - enum WithAudio { - WITH_AUDIO, - WITHOUT_AUDIO - }; enum WriteStrategy { // add_packet() will write the packet immediately, unless plugged. WRITE_FOREGROUND, @@ -74,7 +70,9 @@ public: // the just-written frame. (write_callback can be nullptr.) // Does not take ownership of ; elements in there, if any, // will be added to. - Mux(AVFormatContext *avctx, int width, int height, Codec video_codec, const std::string &video_extradata, const AVCodecParameters *audio_codecpar, AVColorSpace color_space, WithAudio with_audio, int time_base, std::function write_callback, WriteStrategy write_strategy, const std::vector &metrics); + // + // If audio_codecpar is nullptr, there will be no audio stream. + Mux(AVFormatContext *avctx, int width, int height, Codec video_codec, const std::string &video_extradata, const AVCodecParameters *audio_codecpar, AVColorSpace color_space, int time_base, std::function write_callback, WriteStrategy write_strategy, const std::vector &metrics); ~Mux(); void add_packet(const AVPacket &pkt, int64_t pts, int64_t dts, AVRational timebase = { 1, TIMEBASE }, int stream_index_override = -1); -- 2.39.2