On 06.01.2010 2:03, Ivailo Karamanolev wrote: > I managed to get around it. I used the stream functions and provided my own > callbacks for reading and writing. What's strange is that what I've done is > just copied the contents of read/write/seek/tell/eof callbacks from the > sources to my application and it works just fine, no glitches. When I use > the build-in implementation, it just crashes without any reason. It's not a > problem to stick with my own callbacks for reading, but fixing this issue > (if it's not just me) would be nice. > It might be the famous MSVCRT version mismatch bug. > On Wed, Jan 6, 2010 at 12:38 AM, Erik de Castro Lopo > <mle...@mega-nerd.com<mle%2...@mega-nerd.com> > >> wrote: >> > >> Ivailo Karamanolev wrote: >> >> >>> I am currently learning the FLAC C API and had the code working with >>> FLAC__stream_decoder_init_file. However, since I'd need the Unicode >>> >> filename >> >>> support, I tried _wfopen_s in combination with >>> FLAC__stream_decoder_init_FILE, however I get a runtime crash as sonn as >>> >> I >> >>> call FLAC__stream_decoder_process_until_end_of_stream. The same code >>> (partially taken from the examples) is working perfectly with the >>> >> function >> >>> accepting filename and crashing with the one accepting FILE*. I have >>> >> tried >> >>> both compiling the library myself and using the precompiled >>> flac-1.2.1-devel-win. Can someone try if it is working for him (the >>> >> FILE*) >> >>> version and if yes - send back the source code? >>> I work in Windows 7 64bit, but I tried that also on a virtual Windows XP >>> >> and >> >>> it crashes there also. >>> >> There is a whole bunch of weird stuff in windows, this is just another >> instance. >> >> If what you want to do is read/write FLAC files with windows UCS-16 >> filenames, >> one option is to use libsndfile: >> >> http://www.mega-nerd.com/libsndfile/ >> >> which with version 1.0.21 has added this function: >> >> /* The function sf_wchar_open() is Windows Only! >> ** Open a file passing in a Windows Unicode filename. Otherwise, this is >> ** the same as sf_open(). >> ** >> ** In order for this to work, you need to do the following: >> ** >> ** #include <windows.h> >> ** #define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1 >> ** #including <sndfile.h> >> */ >> #if ENABLE_SNDFILE_WINDOWS_PROTOTYPES >> SNDFILE* sf_wchar_open (LPCWSTR wpath, int mode, SF_INFO *sfinfo) ; >> #endif >> >> There is a windows binary installer in the main web page (one for each of >> 32 and 64 bit windows). >> >> The only downside to this is that libsndfile does not expose the all of >> the features of the FLAC API to the user. >> >> Erik >> -- >> ---------------------------------------------------------------------- >> Erik de Castro Lopo >> http://www.mega-nerd.com/ >> _______________________________________________ >> Flac-dev mailing list >> Flac-dev@xiph.org >> http://lists.xiph.org/mailman/listinfo/flac-dev >> >> > > > > _______________________________________________ > Flac-dev mailing list > Flac-dev@xiph.org > http://lists.xiph.org/mailman/listinfo/flac-dev >
_______________________________________________ Flac-dev mailing list Flac-dev@xiph.org http://lists.xiph.org/mailman/listinfo/flac-dev