This patch will export new speex functions in the generated library, such as speex_encode_int as well as the preprocessor, echo-cancellation and jitterbuffers. The ordinals used matches the 1.1.6 release from the speex.org website, so any new library created with this def file should be binary compatible with that one. -------------- next part -------------- Index: speex.def ================================================================== --- speex.def (revision 9882) +++ speex.def (working copy) @@ -2,49 +2,71 @@ ; speex.def ; LIBRARY +NAME libspeex.dll EXPORTS ; -speex_encoder_init -speex_encoder_destroy -speex_encode -speex_encoder_ctl -speex_decoder_init -speex_decoder_destroy -speex_decode -speex_decoder_ctl -speex_mode_query -speex_lib_ctl -speex_lib_get_mode -speex_bits_init -speex_bits_init_buffer -speex_bits_destroy -speex_bits_reset -speex_bits_rewind -speex_bits_read_from -speex_bits_read_whole_bytes -speex_bits_write -speex_bits_write_whole_bytes -speex_bits_pack -speex_bits_unpack_signed -speex_bits_unpack_unsigned -speex_bits_nbytes -speex_bits_peek_unsigned -speex_bits_peek -speex_bits_advance -speex_bits_remaining -speex_bits_insert_terminator -speex_inband_handler -speex_std_mode_request_handler -speex_std_high_mode_request_handler -speex_std_char_handler -speex_default_user_handler -speex_std_low_mode_request_handler -speex_std_vbr_request_handler -speex_std_enh_request_handler -speex_std_vbr_quality_request_handler -speex_init_header -speex_header_to_packet -speex_packet_to_header -speex_encode_stereo -speex_decode_stereo -speex_std_stereo_request_handler +speex_bits_advance @1 +speex_bits_destroy @2 +speex_bits_init @3 +speex_bits_init_buffer @4 +speex_bits_insert_terminator @5 +speex_bits_nbytes @6 +speex_bits_pack @7 +speex_bits_peek @8 +speex_bits_peek_unsigned @9 +speex_bits_read_from @10 +speex_bits_read_whole_bytes @11 +speex_bits_remaining @12 +speex_bits_reset @13 +speex_bits_rewind @14 +speex_bits_unpack_signed @15 +speex_bits_unpack_unsigned @16 +speex_bits_write @17 +speex_bits_write_whole_bytes @18 +speex_decode @19 +speex_decode_stereo @20 +speex_decoder_ctl @21 +speex_decoder_destroy @22 +speex_decoder_init @23 +speex_default_user_handler @24 +speex_encode @25 +speex_encode_stereo @26 +speex_encoder_ctl @27 +speex_encoder_destroy @28 +speex_encoder_init @29 +speex_header_to_packet @30 +speex_inband_handler @31 +speex_init_header @32 +speex_lib_ctl @33 +speex_mode_query @34 +speex_packet_to_header @35 +speex_std_char_handler @36 +speex_std_enh_request_handler @37 +speex_std_high_mode_request_handler @38 +speex_std_low_mode_request_handler @39 +speex_std_mode_request_handler @40 +speex_std_stereo_request_handler @41 +speex_std_vbr_quality_request_handler @42 +speex_std_vbr_request_handler @43 +speex_decode_int @44 +speex_decode_stereo_int @45 +speex_echo_cancel @46 +speex_echo_state_destroy @47 +speex_echo_state_init @48 +speex_echo_state_reset @49 +speex_encode_int @50 +speex_encode_stereo_int @51 +speex_jitter_destroy @52 +speex_jitter_get @53 +speex_jitter_get_pointer_timestamp @54 +speex_jitter_init @55 +speex_jitter_put @56 +speex_lib_get_mode @57 +speex_preprocess @58 +speex_preprocess_ctl @59 +speex_preprocess_estimate_update @60 +speex_preprocess_state_destroy @61 +speex_preprocess_state_init @62 +speex_nb_mode @63 DATA +speex_wb_mode @64 DATA +speex_uwb_mode @65 DATA
Just curious (I've never compiled Speex on Win32 myself), why the @1, @2, ... at the end of the lines. Is that for a different compiler or something? Jean-Marc Le samedi 03 septembre 2005 ? 16:36 +0200, Thorvald Natvig a ?crit :> This patch will export new speex functions in the generated library, such > as speex_encode_int as well as the preprocessor, echo-cancellation and > jitterbuffers. The ordinals used matches the 1.1.6 release from the > speex.org website, so any new library created with this def file should be > binary compatible with that one. > > _______________________________________________ > Speex-dev mailing list > Speex-dev@xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev-- Jean-Marc Valin <Jean-Marc.Valin@USherbrooke.ca> Universit? de Sherbrooke -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 189 bytes Desc: This is a digitally signed message part Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20050905/296736f6/attachment.pgp
Erik de Castro Lopo
2005-Sep-04 17:51 UTC
[Speex-dev] Library export file for Win32 (patch)
Jean-Marc Valin wrote:> Just curious (I've never compiled Speex on Win32 myself),Lucky you :-).> why the @1, > @2, ... at the end of the lines. Is that for a different compiler or > something?Windows, identifies functions exported from a DLL by ordinal number rather than function name. These ordinal numbers can be specified in the .def file using the @<number> notation. If you don't explicitly set them and then add a new function, the compiler might change the number to function mapping and hence break binary compatibility across releases. Yes, windows is broken :-). Erik -- +-----------------------------------------------------------+ Erik de Castro Lopo nospam@mega-nerd.com (Yes it's valid) +-----------------------------------------------------------+ The main confusion about C++ is that its practitioners think it is simultaneously a high and low level language when in reality it is good at neither.