diff options
author | Gyan Doshi <ffmpeg@gyani.pro> | 2021-03-23 10:56:10 +0530 |
---|---|---|
committer | Gyan Doshi <ffmpeg@gyani.pro> | 2021-03-26 12:37:10 +0530 |
commit | 2c806aa2b4d61e87ee58df92153f87410c82cd09 (patch) | |
tree | 2edfc8ac049ab3fec3a4778925f1f41dfb81eeb2 | |
parent | 325bb04188092f37aceee962f58a4816f0d8e79b (diff) | |
download | ffmpeg-2c806aa2b4d61e87ee58df92153f87410c82cd09.tar.gz |
avformat/rtpenc_mpegts: convey options for rtp muxer
-rw-r--r-- | libavformat/rtpenc_mpegts.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libavformat/rtpenc_mpegts.c b/libavformat/rtpenc_mpegts.c index 22881461e4..f7ee5a4448 100644 --- a/libavformat/rtpenc_mpegts.c +++ b/libavformat/rtpenc_mpegts.c @@ -29,6 +29,7 @@ typedef struct MuxChain { AVFormatContext *rtp_ctx; AVPacket *pkt; AVDictionary* mpegts_muxer_options; + AVDictionary* rtp_muxer_options; } MuxChain; static int rtp_mpegts_write_close(AVFormatContext *s) @@ -59,6 +60,7 @@ static int rtp_mpegts_write_header(AVFormatContext *s) int i, ret = AVERROR(ENOMEM); AVStream *st; AVDictionary *mpegts_muxer_options = NULL; + AVDictionary *rtp_muxer_options = NULL; if (!mpegts_format || !rtp_format) return AVERROR(ENOSYS); @@ -108,7 +110,8 @@ static int rtp_mpegts_write_header(AVFormatContext *s) st->time_base.den = 90000; st->codecpar->codec_id = AV_CODEC_ID_MPEG2TS; rtp_ctx->pb = s->pb; - if ((ret = avformat_write_header(rtp_ctx, NULL)) < 0) + av_dict_copy(&rtp_muxer_options, chain->rtp_muxer_options, 0); + if ((ret = avformat_write_header(rtp_ctx, &rtp_muxer_options)) < 0) goto fail; chain->rtp_ctx = rtp_ctx; @@ -121,6 +124,7 @@ fail: av_dict_free(&mpegts_muxer_options); avformat_free_context(mpegts_ctx); } + av_dict_free(&rtp_muxer_options); avformat_free_context(rtp_ctx); rtp_mpegts_write_close(s); return ret; @@ -167,6 +171,7 @@ static int rtp_mpegts_write_packet(AVFormatContext *s, AVPacket *pkt) #define E AV_OPT_FLAG_ENCODING_PARAM static const AVOption options[] = { { "mpegts_muxer_options", "set list of options for the MPEG-TS muxer", OFFSET(mpegts_muxer_options), AV_OPT_TYPE_DICT, {.str = NULL}, 0, 0, E }, + { "rtp_muxer_options", "set list of options for the RTP muxer", OFFSET(rtp_muxer_options), AV_OPT_TYPE_DICT, {.str = NULL}, 0, 0, E }, { NULL }, }; |