Part of my URL goes like this: mp;clip=%27Alle+Beitr%E4ge+-+di The code now converts %27 into ' and %e4 into �. The first conversion of %27 seems fine but the second isn't since it is not an ascii character and this on has to be encoded with the % and sent as is. I believe the only reason here is to keep URL human readable where possible. Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> --- librtmp/parseurl.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/librtmp/parseurl.c b/librtmp/parseurl.c index 95562d4..c68da2e 100644 --- a/librtmp/parseurl.c +++ b/librtmp/parseurl.c @@ -284,9 +284,14 @@ void RTMP_ParsePlaypath(AVal *in, AVal *out) { if (*p == '%') { unsigned int c; sscanf(p+1, "%02x", &c); - *destptr++ = c; - pplen -= 3; - p += 3; + if (isascii(c)) { + *destptr++ = c; + pplen -= 3; + p += 3; + } else { + *destptr++ = *p++; + pplen--; + } } else { *destptr++ = *p++; pplen--; -- 1.7.10.4