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:
parent
3ba6dce48d
commit
a0358db323
@ -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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user