[Flac-dev] FLAC C API / Visual Studio 2008 FILE* Issue

LRN lrn1986 at gmail.com
Tue Jan 5 15:05:14 PST 2010


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+la at mega-nerd.com<mle%2Bla at 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 at xiph.org
>> http://lists.xiph.org/mailman/listinfo/flac-dev
>>
>>     
>   
>
>
> _______________________________________________
> Flac-dev mailing list
> Flac-dev at xiph.org
> http://lists.xiph.org/mailman/listinfo/flac-dev
>   

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/flac-dev/attachments/20100106/41ff1669/attachment.htm 


More information about the Flac-dev mailing list