📄 changelog
字号:
* libswfdec/js/jslog2.c: * libswfdec/js/jslong.c: * libswfdec/js/jslong.h: * libswfdec/js/jsmath.c: * libswfdec/js/jsmath.h: * libswfdec/js/jsnum.c: * libswfdec/js/jsnum.h: * libswfdec/js/jsobj.c: * libswfdec/js/jsobj.h: * libswfdec/js/jsopcode.c: * libswfdec/js/jsopcode.h: * libswfdec/js/jsopcode.tbl: * libswfdec/js/jsosdep.h: * libswfdec/js/jsotypes.h: * libswfdec/js/jsparse.c: * libswfdec/js/jsparse.h: * libswfdec/js/jsprf.c: * libswfdec/js/jsprf.h: * libswfdec/js/jsprvtd.h: * libswfdec/js/jspubtd.h: * libswfdec/js/jsregexp.c: * libswfdec/js/jsregexp.h: * libswfdec/js/jsscan.c: * libswfdec/js/jsscan.h: * libswfdec/js/jsscope.c: * libswfdec/js/jsscope.h: * libswfdec/js/jsscript.c: * libswfdec/js/jsscript.h: * libswfdec/js/jsshell.msg: * libswfdec/js/jsstddef.h: * libswfdec/js/jsstr.c: * libswfdec/js/jsstr.h: * libswfdec/js/jstypes.h: * libswfdec/js/jsutil.c: * libswfdec/js/jsutil.h: * libswfdec/js/jsxdrapi.c: * libswfdec/js/jsxdrapi.h: * libswfdec/js/prmjtime.c: * libswfdec/js/prmjtime.h: * libswfdec/render.c: * libswfdec/swf.c: * libswfdec/swfdec_actions.h: * libswfdec/swfdec_bits.c: * libswfdec/swfdec_debug.c: * libswfdec/swfdec_font.c: * libswfdec/swfdec_render.c: (swfdec_render_get_image): * libswfdec/swfdec_render.h: * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate), (swfdec_sprite_render), (swfdec_spriteseg_free), (swfdec_get_clipeventflags), (swfdec_spriteseg_place_object_2): * libswfdec/swfdec_sprite.h: * libswfdec/tags.h: Add initial support for ActionScript 2, used in Flash 5+ scripts: - Bring in Mozilla's Spidermonkey JS code, and connect it to the build. Include an INTEGRATION file noting the changes made to the code from the upstream. - Replace ActionVals with jsvals, the multiple-type value used in spidermonkey. - Set up a JS context when initializing the AS context, including array objects for stack and registers. We must be careful to store all jsvals used in our structs in some sort of rooted object, or they will be automatically garbage collected. The spidermonkey code comes with the standard Math, String, Number, etc. classes from ECMA-262. - Add support for function and method calls by moving the actionscript opcode parsing into a new action_script_call JS native function and wrapping it in JS function objects to call, including when doing the intial action_script_execute. - Add implementations of the following actions: CallFunction, CallMethod, DefineFunction, GetMember, InitObject, NewObject, SetMember, ToNumber, ToString, Modulo, BitAnd, BitLShift, BitOr, BitRShift, BitURShift, BitXor, Decrement, Increment, PushDuplicate, Swap, StoreRegister, StringGreater - Add incomplete implementations of the following actions: DefineLocal, DefineLocal2, Equals2, Typeof, Add2, Less2, Greater - Add stubs of the following actions: Delete2, NewMethod, Enumerate2, Extends - Stub out ActionMBAsciiToChar and ActionMBCharToAscii (oops). - Support the DoInitAction control tag, which executes actionscript on a given sprite once, rather than on a specific frame. - Note the names of the new MX* control tags described in the Flash 7 spec. - Add initial support for ClipEvents in PlaceObject2 control tag. - Add a callback from PlaceObject2 to actions.c so that new MovieClip objects can be created corresponding to the object. - Split the actions.c file into three -- actions_builtin.c for the native classes and functions, actions_tags.c for the Action* implementations, and actions.c contains the remainder of execution, object, type, stack, etc. support. - Remove the RenderState object and replace it with a frame_index number in the SpriteSegment. To deal with MovieClips, we will need to move more play control into the SpriteSegment (instance of a Sprite). This is a significant step towards playing Flash 5+ files correctly, but there is significant work to do. ActionNewObject appears to not call the constructor necessary if it's one we set up (as in, any class created by the script), which kills some scripts, and is a major regression from the non-spidermonkey patch. However, if this can be resolved, the spidermonkey route is clearly the way to go. MovieClip class support is also critical and used regularly by scripts.2005-03-25 David Schleef <ds@schleef.org> * libswfdec/actions.c: (action_push): Check that the register isn't NULL before copying.2005-03-24 David Schleef <ds@schleef.org> * libswfdec/swfdec_font.c: (tag_func_define_font_2): downgrade a SWFDEC_ERROR() * plugin/gstappsrc.c: (gst_appsrc_loop): quiet a GST_ERROR * plugin/gstswfdec.c: (art_warn): quiet a GST_ERROR * plugin/plugin.c: (plugin_newp), (plugin_destroy): Apparently Mozilla sends NULLs instead of strings occasionally. Account for this. Turn off debugging (again).2005-03-24 David Schleef <ds@schleef.org> * Makefile.am: Re-add m4 directory * configure.ac: Use a real macro to generate stdint.h * libswfdec/actions.c: (pc_is_valid), (action_jump), (action_if), (action_constant_pool): Check PC values when jumping. Fix memleak when freeing constant pools. (From Eric Anholt) * libswfdec/proto.h: cleanup * libswfdec/swf.c: (tag_func_end), (tag_func_ignore): cleanup. Make Protect tag quieter. * libswfdec/swfdec_internal.h: include local stdint.h * libswfdec/swfdec_shape.c: (swf_shape_get_recs), (swf_shape_ignore_recs), (swf_morphshape_get_recs): fix gratuitous use of int16_t. * m4/ax_create_stdint_h.m4: add2005-03-24 David Schleef <ds@schleef.org> Changes from Eric Anholt * configure.ac: Create a stdint.h if it doesn't exist. * libswfdec/actions.c: Fix go_to_label * libswfdec/swfdec_button.c: (tag_func_define_button_2): Use the correct segment length -- fixes warning.2005-03-24 David Schleef <ds@schleef.org> * configure.ac: version bump2005-03-24 David Schleef <ds@schleef.org> * plugin/gstappsrc.c: (gst_appsrc_class_init), (gst_appsrc_init), (gst_appsrc_get_property), (gst_appsrc_loop): Add source_url property, for relaying metadata from Mozilla * plugin/gstappsrc.h: add to object * plugin/plugin.c: (plugin_thread), (plugin_newp), (plugin_set_window): push metadata info from Mozilla to helper app * plugin/spp.h: Add new GO_TO_URL2 and METADATA methods. GO_TO_URL2 sends both the target and URL. METADATA sends metadata from Mozilla to the app. * plugin/swfdec-mozilla-player.c: (menu_open), (menu_report_bug), (button_press_event), (embed_url), (packet_go_to_url): Use new methods.2005-03-24 David Schleef <ds@schleef.org> * configure.ac: version bump * libswfdec/actions.c: (action_set_variable): set variable to the value, not the variable name. (fix from Eric Anholt)=== release 0.3.4 ===2005-03-19 David Schleef <ds@schleef.org> * configure.ac: version nano bump * plugin/Makefile.am: * plugin/gstswfdec.c: Pull from gst-plugins, since the only version that works with swfdec-mozilla-player is unreleased. * plugin/gstswfdec.h: * plugin/swfdec-mozilla-player.c: (main): use local swfdec element2005-03-19 David Schleef <ds@schleef.org> * configure.ac: use $MOZILLA_CONFIG, not mozilla-config=== release 0.3.3 ===2005-03-17 David Schleef <ds@schleef.org> * configure.ac: version bump2005-03-17 David Schleef <ds@schleef.org> * libswfdec/actions.c: (swfdec_action_script_execute), (action_get_url): quiet debugging * libswfdec/art.c: (art_rgb_svp_alpha_callback): dynamically allocate temp scanline * libswfdec/swf.c: (swfdec_decoder_set_image_size): resize fixes * libswfdec/swfdec_render.c: (swfdec_render_get_audio): quiet debugging * libswfdec/swfdec_render_libart.c: (swfdec_render_be_start): dynamically allocate temp scanline * plugin/gstappsrc.c: (gst_appsrc_loop): remove dead code * plugin/plugin.c: (plugin_thread), (plugin_newp), (plugin_destroy), (plugin_set_window): add instance to debugging * plugin/swfdec-mozilla-player.c: (main), (new_gtk_window), (timeout), (check_playing), (window_state_event), (visibility_notify_event), (unmap), (desired_size): convert to threaded pipeline, add window management stuff2005-02-11 David Schleef <ds@schleef.org> * Makefile.am: don't dist removed m4 files * configure.ac: remove m4 from ACLOCAL_FLAGS. Disable gimp plugin whenever prefix is different from gimp's prefix. Check for gstreamer. * gimp-loader/Makefile.am: disable correctly2005-02-11 David Schleef <ds@schleef.org> Major plugin changes: start using a gstreamer-based player, copying the appsrc element from gst-mozilla-player. Merge bugfixes from Debian packaging, including limiting the number of players and unblocking signals (esp. SIGHUP) so that the helper player gets killed correctly. * plugin/Makefile.am: * plugin/gstappsrc.c: (gst_appsrc_get_event_mask), (gst_appsrc_get_formats), (_do_init), (gst_appsrc_base_init), (gst_appsrc_class_init), (gst_appsrc_init), (gst_appsrc_event_handler), (gst_appsrc_set_property), (gst_appsrc_get_property), (gst_appsrc_loop), (gst_appsrc_change_state), (gst_appsrc_uri_get_type), (gst_appsrc_uri_get_protocols), (gst_appsrc_uri_get_uri), (gst_appsrc_uri_set_uri), (gst_appsrc_uri_handler_init), (plugin_init): * plugin/gstappsrc.h: * plugin/plugin.c: (plugin_fork), (plugin_thread), (plugin_newp), (plugin_destroy), (plugin_set_window): * plugin/swfdec-mozilla-player.c: (main), (do_help), (print_formats), (new_gtk_window), (button_press_event), (button_release_event), (key_press), (motion_notify), (configure_cb), (expose_cb), (destroy_cb), (embedded), (video_widget_realize), (video_widget_allocate), (desired_size), (embed_url), (packet_write):2005-01-28 David Schleef <ds@schleef.org> * configure.ac: fix liboil dependency * libswfdec/actions.c: (swfdec_action_script_execute), (action_goto_frame), (action_get_url), (action_stop), (action_stop_sounds), (action_push), (action_get_property), (action_constant_pool): implement constant pools, add warnings * libswfdec/art.c: (paint), (art_rgb_svp_alpha_callback), (swfdec_art_bpath_from_points): cleanups, use liboil * libswfdec/render.c: cleanup * libswfdec/swf.c: (swfdec_decoder_get_url): add get_url() * libswfdec/swfdec.h: same * libswfdec/swfdec_buffer.c: (swfdec_buffer_queue_free): fix leak * libswfdec/swfdec_button.c: (swfdec_button_init), (swfdec_button_dispose), (swfdec_button_render), (tag_func_define_button_2), (tag_func_define_button), (swfdec_button_execute): implement button actions * libswfdec/swfdec_button.h: same * libswfdec/swfdec_decoder.h: add url and button handling * libswfdec/swfdec_font.c: (tag_func_define_font_2): check for broken kerning entries * libswfdec/swfdec_render.c: (swfdec_render_iterate), (swfdec_render_get_image), (swfdec_render_get_audio): implement button actions. * libswfdec/swfdec_render.h: same * libswfdec/swfdec_render_libart.c: (swfdec_shape_render), (swfdec_text_render), (swfdec_render_in_button_area): implement button actions. * libswfdec/swfdec_render_libart.h: add prototypes * libswfdec/swfdec_shape.h: implement define_button * player/swf_play.c: (main), (do_safe), (packet_write): implement buttons and url handling. * plugin/plugin.c: (plugin_fork), (plugin_thread), (plugin_set_window): implement url handling * plugin/spp.h: same2005-01-12 David Schleef <ds@schleef.org> * plugin/plugin.c: (NP_GetValue): Downgrade to flash 4.0, in an attempt to get more web pages to work.2005-01-12 David Schleef <ds@schleef.org> * Makefile.am: autoregenify * autogen.sh: same * configure.ac: same * m4/as-ac-expand.m4: remove * m4/as-libtool.m4: remove * m4/as-version.m4: remove2005-01-10 David Schleef <ds@schleef.org> * gimp-loader/Makefile.am: depends on HAVE_GIMP * libswfdec/swfdec_sound.c: fixes from last checkin * libswfdec/swfdec_sound.h: same2004-12-26 David Schleef <ds@schleef.org> * configure.ac: bump to liboil-0.3 * libswfdec/actions.c: major rewrite * libswfdec/art.c: (art_bpath_cat), (art_vpath_cat): oilify * libswfdec/jpeg/jpeg.c: merge code from liboil * libswfdec/jpeg/jpeg_debug.h: debug jpeg code at swfdec level * libswfdec/swf.c: (swfdec_decoder_set_mouse), (swfdec_decoder_set_image_size), (swf_parse_header2): add mouse handling, add SoundStreamHead2 * libswfdec/swfdec.h: add mouse handling * libswfdec/swfdec_buffer.c: (swfdec_buffer_queue_pull), (swfdec_buffer_queue_peek): oilify * libswfdec/swfdec_button.c: (tag_func_define_button_2): remove get_actions() call * libswfdec/swfdec_decoder.h: add some fields * libswfdec/swfdec_render.c: (swfdec_render_resize), (compare_lists), (swfdec_render_get_image), (swfdec_render_get_audio): implement caching of partially-rendered images * libswfdec/swfdec_render.h: add protos * libswfdec/swfdec_render_cairo.c: (swfdec_render_be_start), (swfdec_render_be_clear), (draw_line), (draw), (draw_rev), (draw_x), (swfdec_shape_render), (swfdec_text_render): cleanup * libswfdec/swfdec_render_libart.c: (swfdec_render_be_start), (swfdec_render_be_clear): add backend clearing * libswfdec/swfdec_sound.c: (swfdec_sound_dispose), (tag_func_define_sound), (tag_func_sound_stream_head), (get_soundinfo), (tag_func_start_sound), (swfdec_sound_mp3_decode), (swfdec_sound_mp3_decode_stream), (convert_synth_to_buffer): implement decoding/playing of sound objects * libswfdec/swfdec_sound.h: add protos * libswfdec/swfdec_sprite.c: (swfdec_sprite_dispose), (tag_func_define_sprite): primitive sound rendering * libswfdec/swfdec_sprite.h: add field * libswfdec/swfdec_types.h: add SwfdecActionContext * player/swf_play.c: (main), (do_safe), (sound_setup), (render_idle_audio): handle mouse events. * swfdec.pc.in: add liboil to requires:2004-12-10 David Schleef <ds@schleef.org>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -