[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