> 在 2019年4月9日,上午8:54,Jun Li <[email protected]> 写道: > > Ping. > > On Fri, Apr 5, 2019 at 12:00 PM Jun Li <[email protected]> wrote: > >> >> >> On Fri, Apr 5, 2019 at 11:50 AM Jun Li <[email protected]> wrote: >> >>> stimeout option is already used in tcp transport, since >>> http is based on tcp, pass the option to http for tunneling >>> case. >>> --- >>> libavformat/rtsp.c | 10 ++++++++-- >>> 1 file changed, 8 insertions(+), 2 deletions(-) >>> >>> diff --git a/libavformat/rtsp.c b/libavformat/rtsp.c >>> index 033095905d..8349840c96 100644 >>> --- a/libavformat/rtsp.c >>> +++ b/libavformat/rtsp.c >>> @@ -1744,6 +1744,9 @@ redirect: >>> char httpname[1024]; >>> char sessioncookie[17]; >>> char headers[1024]; >>> + AVDictionary *options = NULL; >>> + >>> + av_dict_set_int(&options, "timeout", rt->stimeout, 0); >>> >>> ff_url_join(httpname, sizeof(httpname), https_tunnel ? "https" : >>> "http", auth, host, port, "%s", path); >>> snprintf(sessioncookie, sizeof(sessioncookie), "%08x%08x", >>> @@ -1774,7 +1777,8 @@ redirect: >>> } >>> >>> /* complete the connection */ >>> - if (ffurl_connect(rt->rtsp_hd, NULL)) { >>> + if (ffurl_connect(rt->rtsp_hd, &options)) { >>> + av_dict_free(&options); >>> err = AVERROR(EIO); >>> goto fail; >>> } >>> @@ -1818,10 +1822,12 @@ redirect: >>> ff_http_init_auth_state(rt->rtsp_hd_out, rt->rtsp_hd); >>> >>> /* complete the connection */ >>> - if (ffurl_connect(rt->rtsp_hd_out, NULL)) { >>> + if (ffurl_connect(rt->rtsp_hd_out, &options)) { >>> + av_dict_free(&options); >>> err = AVERROR(EIO); >>> goto fail; >>> } >>> + av_dict_free(&options); Why don’t move the av_dict_free(&options) to the fail? >>> } else { >>> int ret; >>> /* open the tcp connection */ >>> -- >>> 2.17.1 >>> >>> >> >> Updated the version, free the memory in error path, patch is here: >> https://patchwork.ffmpeg.org/patch/12620/ >> I initially planned to do that then I realized the error path will trigger >> whole process to exit, which may be safe. But I agree with you, it is a >> better practice to clean-up here. >> >> Thanks for review, Michael. >> >> Best Regards, >> Jun >> >> >> > _______________________________________________ > ffmpeg-devel mailing list > [email protected] > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > [email protected] with subject "unsubscribe”.
Thanks Steven _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
