X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Flib%2Fsndfile_decoder.cc;h=f66a7c7dc9dd363f649f2c71632a9a5057d78949;hb=d50bc4c21be3e0766916b47a6e688cf896bed059;hp=1fc1ecaf2cc66c1cbcb650f0af9cad0f0d2a82fc;hpb=78e5a331074a456097a162d47501daf1df1ab1a3;p=dcpomatic.git diff --git a/src/lib/sndfile_decoder.cc b/src/lib/sndfile_decoder.cc index 1fc1ecaf2..f66a7c7dc 100644 --- a/src/lib/sndfile_decoder.cc +++ b/src/lib/sndfile_decoder.cc @@ -18,6 +18,10 @@ */ #include +#ifdef DCPOMATIC_WINDOWS +#include +#define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1 +#endif #include #include "sndfile_content.h" #include "sndfile_decoder.h" @@ -35,12 +39,19 @@ using boost::shared_ptr; SndfileDecoder::SndfileDecoder (shared_ptr f, shared_ptr c) : Decoder (f) - , AudioDecoder (f) + , AudioDecoder (f, c) , _sndfile_content (c) , _deinterleave_buffer (0) { _info.format = 0; - _sndfile = sf_open (_sndfile_content->path().string().c_str(), SFM_READ, &_info); + + /* 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")); }