mpv/libmpdemux
wm4 a1244111a7 windows support: unicode filenames
Windows uses a legacy codepage for char* / runtime functions accepting
char *. Using UTF-8 as the codepage with setlocale() is explicitly
forbidden.

Work this around by overriding the MSVCRT functions with wrapper
macros, that assume UTF-8 and use "proper" API calls like _wopen etc.
to deal with unicode filenames. All code that uses standard functions
that take or return filenames must now include osdep/io.h. stat()
can't be overridden, because MinGW-w64 itself defines "stat" as a
macro. Change code to use use mp_stat() instead.

This is not perfectly clean, but still somewhat sane, and much better
than littering the rest of the mplayer code with MinGW specific hacks.
It's also a bit fragile, but that's actually little different from the
previous situation. Also, MinGW is unlikely to ever include a nice way
of dealing with this.
2012-03-09 20:48:54 +02:00
..
aac_hdr.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
aac_hdr.h
asf.h cosmetics: asf.h: Fix comment error 2011-07-06 06:52:22 +03:00
asfguid.h asfguid.h: Use AV_RL32 also in x86 2010-11-02 04:14:20 +02:00
asfheader.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
asfheader.h Add header for asf_check_header, read_asf_header; avoids forward declarations. 2010-02-17 23:45:01 +00:00
aviheader.c aviheader.c: silence a warning 2012-02-29 02:49:48 +02:00
aviheader.h cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
aviprint.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
aviprint.h Declare public function print_vprp() in aviprint.h. 2010-02-21 23:36:36 +00:00
demux_aac.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
demux_asf.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_audio.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_avi.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_avs.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demux_avs.h
demux_demuxers.c demux_demuxers: fix seeking bug (--audiofile) 2011-10-23 03:29:42 +03:00
demux_edl.c EDL: add support for new EDL file format 2011-04-05 06:26:17 +03:00
demux_film.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_fli.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
demux_gif.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_lavf.c demux_lavf: update growing file size info for AVSEEK_SIZE 2012-02-26 05:53:13 +02:00
demux_lmlm4.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demux_mf.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
demux_mkv.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_mng.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
demux_mov.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_mov.h
demux_mpc.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
demux_mpg.c cleanup: fix mp_dbg() format string warnings 2011-07-01 03:37:34 +03:00
demux_nemesi.c demux_nemesi: Remove a pointless if 2010-11-02 04:16:46 +02:00
demux_nsv.c cleanup: fix mp_dbg() format string warnings 2011-07-01 03:37:34 +03:00
demux_nut.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demux_ogg.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_ogg.h
demux_packet.h core, demux, vd_ffmpeg: pass side data from demux_lavf to vd_ffmpeg 2011-08-20 20:25:43 +03:00
demux_pva.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_rawaudio.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demux_rawdv.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demux_rawvideo.c
demux_real.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_real.h
demux_realaud.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
demux_roq.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_rtp.cpp configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
demux_rtp.h Remove pointless #ifdef checks for DEMUXER_H, which is never set. 2010-02-27 12:48:11 +00:00
demux_rtp_codec.cpp Update Libav API uses 2012-02-01 22:46:27 +02:00
demux_rtp_internal.h configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
demux_smjpeg.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_ts.c cleanup: silence most of the clang warnings 2011-07-09 04:23:24 +03:00
demux_ts.h demux: Move mp_a52_framesize from demux_ts.c to parse_es.c 2010-11-02 04:15:48 +02:00
demux_ty.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_ty_osd.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
demux_ty_osd.h cosmetics: make some arguments const, "unsigned char"->uint8_t 2010-12-16 04:57:18 +02:00
demux_viv.c cleanup: fix mp_dbg() format string warnings 2011-07-01 03:37:34 +03:00
demux_vqf.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_xmms.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demux_xmms_plugin.h
demux_y4m.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demuxer.c Update Libav API uses 2012-02-01 22:46:27 +02:00
demuxer.h ad_ffmpeg: pass packet side data from libavformat 2012-01-08 23:32:40 +02:00
ebml.c Update Libav API uses 2012-02-01 22:46:27 +02:00
ebml.h demux_mkv: simplify subtitle type recognition 2011-03-31 03:44:37 +03:00
ebml_defs.c TOOLS/matroska.py: recognize 3 more elements 2010-11-21 14:20:38 +02:00
ebml_types.h TOOLS/matroska.py: recognize 3 more elements 2010-11-21 14:20:38 +02:00
extension.c cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00
genres.h spelling fixes 2010-11-02 04:15:03 +02:00
matroska.h demux_mkv: support Blu-ray subtitles 2011-03-31 03:44:37 +03:00
mf.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
mf.h
mp3_hdr.c Merge svn changes up to r30798 2010-03-10 02:35:02 +02:00
mp3_hdr.h mp3_hdr.h: fix mp_check_mp3_header() 2010-12-16 06:22:19 +02:00
mp_taglists.c demux_lavf: use Libav RIFF tag lists directly 2012-02-01 22:46:27 +02:00
mp_taglists.h demux_lavf: use Libav RIFF tag lists directly 2012-02-01 22:46:27 +02:00
mpeg_hdr.c cleanup: some warning fixes and minor cleanups 2011-06-29 09:17:19 +03:00
mpeg_hdr.h Parse and use the information from the frame rate extension header for MPEG-2. 2010-02-21 13:53:41 +00:00
mpeg_packetizer.c
mpeg_packetizer.h
ms_hdr.h Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a 2010-02-22 14:27:32 +00:00
parse_es.c demux: Move mp_a52_framesize from demux_ts.c to parse_es.c 2010-11-02 04:15:48 +02:00
parse_es.h demux: Move mp_a52_framesize from demux_ts.c to parse_es.c 2010-11-02 04:15:48 +02:00
parse_mp4.c Merge svn changes up to r30643 2010-03-10 00:00:06 +02:00
parse_mp4.h cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00
qtpalette.h
stheader.h audio/video: delete buggy "dynamic plugin" code 2011-10-20 02:16:35 +03:00
video.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
yuv4mpeg.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
yuv4mpeg.h cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00
yuv4mpeg_intern.h
yuv4mpeg_ratio.c cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00