Browse Source

avformat/rtsp: pass return code from ffurl_open() on its failure

Previously, AVERROR(EIO) was returned. Now the value is passed from
lower level, thus it is possible to distinguish ECONNREFUSED, ETIMEDOUT,
ENETUNREACH etc.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.5
Andrey Utkin Michael Niedermayer 10 years ago
parent
commit
08e6832a94
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      libavformat/rtsp.c

+ 4
- 3
libavformat/rtsp.c View File

@@ -1737,13 +1737,14 @@ redirect:
goto fail;
}
} else {
int ret;
/* open the tcp connection */
ff_url_join(tcpname, sizeof(tcpname), lower_rtsp_proto, NULL,
host, port,
"?timeout=%d", rt->stimeout);
if (ffurl_open(&rt->rtsp_hd, tcpname, AVIO_FLAG_READ_WRITE,
&s->interrupt_callback, NULL) < 0) {
err = AVERROR(EIO);
if ((ret = ffurl_open(&rt->rtsp_hd, tcpname, AVIO_FLAG_READ_WRITE,
&s->interrupt_callback, NULL)) < 0) {
err = ret;
goto fail;
}
rt->rtsp_hd_out = rt->rtsp_hd;


Loading…
Cancel
Save