GNOME Bugzilla – Bug 531840
QuickTime wrapper doesn't work on Win32
Last modified: 2008-07-01 11:28:34 UTC
The quicktime wrapper doesn't work on windows, for a variety of reasons: - Fails to compile due to gcc extensions - Uses OSX-only APIs for wrapping audio decoders - Crashes at runtime due to various bugs The attached patch fixes these so that at least: - it compiles and runs - at least decoding AAC and MP3 works (others not yet tested) Not proposing this for committing quite yet; I haven't had the chance to test it again on OS X, for example, nor have I tested the video decoders. Just filing it for others to take a look at, and to ensure I don't lose it. Anyone interested in reviewing it: audiodecoders.c is sufficiently changed that reading the diff is probably pointless. The other changes should be fine to read as a diff.
Created attachment 110486 [details] [review] Initial patch moving audio decoder wrapping to StdAudio API
Created attachment 110530 [details] [review] Updated patch Update patch: - Video decoders now work too - Fixed all the MSVC compiler warnings (except for some about macro redefinition in the quicktime headers)
Had to adjust some code to keep it compiling/working on macosx. but otherwise good. 2008-07-01 Edward Hervey <edward.hervey@collabora.co.uk> Patch by : Michael Smith <msmith @ xiph dot org> * sys/qtwrapper/audiodecoders.c: (qtwrapper_audio_decoder_init), (clear_AudioStreamBasicDescription), (fill_indesc_mp3), (fill_indesc_aac), (make_samr_magic_cookie), (write_len), (make_aac_magic_cookie), (open_decoder), (process_buffer_cb), (qtwrapper_audio_decoder_chain), (qtwrapper_audio_decoder_sink_event), (qtwrapper_audio_decoder_base_init), (qtwrapper_audio_decoder_class_init), (qtwrapper_audio_decoders_register): * sys/qtwrapper/codecmapping.h: * sys/qtwrapper/imagedescription.c: (image_description_for_avc1), (image_description_for_mp4v), (image_description_from_stsd_buffer): * sys/qtwrapper/imagedescription.h: * sys/qtwrapper/qtutils.c: (get_name_info_from_component), (dump_avcc_atom), (dump_image_description), (AllocateAudioBufferList): * sys/qtwrapper/qtutils.h: * sys/qtwrapper/qtwrapper.c: (plugin_init): * sys/qtwrapper/qtwrapper.h: * sys/qtwrapper/videodecoders.c: (qtwrapper_video_decoder_base_init), (open_decoder), (decompressCb), (qtwrapper_video_decoder_chain), (qtwrapper_video_decoders_register): Make qtwrapper compile/work on win32. Lots of fixes Fixes #531840