Mercurial > mplayer.hg
changeset 34355:316f6edb49de
Avoid double conversion from utf16/ucs2 to utf8 for text subtitles.
There is code that auto-detects utf16 encoding of the subtitle stream
and forces the reading functions to convert it to native utf8.
The bug happens when using enca to (correctly) guess that the input
file has ucs2 encoding and tries to convert the input stream to utf8, again.
In my case iconv did not accept the input and discarded the subtitles
completely.
author | iive |
---|---|
date | Wed, 14 Dec 2011 00:17:49 +0000 |
parents | 60ac9c33695b |
children | 9ae4b7f8b1e2 |
files | sub/subreader.c |
diffstat | 1 files changed, 1 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/sub/subreader.c Tue Dec 13 13:23:06 2011 +0000 +++ b/sub/subreader.c Wed Dec 14 00:17:49 2011 +0000 @@ -1514,7 +1514,7 @@ sub=srp->read(fd,sub,utf16); if(!sub) break; // EOF #ifdef CONFIG_ICONV - if ((sub!=ERR) && sub_utf8 == 2) sub=subcp_recode(sub); + if ((sub!=ERR) && sub_utf8 == 2 && utf16 == 0) sub=subcp_recode(sub); #endif #ifdef CONFIG_FRIBIDI if (sub!=ERR) sub=sub_fribidi(sub,sub_utf8,0);