[vlc-commits] AVI: use Windows ANSI code page rather than ISO 8859-1 (fixes #4678)
Rémi Denis-Courmont
git at videolan.org
Wed Apr 13 20:14:48 CEST 2011
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Wed Apr 13 21:10:49 2011 +0300| [4b07339900792ca7bc122992bc2dae538ac512aa] | committer: Rémi Denis-Courmont
AVI: use Windows ANSI code page rather than ISO 8859-1 (fixes #4678)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4b07339900792ca7bc122992bc2dae538ac512aa
---
modules/demux/avi/avi.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/modules/demux/avi/avi.c b/modules/demux/avi/avi.c
index dbb88fa..df525ad 100644
--- a/modules/demux/avi/avi.c
+++ b/modules/demux/avi/avi.c
@@ -90,6 +90,11 @@ static int Demux_UnSeekable( demux_t * );
#define __ABS( x ) ( (x) < 0 ? (-(x)) : (x) )
+static char *FromACP( const char *str )
+{
+ return FromCharset(vlc_pgettext("GetACP", "CP1252"), str, strlen(str));
+}
+
typedef struct
{
vlc_fourcc_t i_fourcc;
@@ -592,7 +597,7 @@ static int Open( vlc_object_t * p_this )
continue;
}
if( p_strn )
- fmt.psz_description = FromLatin1( p_strn->p_str );
+ fmt.psz_description = FromACP( p_strn->p_str );
if( tk->p_out_muxed == NULL )
tk->p_es = es_out_Add( p_demux->out, &fmt );
TAB_APPEND( p_sys->i_track, p_sys->track, tk );
@@ -2494,7 +2499,7 @@ static void AVI_MetaLoad( demux_t *p_demux,
avi_chunk_STRING_t *p_strz = AVI_ChunkFind( p_info, p_dsc[i].i_id, 0 );
if( !p_strz )
continue;
- char *psz_value = FromLatin1( p_strz->p_str );
+ char *psz_value = FromACP( p_strz->p_str );
if( !psz_value )
continue;
@@ -2609,7 +2614,7 @@ static void AVI_ExtractSubtitle( demux_t *p_demux,
i_size -= 6;
if( !psz_description )
- psz_description = p_strn ? FromLatin1( p_strn->p_str ) : NULL;
+ psz_description = p_strn ? FromACP( p_strn->p_str ) : NULL;
char *psz_name;
if( asprintf( &psz_name, "subtitle%d.srt", p_sys->i_attachment ) <= 0 )
psz_name = NULL;
More information about the vlc-commits
mailing list