diff options
| author | Carl Hetherington <cth@carlh.net> | 2014-02-26 22:26:41 +0000 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2014-02-26 22:26:41 +0000 |
| commit | c9f5634790254180a0a2b3275a1b878d1d422298 (patch) | |
| tree | 3ce29cf45ef93253842298ec2402a9e91e3421f2 /src/lib/sndfile_decoder.cc | |
| parent | e52d78a0ebf4852c56bcf4119ed7d4c1d0d9b8ff (diff) | |
Fix problems loading files into SndfileDecoder when
they have non-ASCII names.
Reported-by: José Luis Rodríguez García
Diffstat (limited to 'src/lib/sndfile_decoder.cc')
| -rw-r--r-- | src/lib/sndfile_decoder.cc | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/lib/sndfile_decoder.cc b/src/lib/sndfile_decoder.cc index e10f4f568..f66a7c7dc 100644 --- a/src/lib/sndfile_decoder.cc +++ b/src/lib/sndfile_decoder.cc @@ -18,6 +18,10 @@ */ #include <iostream> +#ifdef DCPOMATIC_WINDOWS +#include <windows.h> +#define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1 +#endif #include <sndfile.h> #include "sndfile_content.h" #include "sndfile_decoder.h" @@ -40,7 +44,14 @@ SndfileDecoder::SndfileDecoder (shared_ptr<const Film> f, shared_ptr<const Sndfi , _deinterleave_buffer (0) { _info.format = 0; + + /* Here be monsters. See fopen_boost for similar shenanigans */ +#ifdef DCPOMATIC_WINDOWS + _sndfile = sf_wchar_open (_sndfile_content->path(0).c_str(), SFM_READ, &_info); +#else _sndfile = sf_open (_sndfile_content->path(0).string().c_str(), SFM_READ, &_info); +#endif + if (!_sndfile) { throw DecodeError (_("could not open audio file for reading")); } |
