1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-13 21:28:01 +02:00

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: Lukasz Marek <lukasz.m.luki2@gmail.com>
This commit is contained in:
Lukasz Marek 2014-07-04 00:32:16 +02:00
parent 3ba6dce48d
commit a0358db323

View File

@ -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;
}