From c9f2d982f2e4efb9b451d6e3a61a1217ebf966d9 Mon Sep 17 00:00:00 2001 From: xufuji456 Date: Mon, 19 Sep 2022 09:55:53 +0800 Subject: [PATCH] Feature: use codecpar instead of codec --- app/src/main/cpp/ff_rtmp_pusher.cpp | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/app/src/main/cpp/ff_rtmp_pusher.cpp b/app/src/main/cpp/ff_rtmp_pusher.cpp index 400f36c..9b84b34 100644 --- a/app/src/main/cpp/ff_rtmp_pusher.cpp +++ b/app/src/main/cpp/ff_rtmp_pusher.cpp @@ -27,12 +27,9 @@ int FFRtmpPusher::open(const char *inputPath, const char *outputPath) { // If not h264, should transocde to h264 for (int i = 0; i < inFormatCtx->nb_streams; ++i) { AVStream *in_stream = inFormatCtx->streams[i]; - const auto *codec = in_stream->codec->codec; + const auto *codec = avcodec_find_encoder(in_stream->codecpar->codec_id); AVStream *out_stream = avformat_new_stream(outFormatCtx, codec); - avcodec_parameters_from_context(out_stream->codecpar, in_stream->codec); - if (outFormatCtx->oformat->flags & AVFMT_GLOBALHEADER) { - out_stream->codec->flags |= AV_CODEC_FLAG_GLOBAL_HEADER; - } + avcodec_parameters_copy(out_stream->codecpar, in_stream->codecpar); out_stream->codecpar->codec_tag = 0; if (in_stream->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) {