I managed to get around it. I used the stream functions and provided my own callbacks for reading and writing. What&#39;s strange is that what I&#39;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&#39;s not a problem to stick with my own callbacks for reading, but fixing this issue (if it&#39;s not just me) would be nice.<br>
<br><div class="gmail_quote">On Wed, Jan 6, 2010 at 12:38 AM, Erik de Castro Lopo <span dir="ltr">&lt;<a href="mailto:mle%2Bla@mega-nerd.com">mle+la@mega-nerd.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div><div></div><div class="h5">Ivailo Karamanolev wrote:<br>
<br>
&gt; I am currently learning the FLAC C API and had the code working with<br>
&gt; FLAC__stream_decoder_init_file. However, since I&#39;d need the Unicode filename<br>
&gt; support, I tried _wfopen_s in combination with<br>
&gt; FLAC__stream_decoder_init_FILE, however I get a runtime crash as sonn as I<br>
&gt; call FLAC__stream_decoder_process_until_end_of_stream. The same code<br>
&gt; (partially taken from the examples) is working perfectly with the function<br>
&gt; accepting filename and crashing with the one accepting FILE*. I have tried<br>
&gt; both compiling the library myself and using the precompiled<br>
&gt; flac-1.2.1-devel-win. Can someone try if it is working for him (the FILE*)<br>
&gt; version and if yes - send back the source code?<br>
&gt; I work in Windows 7 64bit, but I tried that also on a virtual Windows XP and<br>
&gt; it crashes there also.<br>
<br>
</div></div>There is a whole bunch of weird stuff in windows, this is just another instance.<br>
<br>
If what you want to do is read/write FLAC files with windows UCS-16 filenames,<br>
one option is to use libsndfile:<br>
<br>
    <a href="http://www.mega-nerd.com/libsndfile/" target="_blank">http://www.mega-nerd.com/libsndfile/</a><br>
<br>
which with version 1.0.21 has added this function:<br>
<br>
    /* The function sf_wchar_open() is Windows Only!<br>
    ** Open a file passing in a Windows Unicode filename. Otherwise, this is<br>
    ** the same as sf_open().<br>
    **<br>
    ** In order for this to work, you need to do the following:<br>
    **<br>
    **          #include &lt;windows.h&gt;<br>
    **          #define ENABLE_SNDFILE_WINDOWS_PROTOTYPES 1<br>
    **          #including &lt;sndfile.h&gt;<br>
    */<br>
    #if ENABLE_SNDFILE_WINDOWS_PROTOTYPES<br>
    SNDFILE* sf_wchar_open (LPCWSTR wpath, int mode, SF_INFO *sfinfo) ;<br>
    #endif<br>
<br>
There is a windows binary installer in the main web page (one for each of<br>
32 and 64 bit windows).<br>
<br>
The only downside to this is that libsndfile does not expose the all of<br>
the features of the FLAC API to the user.<br>
<br>
Erik<br>
<font color="#888888">--<br>
----------------------------------------------------------------------<br>
Erik de Castro Lopo<br>
<a href="http://www.mega-nerd.com/" target="_blank">http://www.mega-nerd.com/</a><br>
_______________________________________________<br>
Flac-dev mailing list<br>
<a href="mailto:Flac-dev@xiph.org">Flac-dev@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/flac-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/flac-dev</a><br>
</font></blockquote></div><br>