Commit a0358db3 authored by Lukasz Marek's avatar Lukasz Marek

lavf/ftp: explicitly enable UTF-8

Most FTP servers enable UTF-8 by default, but it is not required by the standard.
Enabling it manually makes ffmpeg implementation more consistent when server
doesn't enable it by default.
Signed-off-by: 's avatarLukasz Marek <lukasz.m.luki2@gmail.com>
parent 3ba6dce4
......@@ -434,6 +434,21 @@ static int ftp_restart(FTPContext *s, int64_t pos)
return 0;
}
static int ftp_features(FTPContext *s)
{
static const char *feat_command = "FEAT\r\n";
static const char *enable_utf8_command = "OPTS UTF8 ON\r\n";
static const int feat_codes[] = {211, 500, 502, 0}; /* 500, 502 are incorrect codes */
static const int opts_codes[] = {200, 451, 500, 502}; /* 500, 451, 502 are incorrect codes */
char *feat;
if (ftp_send_command(s, feat_command, feat_codes, &feat) == 211) {
if (av_stristr(feat, "UTF8"))
ftp_send_command(s, enable_utf8_command, opts_codes, NULL);
}
return 0;
}
static int ftp_connect_control_connection(URLContext *h)
{
char buf[CONTROL_BUFFER_SIZE], opts_format[20], *response = NULL;
......@@ -477,6 +492,8 @@ static int ftp_connect_control_connection(URLContext *h)
av_log(h, AV_LOG_ERROR, "Set content type failed\n");
return err;
}
ftp_features(s);
}
return 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment