mirror of https://git.ffmpeg.org/ffmpeg.git
Merge remote-tracking branch 'lukaszmluki/master'
* lukaszmluki/master: avformat/ftp: add log regarding passive mode failure avformat/ftp: fix possible deadlock avdevice/pulse_audio_enc: fix stream index Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
8de021fabe
|
@ -118,7 +118,7 @@ static void pulse_get_output_timestamp(AVFormatContext *h, int stream, int64_t *
|
|||
PulseData *s = h->priv_data;
|
||||
pa_usec_t latency = pa_simple_get_latency(s->pa, NULL);
|
||||
*wall = av_gettime();
|
||||
*dts = h->streams[0]->cur_dts - latency;
|
||||
*dts = h->streams[s->stream_index]->cur_dts - latency;
|
||||
}
|
||||
|
||||
#define OFFSET(a) offsetof(PulseData, a)
|
||||
|
|
|
@ -270,6 +270,8 @@ static int ftp_passive_mode(FTPContext *s)
|
|||
fail:
|
||||
av_free(res);
|
||||
s->server_data_port = -1;
|
||||
av_log(s, AV_LOG_ERROR, "Set passive mode failed\n"
|
||||
"Your FTP server may use IPv6 which is not supported yet.\n");
|
||||
return AVERROR(EIO);
|
||||
}
|
||||
|
||||
|
@ -421,7 +423,7 @@ static int ftp_connect_control_connection(URLContext *h)
|
|||
}
|
||||
|
||||
if ((err = ftp_type(s)) < 0) {
|
||||
av_dlog(h, "Set content type failed\n");
|
||||
av_log(h, AV_LOG_ERROR, "Set content type failed\n");
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
@ -437,10 +439,8 @@ static int ftp_connect_data_connection(URLContext *h)
|
|||
|
||||
if (!s->conn_data) {
|
||||
/* Enter passive mode */
|
||||
if ((err = ftp_passive_mode(s)) < 0) {
|
||||
av_dlog(h, "Set passive mode failed\n");
|
||||
if ((err = ftp_passive_mode(s)) < 0)
|
||||
return err;
|
||||
}
|
||||
/* Open data connection */
|
||||
ff_url_join(buf, sizeof(buf), "tcp", NULL, s->hostname, s->server_data_port, NULL);
|
||||
if (s->rw_timeout != -1) {
|
||||
|
@ -486,14 +486,13 @@ static int ftp_abort(URLContext *h)
|
|||
}
|
||||
} else {
|
||||
ftp_close_data_connection(s);
|
||||
}
|
||||
|
||||
if (ftp_status(s, NULL, abor_codes) < 225) {
|
||||
/* wu-ftpd also closes control connection after data connection closing */
|
||||
ffurl_closep(&s->conn_control);
|
||||
if ((err = ftp_connect_control_connection(h)) < 0) {
|
||||
av_log(h, AV_LOG_ERROR, "Reconnect failed.\n");
|
||||
return err;
|
||||
if (ftp_status(s, NULL, abor_codes) < 225) {
|
||||
/* wu-ftpd also closes control connection after data connection closing */
|
||||
ffurl_closep(&s->conn_control);
|
||||
if ((err = ftp_connect_control_connection(h)) < 0) {
|
||||
av_log(h, AV_LOG_ERROR, "Reconnect failed.\n");
|
||||
return err;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue