Fix setting value when getting a variable and prototype recursion limit is hit
[swfdec.git] / ChangeLog
blobad67c5781e53d0651e37d0d1e20bf78abec942bd
1 2006-01-22  David Schleef  <ds@schleef.org>
3         * README:
4         * plugin/plugin.c:
5           Update some words.
7 2006-01-22  David Schleef  <ds@schleef.org>
9         * plugin/Makefile.am:
10           Don't link against mozilla libs, since we don't actually
11           use them.
13 2006-01-09  David Schleef  <ds@schleef.org>
15         * NEWS: update the news
16         * configure.ac: bump version
18 2006-01-09  David Schleef  <ds@schleef.org>
20         * configure.ac: remove more player bits
21         * player/.cvsignore:
23 2006-01-09  David Schleef  <ds@schleef.org>
25         * INSTALL: updated by autoconf.
26         * configure.ac: we only use pkg-config to detect mozilla now.
27           start using gstreamer-0.10.  Remove SDL check.
28         * Makefile.am: remove SDL player subdir
29         * libswfdec/actions_tags.c: add audio_stop_sounds()
30         * libswfdec/proto.h: add protect()
31         * libswfdec/swf.c: disable experimental code by default
32         * libswfdec/swfdec_audio.c: implement audio_stop_sounds()
33         * libswfdec/swfdec_audio.h: same
34         * libswfdec/swfdec_image.c: handle jpegtables better
35         * libswfdec/swfdec_render.c: change ERROR to DEBUG
36         * libswfdec/swfdec_tag.c: implement protect
37         * plugin/gstswfdec.c: hacking to make plugin better
38         * plugin/swfdec-mozilla-player.c: same
39         * test/Makefile.am: disable some tests that don't compile
40         * player/Makefile.am: remove SDL player
41         * player/swf_play.c: remove SDL player
43 2006-01-09  David Schleef  <ds@schleef.org>
45         * plugin/Makefile.am:
46         * plugin/gstappsrc.c:
47         * plugin/gstappsrc.h:
48         * plugin/gstswfdec.c:
49         * plugin/gstswfdec.h:
50         * plugin/plugin.c:
51         * plugin/swfdec-mozilla-player.c:
52           Dude, the mojira plugin all works and shit.
54 2006-01-08  David Schleef  <ds@schleef.org>
56         * plugin/Makefile.am:
57         * plugin/gstswfdec.c:
58         * plugin/gstswfdec.h:
59         * plugin/swfdec-mozilla-player.c:
60           Checkpoint on plugin/player fixes.
62 2005-12-16  David Schleef  <ds@schleef.org>
64         * libswfdec/actions.c:
65         * libswfdec/actions_tags.c:
66         * libswfdec/swf.c:
67         * libswfdec/swfdec_render.c:
68         * libswfdec/swfdec_render.h:
69         * libswfdec/swfdec_render_cairo.c:
70           Add some debuggering code.  Fix some bugs:
71            - fix image translation matrix
72            - fix (finally?) how the next frame is decided
73            - assume id==0 is the main sprite
74            - fix random crashes
76 2005-12-16  David Schleef  <ds@schleef.org>
78         * libswfdec/Makefile.am:
79         * libswfdec/actions_tags.c:
80         * libswfdec/swf.c:
81         * libswfdec/swfdec_decoder.h:
82         * libswfdec/swfdec_decoder_internal.h:
83         * libswfdec/swfdec_internal.h:
84           Add a function to flag running experimental code.
86 2005-12-16  David Schleef  <ds@schleef.org>
88         * libswfdec/swfdec_button.c: (swfdec_button_dispose): Fix
89           a leak.
91 2005-12-05  David Schleef  <ds@schleef.org>
93         * README:  The Limitations section was out of date.
95 2005-11-30  David Schleef  <ds@schleef.org>
97         * libswfdec/js/js.c: (ZZ_formatter):
98         * libswfdec/js/jsapi.c: (TryArgumentFormatter):
99         * libswfdec/js/jsapi.h:
100         * libswfdec/js/jspubtd.h:
101           Fix usage of 'va_list *', it's wrong and doesn't work on powerpc.
102           Noticed (and mostly fixed) by David Woodhouse.
103         * player/swf_play.c:
104           Remove unnecessary header.
106 2005-10-25  David Schleef  <ds@schleef.org>
108         * libswfdec/swfdec_button.c: Fix silly crasher and memleak.
110 2005-10-25  David Schleef  <ds@schleef.org>
112         * libswfdec/swfdec_cache.c: New code to help with caching data.
113         * libswfdec/swfdec_cache.h:
114         * libswfdec/swfdec_internal.h:
115         * libswfdec/Makefile.am:
116         * libswfdec/swf.c:
117         * libswfdec/swfdec_decoder.h:
119         * libswfdec/swfdec_image.c: Use cache/handles in image decoding.
120         * libswfdec/swfdec_image.h:
121         * libswfdec/swfdec_render_cairo.c:
122         * libswfdec/swfdec_shape.c:
123         * libswfdec/swfdec_types.h:
125 2005-10-23  David Schleef  <ds@schleef.org>
127         * libswfdec/Makefile.am:  Move almost all tag parsing code into
128           swfdec_tag.c
129         * libswfdec/actions.c:
130         * libswfdec/actions_builtin.c:
131         * libswfdec/color.c:
132         * libswfdec/swf.c:
133         * libswfdec/swfdec_button.c:
134         * libswfdec/swfdec_display.c:
135         * libswfdec/swfdec_display.h:
136         * libswfdec/swfdec_font.c:
137         * libswfdec/swfdec_internal.h:
138         * libswfdec/swfdec_render.c:
139         * libswfdec/swfdec_shape.c:
140         * libswfdec/swfdec_sprite.c:
141         * libswfdec/swfdec_sprite.h:
142         * libswfdec/swfdec_tag.c:
143         * libswfdec/swfdec_text.c:
145 2005-10-19  David Schleef  <ds@schleef.org>
147         * libswfdec/actions_builtin.c: (mc_attachMovie): Change sprite
148           data structure so that each frame has a struct that contains
149           information about the frame, including layers and sprite
150           segments to display.
151         * libswfdec/render.c: (tag_place_object_2), (tag_remove_object),
152         (tag_remove_object_2), (tag_show_frame):
153         * libswfdec/swf.c: (swf_parse_header2):
154         * libswfdec/swfdec_render.c: (swfdec_render_get_image),
155         (swfdec_render_get_audio):
156         * libswfdec/swfdec_sound.c: (tag_func_start_sound):
157         * libswfdec/swfdec_sprite.c: (swfdec_sprite_dispose),
158         (swfdec_sprite_add_sound_chunk), (swfdec_sprite_add_action),
159         (swfdec_sprite_render_iterate), (swfdec_sprite_render),
160         (tag_func_define_sprite), (swfdec_sprite_get_seg),
161         (swfdec_sprite_frame_add_seg), (swfdec_sprite_frame_remove_seg),
162         (swfdec_spriteseg_place_object_2),
163         (swfdec_spriteseg_remove_object),
164         (swfdec_spriteseg_remove_object_2):
165         * libswfdec/swfdec_sprite.h:
166         * libswfdec/swfdec_types.h:
168         * test/Makefile.am: add parse
169         * test/dump.c: (dump_sprite): Disable code instead of fixing it.
170         * test/parse.c: (buffer_free), (main): only parse input, don't
171           render.
173 2005-10-19  Eric Anholt  <anholt@FreeBSD.org>
175         * libswfdec/actions_tags.c: (action_extends):
176         Throw together a slightly less stubbed ActionExtends.  May still have
177         issues with the constructor getting hooked up.
179 2005-10-17  David Schleef  <ds@schleef.org>
181         * plugin/plugin.c: Update message.
183 2005-10-16  Eric Anholt  <anholt@FreeBSD.org>
185         * libswfdec/Makefile.am:
186         * libswfdec/actions_builtin.c:
187         * libswfdec/actions_tags.c:
188         * libswfdec/swf.c:
189         * libswfdec/swfdec_audio.c:
190         * libswfdec/swfdec_bits.c:
191         * libswfdec/swfdec_debug.h:
192         * libswfdec/swfdec_object.c:
193         * libswfdec/swfdec_shape.c:
194         * libswfdec/swfdec_sound.c:
195         Minor cleanups exposed by sparse: mark several things static, add
196         a prototype for another, and add descriptions for some MB actions.  Fix
197         a broken include path that sparse choked on.
199 2005-10-16  Eric Anholt  <anholt@FreeBSD.org>
201         * libswfdec/actions_tags.c: (action_push):
202         Fix a memory leak in string pushes.
204 2005-10-10  David Schleef  <ds@schleef.org>
206         * libswfdec/jpeg/huffman.c: (huffman_table_decode_macroblock):
207         * libswfdec/jpeg/jpeg.c: (generate_code_table):
208         * libswfdec/jpeg/jpeg_debug.h: Turn off JPEG debugging.
210 2005-08-29  Eric Anholt  <anholt@FreeBSD.org>
212         * libswfdec/actions_builtin.c: (movieclip_new):
213         Fix another GC breakage in movieclip rooting.  Roots are added as
214         pointers to gc-things (where a gc-thing is a pointer to a JS_object,
215         jdouble, etc.).  However, the pointer-to-gcthing must remain valid until
216         JS_RemoveRoot, while we were passing a pointer to a stack variable.
217         Many thanks to Brendan Eich (spidermonkey developer) for giving me the
218         pointer on how to fix it.
220 2005-08-29  Eric Anholt  <anholt@FreeBSD.org>
222         * libswfdec/actions.c: (swfdec_init_context):
223         * libswfdec/actions_builtin.c: (action_register_sprite_seg):
224         * libswfdec/swfdec_actions.h:
225         Expand the scope of GC debugging, exposing a new issue quickly.
227 2005-08-29  Eric Anholt  <anholt@FreeBSD.org>
229         * libswfdec/actions_builtin.c: (swfdec_init_context_builtins):
230         Don't forget to initialize the jsval when setting _root.  Fixes a GC
231         crash, at a minimum.
233 2005-08-27  Eric Anholt  <anholt@FreeBSD.org>
235         * libswfdec/actions.c: (swfdec_init_context), (action_script_call),
236         (swfdec_action_script_execute), (stack_push):
237         * libswfdec/actions_builtin.c: (movieclip_new):
238         * libswfdec/actions_tags.c: (stack_pop_to_string),
239         (stack_pop_to_object), (stack_pop_to_number), (stack_pop_to_int32),
240         (stack_pop_to_bool), (action_alloc_stack_argv),
241         (action_free_stack_argv), (action_push), (action_binary_op),
242         (action_string_equals), (action_string_length),
243         (action_string_add), (action_string_extract), (action_string_less),
244         (action_mb_string_length), (action_mb_string_extract),
245         (action_to_integer), (action_char_to_ascii),
246         (action_ascii_to_char), (action_mb_char_to_ascii),
247         (action_mb_ascii_to_char), (action_if), (action_get_variable),
248         (action_set_variable), (action_define_local),
249         (action_get_property), (action_set_property),
250         (action_clone_sprite), (action_start_drag), (action_trace),
251         (action_random_number), (action_call_function),
252         (action_call_method), (action_define_function),
253         (action_get_member), (action_init_object), (action_new_method),
254         (action_new_object), (action_set_member), (action_to_number),
255         (action_to_string), (action_add_2), (action_less_2),
256         (action_unary_op), (action_string_greater), (action_extends):
257         Improve GC-safety of actionscript code by being more careful with
258         storage of short-lived values and results of conversions.  Also corrects
259         some misuse of the result of JS_ValueToNumber, improves error checking,
260         and fixes JS_AddRoot arguments.  Finally, a define is added to allow for
261         forcing frequent GCing, which exposes that we've got issues (still).
263 2005-08-17  David Schleef  <ds@schleef.org>
265         * libswfdec/swfdec_bits.c: (swfdec_bits_syncbits): disable the
266         endpoint checking, because it's not important here.
267         * libswfdec/swfdec_render.c: (swfdec_render_iterate): change
268         errors into debugging
269         * libswfdec/swfdec_render_cairo.c: (swfdec_shape_render): handle
270         button mapping in cairo backend, the same crappy way we do
271         with libart.
273 2005-08-11  David Schleef  <ds@schleef.org>
275         * libswfdec/actions_tags.c: (action_goto_frame),
276         (action_next_frame), (action_previous_frame): Trying to make
277         all the frame navigation code work together.
278         * libswfdec/art.c: (art_rgb_fill_run), (art_rgb_run_alpha_2),
279         (compose_const_rgb888_u8), (compose_rgb888_u8):
280         * libswfdec/jpeg/huffman.c: (huffman_table_decode_macroblock): bug
281         fix in debugging output.
282         * libswfdec/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment),
283         (jpeg_decoder_addbits): Make debugging quieter.
284         * libswfdec/swfdec_bits.c: (swfdec_bits_valid),
285         (swfdec_bits_getbit), (swfdec_bits_getbits),
286         (swfdec_bits_getsbits), (swfdec_bits_peek_u8),
287         (swfdec_bits_get_u8), (swfdec_bits_get_u16), (swfdec_bits_get_s16),
288         (swfdec_bits_get_be_u16), (swfdec_bits_get_u32),
289         (swfdec_bits_syncbits): Check validity of pointers.
290         * libswfdec/swfdec_button.c: (swfdec_button_execute): execute
291         code at the end of a frame.
292         * libswfdec/swfdec_decoder.h: same
293         * libswfdec/swfdec_render.c: (swfdec_render_iterate): same
294         * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate): same
295         * libswfdec/swfdec_sprite.h: same
296         * libswfdec/swfdec_render_cairo.c: (swfdec_shape_render): set
297         pattern extension correctly.
298         * libswfdec/swfdec_shape.c: (swf_shape_add_styles),
299         (swf_morphshape_add_styles): remove mysterious factor, because it's
300         not necessary with cairo.
301         * libswfdec/swfdec_text.c: (define_text): more checking.
303 2005-06-28  David Schleef  <ds@schleef.org>
305         * configure.ac: Make cairo backend default, because I like it.
306         * libswfdec/swfdec_audio.c: (swfdec_audio_render): remove debugging
307         * libswfdec/swfdec_render_cairo.c: (swfdec_matrix_to_cairo),
308         (swfdec_shape_render): Add gradients and images.
309         * plugin/swfdec-mozilla-player.c: (create_pipeline): use
310         gconfaudiosink element instead of gconf stuff.
312 2005-06-16  Eric Anholt  <anholt@FreeBSD.org>
314         * libswfdec/swf.c:
315         * libswfdec/tags.h:
316         Document a couple more tag names.  Couldn't find what MX4 is.
318 2005-06-16  Eric Anholt  <anholt@FreeBSD.org>
320         * libswfdec/swfdec_shape.c: (swf_shape_add_styles),
321         (swfdec_shape_compose):
322         Add support for fill style type 0x42 and 0x43, the unsmoothed versions
323         of the previous two fill styles.  Actually, the previous two are
324         unsmoothed in our current implementation.  Also, attempt to support
325         repeating fill styles, though I don't have a good test for them.
327 2005-05-27  David Schleef  <ds@schleef.org>
329         * MAINTAINERS: add contact info
330         * README:
332 2005-05-21  David Schleef  <ds@schleef.org>
334         * libswfdec/swfdec_audio.c: (swfdec_audio_render): Fix
335           copy-past-end-of-buffer bug that was causing noise.
337 2005-05-21  David Schleef  <ds@schleef.org>
339         * libswfdec/Makefile.am:
340         * libswfdec/swf.c:
341         * libswfdec/swfdec_audio.c:
342         * libswfdec/swfdec_audio.h:
343         * libswfdec/swfdec_buffer.c:
344         * libswfdec/swfdec_buffer.h:
345         * libswfdec/swfdec_decoder.h:
346         * libswfdec/swfdec_internal.h:
347         * libswfdec/swfdec_render.c:
348         * libswfdec/swfdec_sound.c:
349           Mostly implement an audio mixing subsystem.
351 2005-05-12  David Schleef  <ds@schleef.org>
353         * plugin/swfdec-mozilla-player.c: (create_pipeline): Add a
354         colorspace to the pipeline, since a negotiation failure will
355         occur unless the XImage format is exactly the same as swfdec's
356         colorspace.
358 2005-05-08  David Schleef  <ds@schleef.org>
360         Fixes for -wsigned-compare, default in gcc-4.0:
361         * configure.ac: reenable -Werror
362         * libswfdec/actions.c: (stack_pop), (stack_show),
363         (stack_show_value):
364         * libswfdec/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment):
365         * libswfdec/js/Makefile.am:
366         * libswfdec/js/jsdtoa.c: (ulp), (b2d), (JS_strtod):
367         * libswfdec/js/jsinterp.c: (js_Interpret):
368         * libswfdec/js/jsstr.c: (str_split):
369         * libswfdec/swfdec_actions.h:
370         * libswfdec/swfdec_bits.c: (swfdec_bits_get_string):
371         * libswfdec/swfdec_decoder.h:
373 2005-05-08  David Schleef  <ds@schleef.org>
375         * configure.ac: oops, checked in a mistake.
376         * libswfdec/actions_tags.c: (action_define_function_2): fix warning
377         * libswfdec/swfdec_render_cairo.c: (swfdec_render_be_start),
378         (swfdec_render_be_clear), (swfdec_shape_render),
379         (swfdec_text_render): Update to new cairo API.
380         * libswfdec/jpeg/huffman.c: (huffman_table_decode_macroblock):
381         remove random printf
382         * plugin/Makefile.am: Disable plugin building if gstreamer isn't
383         around.
385         Fixes for -wsigned-compare, default in gcc-4.0:
386         * libswfdec/swfdec_decoder.h: fix endianness
387         * pixbuf-loader/io-swf.c: (fill_info):
388         * player/swf_play.c: (main):
389         * plugin/gstappsrc.c: (gst_appsrc_loop):
390         * plugin/swfdec-mozilla-player.c: (found_tags):
391         * test/dump.c: (main):
393 2005-05-06  Eric Anholt  <anholt@FreeBSD.org>
395         * libswfdec/actions.c: (action_script_call),
396         (swfdec_action_script_execute), (name_object):
397         * libswfdec/actions_builtin.c: (swfdec_init_context_builtins),
398         (action_register_sprite_seg):
399         * libswfdec/actions_tags.c: (action_call_function),
400         (action_call_method):
401         * libswfdec/swfdec_actions.h:
402         - Add new named movieclips as members of their parent movieclip.
403         - Store the root object in the actionscript context, and use that
404           instead of looking it up all the time.
405         - Make name_object public (perhaps needs a better name) and make it
406           recognize _root as well.  Use it in registering movieclips as well as
407           stack_show().
409 2005-05-05  Eric Anholt  <anholt@FreeBSD.org>
411         * libswfdec/actions_tags.c: (action_mb_char_to_ascii),
412         (action_mb_ascii_to_char), (action_get_time), (action_enumerate_2),
413         (action_extends):
414         - Re-add code for MB conversion actions, though it is untested.  These
415           were removed with the conversion to js code.
416         - Add warnings in some unimplemented actions, along with the FIXMEs.
418 2005-05-05  Eric Anholt  <anholt@FreeBSD.org>
420         * libswfdec/actions.c: (action_script_call), (stack_show),
421         (jsval_as_object):
422         * libswfdec/actions_tags.c: (action_define_local),
423         (action_new_object), (action_set_member):
424         - Fix setting of register arguments for Function2s.  It was still
425           trying to stack_pop them from before when arguments were made to be
426           passed through argv[].
427         - Don't pop the set of arguments for an ActionNew twice.
428         - Fix printing of integers in stack_show().
429         - Increase verbosity of debugging info in ActionDefineLocal and
430           ActionSetProperty.
432 2005-05-05  Eric Anholt  <anholt@FreeBSD.org>
434         * libswfdec/actions.c: (jsval_as_object):
435         * libswfdec/actions_builtin.c: (mc_getBytesLoaded),
436         (mc_getBytesTotal):
437         * libswfdec/actions_tags.c: (action_call_function),
438         (action_call_method), (action_get_member), (action_new_object),
439         (action_set_member), (action_extends):
440         * libswfdec/swfdec_actions.h:
441         - Add a new jsval_as_object function.  This checks if the value is an
442           object and returns it before trying to use JS_ValueToObject.
443           JS_ValueToObject had some strange side effects when being called on
444           objects, and we might not even need to use JS_ValueToObject in
445           handling AS bytecode.  Workarounds were happening in the code for
446           specific problems as a result of this already.  Leave an INFO message
447           in to see if we ever hit the JS_ValueToObject case.
448         - Add stubs for getBytesLoaded and getBytesTotal, which are called
449           frequently.  Returning 0 (undef) for getBytesTotal is likely to lead
450           to divides by zero.
451         - Make CallFunction check for methods in the root object along with
452           global.  It's not clear what the scope for functions is from the docs,
453           so we'll have to settle with an accumulated list for now.
455 2005-05-05  David Schleef  <ds@schleef.org>
457         * libswfdec/actions_tags.c: (action_call_method): workaround
458         for TAG_C corruption.
460 2005-04-22  David Schleef  <ds@schleef.org>
462         * libswfdec/actions.c: (action_script_call),
463         (swfdec_action_script_execute): debug skipped action tags
464         * libswfdec/actions_builtin.c: (mc_attachMovie): properly
465         terminate movieclip_props.
466         * libswfdec/actions_tags.c: (action_goto_frame),
467         (action_call_method): hack fix for goto_frame.  Check for
468         bogus argc parameters in call_method.
469         * libswfdec/swf.c: (swfdec_decoder_get_version): Add function.
470         * libswfdec/swfdec.h: same.
471         * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate):
472         Disable code that causes rendering problems.
473         * plugin/gstswfdec.c: (gst_swfdec_loop): create gst tag for
474         codec version.
475         * plugin/swfdec-mozilla-player.c: (main), (create_pipeline),
476         (new_gtk_window), (do_error_message), (timeout), (menu_report_bug),
477         (menu_copy_url), (button_press_event), (expose), (found_tags):
478         Random hacking: clean up error handling, print errors as a
479         label, add "Copy URL" to menu, check codec version (from tag)
480         and complain if it's too high.
482 2005-04-10  Eric Anholt  <anholt@FreeBSD.org>
484         * libswfdec/actions_builtin.c: (mc_play), (mc_stop):
485         * libswfdec/actions_tags.c: (action_get_variable),
486         (action_get_member), (action_new_object),
487         (action_define_function_2):
488         Hook up named function2s (like original functions), and improve some
489         debugging output while I'm here.
491 2005-04-10  Eric Anholt  <anholt@FreeBSD.org>
493         * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate):
494         Logging of frame numbers during render_iterate isn't WARNING material.
496 2005-04-10  Eric Anholt  <anholt@FreeBSD.org>
498         * libswfdec/actions_builtin.c: (mc_attachMovie), (mc_x_get),
499         (mc_x_set), (mc_y_get), (mc_y_set), (movieclip_find):
500         * libswfdec/swf.c:
501         * libswfdec/swfdec_decoder.h:
502         * libswfdec/swfdec_sprite.c: (swfdec_exports_lookup),
503         (tag_func_export_assets):
504         * libswfdec/swfdec_sprite.h:
505         - Support ExportAssets, which is used in attachMovie to refer to sprites
506           by name.
507         - Fill in MovieClip.attachMovie and add getters/setters for
508           MovieClip._x and _y.
510 2005-04-08  Eric Anholt  <anholt@FreeBSD.org>
512         * libswfdec/js/INTEGRATION:
513         * libswfdec/js/jsprf.c:
514         Use G_VA_COPY instead of looking for a define from elsewhere, partially
515         fixing 64-bit builds.
517 2005-04-08  Eric Anholt  <anholt@FreeBSD.org>
519         * libswfdec/actions.c: (action_script_call),
520         (swfdec_action_script_execute):
521         * libswfdec/actions_builtin.c: (mc_play), (mc_stop),
522         (mc_attachMovie), (movieclip_new), (movieclip_find),
523         (swfdec_init_context_builtins), (action_register_sprite_seg):
524         * libswfdec/actions_tags.c: (action_goto_frame),
525         (action_next_frame), (action_previous_frame), (action_play),
526         (action_stop), (action_call_function), (action_call_method):
527         * libswfdec/js/jslibmath.h:
528         * libswfdec/render.c: (tag_place_object_2):
529         * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_parse),
530         (swfdec_decoder_free), (swf_parse_header2):
531         * libswfdec/swfdec_actions.h:
532         * libswfdec/swfdec_bits.c: (swfdec_bits_get_string):
533         * libswfdec/swfdec_debug.c:
534         * libswfdec/swfdec_decoder.h:
535         * libswfdec/swfdec_font.c: (tag_func_define_font_2):
536         * libswfdec/swfdec_render.c: (swfdec_render_iterate):
537         * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate),
538         (swfdec_sprite_render), (swfdec_spriteseg_dup),
539         (swfdec_spriteseg_free), (swfdec_spriteseg_place_object_2):
540         * libswfdec/swfdec_sprite.h:
541         - Make a sprite segment to handle the root Timeline, simplifying the
542           swfdec_sprite_render_iterate loop and actionscript code.  "stopped" is
543           now set in segments, rather than global render state, and some frame
544           index control has moved there as well.  Fix the render_iterate loop
545           for recursion.
546         - Attach a MovieClip instance to all segments, not just ones with
547           PlaceObject2 performed on them with a name.
548         - Handle the "root" variable in actionscripts, mostly.  There's a
549           lockroot property of movieclips which affects it, and we don't handle
550           that.
551         - Make the "this" value of global functions and action_script_execute
552           calls be "root" rather than "_global".  This is not quite correct, as
553           clipevents (for example) use the movie clip they're associated with,
554           not the root timeline.
555         - Flesh out the MovieClip class a little, providing a play and stop
556           function and a stub attachMovie which is the next to be filled in,
557           most likely.
558         - Eliminate some dead code.
560 2005-04-08  Eric Anholt  <anholt@FreeBSD.org>
562         * .cvsignore:
563         * glib-compat/glib/.cvsignore:
564         * libswfdec/js/.cvsignore:
565         * plugin/.cvsignore:
566         Add some more .cvsignore bits.
568 2005-04-07  Eric Anholt  <anholt@FreeBSD.org>
570         * libswfdec/actions.c: (pc_is_valid):
571         Allow jumps to endpc to handle functions which jump outside themselves
572         in order to return.  action_script_call correctly returns when this
573         happens.
575 2005-04-07  Eric Anholt  <anholt@FreeBSD.org>
577         * plugin/Makefile.am:
578         Don't attempt to build the plugin or the associated player if
579         WITH_MOZILLA is unset.
581 2005-04-07  David Schleef  <ds@schleef.org>
583         * configure.ac: Switch to using GLOBAL_CFLAGS for -Wall and
584         -Werror, so they get propograted everywhere.
585         * gimp-loader/Makefile.am:
586         * glib-compat/glib/Makefile.am:
587         * libswfdec/Makefile.am:
588         * libswfdec/jpeg/Makefile.am:
589         * libswfdec/js/Makefile.am:
590         * libswfdec/mpeg/Makefile.am:
591         * pixbuf-loader/Makefile.am:
592         * player/Makefile.am:
593         * plugin/Makefile.am:
594         * test/Makefile.am:
596 2005-04-07  David Schleef  <ds@schleef.org>
598         * libswfdec/swf.c: (tag_func_ignore): Fix segfault.
600 2005-04-07  Eric Anholt  <anholt@FreeBSD.org>
602         * libswfdec/actions_tags.c: (action_new_object):
603         Check if the class name of the object looked up during ActionNewObject
604         matches the object's name.  If not, then it's probably js_ObjectClass
605         (or is that js_FunctionClass?) and we're dealing with a class that was
606         defined by the script and not a standard one.  Since these classes don't
607         get their constructors found by JS_* functions, make a new object and
608         call the constructor ourselves.  Also, use the "parent" field properly,
609         I hope.
611 2005-04-05  David Schleef  <ds@schleef.org>
613         * configure.ac: disable creating _stdint.h
614         * libswfdec/Makefile.am: set CFLAGS correctly for js
615         * libswfdec/art.c: use glib types
616         * libswfdec/js/Makefile.am: create jsautocfg.h at compile time
617         * libswfdec/js/jsautocfg.h: remove
618         * libswfdec/js/jslibmath.h: disable math code that isn't slurped
619         * libswfdec/swfdec_internal.h: don't include _stdint.h
620         * libswfdec/swfdec_render.c: use glib types
622 2005-04-04  Eric Anholt  <anholt@FreeBSD.org>
624         * .cvsignore:
625         * configure.ac:
626         * libswfdec/Makefile.am:
627         * libswfdec/actions.c:
628         * libswfdec/actions_builtin.c:
629         * libswfdec/actions_tags.c:
630         * libswfdec/js/.cvsignore:
631         * libswfdec/js/INTEGRATION:
632         * libswfdec/js/Makefile.am:
633         * libswfdec/js/js.c:
634         * libswfdec/js/js.msg:
635         * libswfdec/js/jsapi.c:
636         * libswfdec/js/jsapi.h:
637         * libswfdec/js/jsarena.c:
638         * libswfdec/js/jsarena.h:
639         * libswfdec/js/jsarray.c:
640         * libswfdec/js/jsarray.h:
641         * libswfdec/js/jsatom.c:
642         * libswfdec/js/jsatom.h:
643         * libswfdec/js/jsautocfg.h:
644         * libswfdec/js/jsbit.h:
645         * libswfdec/js/jsbool.c:
646         * libswfdec/js/jsbool.h:
647         * libswfdec/js/jsclist.h:
648         * libswfdec/js/jscntxt.c:
649         * libswfdec/js/jscntxt.h:
650         * libswfdec/js/jscompat.h:
651         * libswfdec/js/jsconfig.h:
652         * libswfdec/js/jscpucfg.c:
653         * libswfdec/js/jscpucfg.h:
654         * libswfdec/js/jsdate.c:
655         * libswfdec/js/jsdate.h:
656         * libswfdec/js/jsdbgapi.c:
657         * libswfdec/js/jsdbgapi.h:
658         * libswfdec/js/jsdhash.c:
659         * libswfdec/js/jsdhash.h:
660         * libswfdec/js/jsdtoa.c:
661         * libswfdec/js/jsdtoa.h:
662         * libswfdec/js/jsemit.c:
663         * libswfdec/js/jsemit.h:
664         * libswfdec/js/jsexn.c:
665         * libswfdec/js/jsexn.h:
666         * libswfdec/js/jsfile.c:
667         * libswfdec/js/jsfile.h:
668         * libswfdec/js/jsfun.c:
669         * libswfdec/js/jsfun.h:
670         * libswfdec/js/jsgc.c:
671         * libswfdec/js/jsgc.h:
672         * libswfdec/js/jshash.c:
673         * libswfdec/js/jshash.h:
674         * libswfdec/js/jsinterp.c:
675         * libswfdec/js/jsinterp.h:
676         * libswfdec/js/jslibmath.h:
677         * libswfdec/js/jslock.c:
678         * libswfdec/js/jslock.h:
679         * libswfdec/js/jslog2.c:
680         * libswfdec/js/jslong.c:
681         * libswfdec/js/jslong.h:
682         * libswfdec/js/jsmath.c:
683         * libswfdec/js/jsmath.h:
684         * libswfdec/js/jsnum.c:
685         * libswfdec/js/jsnum.h:
686         * libswfdec/js/jsobj.c:
687         * libswfdec/js/jsobj.h:
688         * libswfdec/js/jsopcode.c:
689         * libswfdec/js/jsopcode.h:
690         * libswfdec/js/jsopcode.tbl:
691         * libswfdec/js/jsosdep.h:
692         * libswfdec/js/jsotypes.h:
693         * libswfdec/js/jsparse.c:
694         * libswfdec/js/jsparse.h:
695         * libswfdec/js/jsprf.c:
696         * libswfdec/js/jsprf.h:
697         * libswfdec/js/jsprvtd.h:
698         * libswfdec/js/jspubtd.h:
699         * libswfdec/js/jsregexp.c:
700         * libswfdec/js/jsregexp.h:
701         * libswfdec/js/jsscan.c:
702         * libswfdec/js/jsscan.h:
703         * libswfdec/js/jsscope.c:
704         * libswfdec/js/jsscope.h:
705         * libswfdec/js/jsscript.c:
706         * libswfdec/js/jsscript.h:
707         * libswfdec/js/jsshell.msg:
708         * libswfdec/js/jsstddef.h:
709         * libswfdec/js/jsstr.c:
710         * libswfdec/js/jsstr.h:
711         * libswfdec/js/jstypes.h:
712         * libswfdec/js/jsutil.c:
713         * libswfdec/js/jsutil.h:
714         * libswfdec/js/jsxdrapi.c:
715         * libswfdec/js/jsxdrapi.h:
716         * libswfdec/js/prmjtime.c:
717         * libswfdec/js/prmjtime.h:
718         * libswfdec/render.c:
719         * libswfdec/swf.c:
720         * libswfdec/swfdec_actions.h:
721         * libswfdec/swfdec_bits.c:
722         * libswfdec/swfdec_debug.c:
723         * libswfdec/swfdec_font.c:
724         * libswfdec/swfdec_render.c:
725         (swfdec_render_get_image):
726         * libswfdec/swfdec_render.h:
727         * libswfdec/swfdec_sprite.c: (swfdec_sprite_render_iterate),
728         (swfdec_sprite_render), (swfdec_spriteseg_free),
729         (swfdec_get_clipeventflags), (swfdec_spriteseg_place_object_2):
730         * libswfdec/swfdec_sprite.h:
731         * libswfdec/tags.h:
732         Add initial support for ActionScript 2, used in Flash 5+ scripts:
733         - Bring in Mozilla's Spidermonkey JS code, and connect it to the build.
734           Include an INTEGRATION file noting the changes made to the code from
735           the upstream.
736         - Replace ActionVals with jsvals, the multiple-type value used in
737           spidermonkey.
738         - Set up a JS context when initializing the AS context, including array
739           objects for stack and registers.  We must be careful to store all
740           jsvals used in our structs in some sort of rooted object, or they will
741           be automatically garbage collected.  The spidermonkey code comes with
742           the standard Math, String, Number, etc. classes from ECMA-262.
743         - Add support for function and method calls by moving the actionscript
744           opcode parsing into a new action_script_call JS native function and
745           wrapping it in JS function objects to call, including when doing
746           the intial action_script_execute.
747         - Add implementations of the following actions: CallFunction,
748           CallMethod, DefineFunction, GetMember, InitObject, NewObject,
749           SetMember, ToNumber, ToString, Modulo, BitAnd, BitLShift, BitOr,
750           BitRShift, BitURShift, BitXor, Decrement, Increment, PushDuplicate,
751           Swap, StoreRegister, StringGreater
752         - Add incomplete implementations of the following actions: DefineLocal,
753           DefineLocal2, Equals2, Typeof, Add2, Less2, Greater
754         - Add stubs of the following actions: Delete2, NewMethod, Enumerate2,
755           Extends
756         - Stub out ActionMBAsciiToChar and ActionMBCharToAscii (oops).
757         - Support the DoInitAction control tag, which executes actionscript on a
758           given sprite once, rather than on a specific frame.
759         - Note the names of the new MX* control tags described in the Flash 7
760           spec.
761         - Add initial support for ClipEvents in PlaceObject2 control tag.
762         - Add a callback from PlaceObject2 to actions.c so that new MovieClip
763           objects can be created corresponding to the object.
764         - Split the actions.c file into three -- actions_builtin.c for the
765           native classes and functions, actions_tags.c for the Action*
766           implementations, and actions.c contains the remainder of execution,
767           object, type, stack, etc. support.
768         - Remove the RenderState object and replace it with a frame_index number
769           in the SpriteSegment.  To deal with MovieClips, we will need to move
770           more play control into the SpriteSegment (instance of a Sprite).
771         
772         This is a significant step towards playing Flash 5+ files correctly, but
773         there is significant work to do.  ActionNewObject appears to not call
774         the constructor necessary if it's one we set up (as in, any class
775         created by the script), which kills some scripts, and is a major
776         regression from the non-spidermonkey patch.  However, if this can be
777         resolved, the spidermonkey route is clearly the way to go.  MovieClip
778         class support is also critical and used regularly by scripts.
780 2005-03-25  David Schleef  <ds@schleef.org>
782         * libswfdec/actions.c: (action_push): Check that the register
783         isn't NULL before copying.
785 2005-03-24  David Schleef  <ds@schleef.org>
787         * libswfdec/swfdec_font.c: (tag_func_define_font_2): downgrade
788         a SWFDEC_ERROR()
789         * plugin/gstappsrc.c: (gst_appsrc_loop): quiet a GST_ERROR
790         * plugin/gstswfdec.c: (art_warn): quiet a GST_ERROR
791         * plugin/plugin.c: (plugin_newp), (plugin_destroy): Apparently
792         Mozilla sends NULLs instead of strings occasionally.  Account
793         for this.  Turn off debugging (again).
795 2005-03-24  David Schleef  <ds@schleef.org>
797         * Makefile.am: Re-add m4 directory
798         * configure.ac: Use a real macro to generate stdint.h
799         * libswfdec/actions.c: (pc_is_valid), (action_jump), (action_if),
800         (action_constant_pool): Check PC values when jumping.  Fix memleak
801         when freeing constant pools.  (From Eric Anholt)
802         * libswfdec/proto.h: cleanup
803         * libswfdec/swf.c: (tag_func_end), (tag_func_ignore): cleanup.
804         Make Protect tag quieter.
805         * libswfdec/swfdec_internal.h: include local stdint.h
806         * libswfdec/swfdec_shape.c: (swf_shape_get_recs),
807         (swf_shape_ignore_recs), (swf_morphshape_get_recs): fix
808         gratuitous use of int16_t.
809         * m4/ax_create_stdint_h.m4: add
811 2005-03-24  David Schleef  <ds@schleef.org>
813         Changes from Eric Anholt
814         * configure.ac: Create a stdint.h if it doesn't exist.
815         * libswfdec/actions.c: Fix go_to_label
816         * libswfdec/swfdec_button.c: (tag_func_define_button_2): Use the
817         correct segment length -- fixes warning.
819 2005-03-24  David Schleef  <ds@schleef.org>
821         * configure.ac: version bump
823 2005-03-24  David Schleef  <ds@schleef.org>
825         * plugin/gstappsrc.c: (gst_appsrc_class_init), (gst_appsrc_init),
826         (gst_appsrc_get_property), (gst_appsrc_loop): Add source_url
827         property, for relaying metadata from Mozilla
828         * plugin/gstappsrc.h: add to object
829         * plugin/plugin.c: (plugin_thread), (plugin_newp),
830         (plugin_set_window): push metadata info from Mozilla to helper
831         app
832         * plugin/spp.h: Add new GO_TO_URL2 and METADATA methods.
833         GO_TO_URL2 sends both the target and URL.  METADATA sends
834         metadata from Mozilla to the app.
835         * plugin/swfdec-mozilla-player.c: (menu_open), (menu_report_bug),
836         (button_press_event), (embed_url), (packet_go_to_url): Use new
837         methods.
839 2005-03-24  David Schleef  <ds@schleef.org>
841         * configure.ac: version bump
842         * libswfdec/actions.c: (action_set_variable): set variable to
843         the value, not the variable name. (fix from Eric Anholt)
845 === release 0.3.4 ===
847 2005-03-19  David Schleef  <ds@schleef.org>
849         * configure.ac: version nano bump
850         * plugin/Makefile.am:
851         * plugin/gstswfdec.c: Pull from gst-plugins, since the only version
852         that works with swfdec-mozilla-player is unreleased.
853         * plugin/gstswfdec.h:
854         * plugin/swfdec-mozilla-player.c: (main): use local swfdec element
856 2005-03-19  David Schleef  <ds@schleef.org>
858         * configure.ac: use $MOZILLA_CONFIG, not mozilla-config
860 === release 0.3.3 ===
862 2005-03-17  David Schleef  <ds@schleef.org>
864         * configure.ac: version bump
866 2005-03-17  David Schleef  <ds@schleef.org>
868         * libswfdec/actions.c: (swfdec_action_script_execute),
869         (action_get_url): quiet debugging
870         * libswfdec/art.c: (art_rgb_svp_alpha_callback): dynamically
871         allocate temp scanline
872         * libswfdec/swf.c: (swfdec_decoder_set_image_size): resize fixes
873         * libswfdec/swfdec_render.c: (swfdec_render_get_audio): quiet
874         debugging
875         * libswfdec/swfdec_render_libart.c: (swfdec_render_be_start):
876         dynamically allocate temp scanline
877         * plugin/gstappsrc.c: (gst_appsrc_loop): remove dead code
878         * plugin/plugin.c: (plugin_thread), (plugin_newp),
879         (plugin_destroy), (plugin_set_window): add instance to debugging
880         * plugin/swfdec-mozilla-player.c: (main), (new_gtk_window),
881         (timeout), (check_playing), (window_state_event),
882         (visibility_notify_event), (unmap), (desired_size): convert to
883         threaded pipeline, add window management stuff
885 2005-02-11  David Schleef  <ds@schleef.org>
887         * Makefile.am: don't dist removed m4 files
888         * configure.ac: remove m4 from ACLOCAL_FLAGS.  Disable gimp
889         plugin whenever prefix is different from gimp's prefix.
890         Check for gstreamer.
891         * gimp-loader/Makefile.am: disable correctly
893 2005-02-11  David Schleef  <ds@schleef.org>
895         Major plugin changes: start using a gstreamer-based player,
896         copying the appsrc element from gst-mozilla-player.  Merge
897         bugfixes from Debian packaging, including limiting the
898         number of players and unblocking signals (esp. SIGHUP) so
899         that the helper player gets killed correctly.
900         * plugin/Makefile.am:
901         * plugin/gstappsrc.c: (gst_appsrc_get_event_mask),
902         (gst_appsrc_get_formats), (_do_init), (gst_appsrc_base_init),
903         (gst_appsrc_class_init), (gst_appsrc_init),
904         (gst_appsrc_event_handler), (gst_appsrc_set_property),
905         (gst_appsrc_get_property), (gst_appsrc_loop),
906         (gst_appsrc_change_state), (gst_appsrc_uri_get_type),
907         (gst_appsrc_uri_get_protocols), (gst_appsrc_uri_get_uri),
908         (gst_appsrc_uri_set_uri), (gst_appsrc_uri_handler_init),
909         (plugin_init):
910         * plugin/gstappsrc.h:
911         * plugin/plugin.c: (plugin_fork), (plugin_thread), (plugin_newp),
912         (plugin_destroy), (plugin_set_window):
913         * plugin/swfdec-mozilla-player.c: (main), (do_help),
914         (print_formats), (new_gtk_window), (button_press_event),
915         (button_release_event), (key_press), (motion_notify),
916         (configure_cb), (expose_cb), (destroy_cb), (embedded),
917         (video_widget_realize), (video_widget_allocate), (desired_size),
918         (embed_url), (packet_write):
920 2005-01-28  David Schleef  <ds@schleef.org>
922         * configure.ac: fix liboil dependency
923         * libswfdec/actions.c: (swfdec_action_script_execute),
924         (action_goto_frame), (action_get_url), (action_stop),
925         (action_stop_sounds), (action_push), (action_get_property),
926         (action_constant_pool): implement constant pools, add warnings
927         * libswfdec/art.c: (paint), (art_rgb_svp_alpha_callback),
928         (swfdec_art_bpath_from_points): cleanups, use liboil
929         * libswfdec/render.c: cleanup
930         * libswfdec/swf.c: (swfdec_decoder_get_url): add get_url()
931         * libswfdec/swfdec.h: same
932         * libswfdec/swfdec_buffer.c: (swfdec_buffer_queue_free): fix leak
933         * libswfdec/swfdec_button.c: (swfdec_button_init),
934         (swfdec_button_dispose), (swfdec_button_render),
935         (tag_func_define_button_2), (tag_func_define_button),
936         (swfdec_button_execute): implement button actions
937         * libswfdec/swfdec_button.h: same
938         * libswfdec/swfdec_decoder.h: add url and button handling
939         * libswfdec/swfdec_font.c: (tag_func_define_font_2): check for
940         broken kerning entries
941         * libswfdec/swfdec_render.c: (swfdec_render_iterate),
942         (swfdec_render_get_image), (swfdec_render_get_audio): implement
943         button actions.
944         * libswfdec/swfdec_render.h: same
945         * libswfdec/swfdec_render_libart.c: (swfdec_shape_render),
946         (swfdec_text_render), (swfdec_render_in_button_area): implement
947         button actions.
948         * libswfdec/swfdec_render_libart.h: add prototypes
949         * libswfdec/swfdec_shape.h: implement define_button
950         * player/swf_play.c: (main), (do_safe), (packet_write): implement
951         buttons and url handling.
952         * plugin/plugin.c: (plugin_fork), (plugin_thread),
953         (plugin_set_window): implement url handling
954         * plugin/spp.h: same
956 2005-01-12  David Schleef  <ds@schleef.org>
958         * plugin/plugin.c: (NP_GetValue): Downgrade to flash 4.0, in
959         an attempt to get more web pages to work.
961 2005-01-12  David Schleef  <ds@schleef.org>
963         * Makefile.am: autoregenify
964         * autogen.sh: same
965         * configure.ac: same
966         * m4/as-ac-expand.m4: remove
967         * m4/as-libtool.m4: remove
968         * m4/as-version.m4: remove
970 2005-01-10  David Schleef  <ds@schleef.org>
972         * gimp-loader/Makefile.am: depends on HAVE_GIMP
973         * libswfdec/swfdec_sound.c: fixes from last checkin
974         * libswfdec/swfdec_sound.h: same
976 2004-12-26  David Schleef  <ds@schleef.org>
978         * configure.ac: bump to liboil-0.3
979         * libswfdec/actions.c: major rewrite
980         * libswfdec/art.c: (art_bpath_cat), (art_vpath_cat): oilify
981         * libswfdec/jpeg/jpeg.c: merge code from liboil
982         * libswfdec/jpeg/jpeg_debug.h: debug jpeg code at swfdec level
983         * libswfdec/swf.c: (swfdec_decoder_set_mouse),
984         (swfdec_decoder_set_image_size), (swf_parse_header2): add mouse
985         handling, add SoundStreamHead2
986         * libswfdec/swfdec.h: add mouse handling
987         * libswfdec/swfdec_buffer.c: (swfdec_buffer_queue_pull),
988         (swfdec_buffer_queue_peek): oilify
989         * libswfdec/swfdec_button.c: (tag_func_define_button_2): remove
990         get_actions() call
991         * libswfdec/swfdec_decoder.h: add some fields
992         * libswfdec/swfdec_render.c: (swfdec_render_resize),
993         (compare_lists), (swfdec_render_get_image),
994         (swfdec_render_get_audio): implement caching of partially-rendered
995         images
996         * libswfdec/swfdec_render.h: add protos
997         * libswfdec/swfdec_render_cairo.c: (swfdec_render_be_start),
998         (swfdec_render_be_clear), (draw_line), (draw), (draw_rev),
999         (draw_x), (swfdec_shape_render), (swfdec_text_render): cleanup
1000         * libswfdec/swfdec_render_libart.c: (swfdec_render_be_start),
1001         (swfdec_render_be_clear): add backend clearing
1002         * libswfdec/swfdec_sound.c: (swfdec_sound_dispose),
1003         (tag_func_define_sound), (tag_func_sound_stream_head),
1004         (get_soundinfo), (tag_func_start_sound), (swfdec_sound_mp3_decode),
1005         (swfdec_sound_mp3_decode_stream), (convert_synth_to_buffer):
1006         implement decoding/playing of sound objects
1007         * libswfdec/swfdec_sound.h: add protos
1008         * libswfdec/swfdec_sprite.c: (swfdec_sprite_dispose),
1009         (tag_func_define_sprite): primitive sound rendering
1010         * libswfdec/swfdec_sprite.h: add field
1011         * libswfdec/swfdec_types.h: add SwfdecActionContext
1012         * player/swf_play.c: (main), (do_safe), (sound_setup),
1013         (render_idle_audio): handle mouse events.
1014         * swfdec.pc.in: add liboil to requires:
1016 2004-12-10  David Schleef  <ds@schleef.org>
1018         * libswfdec/swfdec_render_cairo.c: (swfdec_shape_render),
1019         (swfdec_text_render): Fix line rendering and add text
1020         rendering.
1022 2004-12-09  David Schleef  <ds@schleef.org>
1024         * libswfdec/swfdec_render_cairo.c: (draw_line), (draw), (draw_rev),
1025         (draw_x), (swfdec_shape_render): fixes to make the cairo backend
1026         work somewhat correctly.
1028 2004-12-08  David Schleef  <ds@schleef.org>
1030         * libswfdec/swfdec_render_cairo.c: (draw_x): oops, fix typo.
1032 2004-12-08  David Schleef  <ds@schleef.org>
1034         * configure.ac: Add switch for using the cairo backend, and fix
1035         cairo detection
1036         * libswfdec/Makefile.am: add cairo backend
1037         * libswfdec/swf.c: same
1038         * libswfdec/swfdec_decoder.h: same
1039         * libswfdec/swfdec_layer.c: same
1040         * libswfdec/swfdec_render.c: (swfdec_render_get_image): move some
1041         rendering stuff to backends
1042         * libswfdec/swfdec_render.h: move backend functions to here, since
1043         they're common to both
1044         * libswfdec/swfdec_render_cairo.c: (swfdec_render_be_start),
1045         (swfdec_render_be_stop), (swfdec_layervec_render), (draw),
1046         (draw_rev), (draw_x), (swfdec_shape_render), (swfdec_text_render),
1047         (swf_config_colorspace), (swfdec_render_layervec_free): add cairo
1048         backend
1049         * libswfdec/swfdec_render_libart.c: (swfdec_render_be_start),
1050         (swfdec_render_be_stop): move some rendering stuff to backend
1051         * libswfdec/swfdec_shape.c: add cairo backend
1052         * libswfdec/swfdec_text.c: same
1053         * libswfdec/swfdec_transform.h: same
1054         * player/swf_play.c: (render_idle_audio): disable debugging and
1055         add noskip
1056         * test/render-fast.c: remove libart header
1057         * test/render.c: same
1059 2004-11-24  David Schleef  <ds@schleef.org>
1061         * configure.ac:
1062         * gimp-loader/Makefile.am: Install gimp plugin into the directory
1063         suggested by pkg-config.
1065 2004-11-16  David Schleef  <ds@schleef.org>
1067         * libswfdec/Makefile.am: put headers in /usr/include/swfdec-0.3
1068         * swfdec.pc.in: same
1070 2004-11-15  David Schleef  <ds@schleef.org>
1072         * libswfdec/swfdec_render.c: (swfdec_render_get_image): Fix crasher
1073         when increasing size of window.
1074         * player/swf_play.c: (main), (do_safe), (new_window),
1075         (render_idle_audio): Implement --safe.  Attempt to make SDL
1076         handle events when plugged.
1077         * plugin/plugin.c: (plugin_fork), (plugin_thread), (plugin_newp),
1078         (plugin_destroy), (plugin_set_window), (plugin_write_ready),
1079         (plugin_write), (plugin_event), (plugin_set_value),
1080         (NP_Initialize), (DEBUG): Merge plugin code from gstreamer.
1082 2004-11-14  David Schleef  <ds@schleef.org>
1084         * player/swf_play.c: (main): g_file_get_contents() takes gsize,
1085           not int.
1086         * test/dump.c: (main):
1087         * test/render.c: (main):
1089 2004-11-06  David Schleef  <ds@schleef.org>
1091         Global reindent.
1092         * libswfdec/actions.c: (get_actions), (tag_func_do_action),
1093         (swfdec_action_script_execute):
1094         * libswfdec/art.c: (art_vpath_reverse), (art_rgb_svp_alpha2),
1095         (art_rgb565_fillrect), (art_rgb_fillrect),
1096         (art_rgb565_svp_alpha_callback),
1097         (art_rgb_svp_alpha_compose_callback), (art_rgb_svp_alpha_callback),
1098         (art_grey_svp_alpha_callback), (swfdec_art_bpath_from_points),
1099         (art_bpath_affine_transform_inplace):
1100         * libswfdec/art.h:
1101         * libswfdec/color.c: (swfdec_color_apply_transform):
1102         * libswfdec/color.h:
1103         * libswfdec/render.c: (tag_place_object_2),
1104         (swfdec_spriteseg_render), (swfdec_layer_render):
1105         * libswfdec/swf.c: (swfdec_init), (swfdec_decoder_new),
1106         (swfdec_decoder_add_data), (swfdec_decoder_add_buffer),
1107         (swfdec_decoder_eof), (swfdec_decoder_parse),
1108         (swfdec_decoder_free), (swfdec_decoder_set_image_size),
1109         (swf_inflate_init), (swf_parse_header2), (tag_func_dumpbits),
1110         (tag_func_frame_label):
1111         * libswfdec/swfdec.h:
1112         * libswfdec/swfdec_actions.h:
1113         * libswfdec/swfdec_bits.c: (swfdec_bits_get_color_transform),
1114         (swfdec_bits_get_transform):
1115         * libswfdec/swfdec_bits.h:
1116         * libswfdec/swfdec_buffer.c: (swfdec_buffer_new),
1117         (swfdec_buffer_new_and_alloc), (swfdec_buffer_new_with_data),
1118         (swfdec_buffer_new_subbuffer), (swfdec_buffer_ref),
1119         (swfdec_buffer_unref), (swfdec_buffer_free_mem),
1120         (swfdec_buffer_free_subbuffer), (swfdec_buffer_queue_new),
1121         (swfdec_buffer_queue_get_depth), (swfdec_buffer_queue_get_offset),
1122         (swfdec_buffer_queue_free), (swfdec_buffer_queue_push),
1123         (swfdec_buffer_queue_pull), (swfdec_buffer_queue_peek):
1124         * libswfdec/swfdec_buffer.h:
1125         * libswfdec/swfdec_button.c: (swfdec_button_base_init),
1126         (swfdec_button_class_init), (swfdec_button_init),
1127         (swfdec_button_dispose), (swfdec_button_render),
1128         (tag_func_define_button_2):
1129         * libswfdec/swfdec_button.h:
1130         * libswfdec/swfdec_debug.c: (swfdec_debug_log), (art_warn):
1131         * libswfdec/swfdec_debug.h:
1132         * libswfdec/swfdec_decoder.h:
1133         * libswfdec/swfdec_display.c: (tag_func_place_object_2):
1134         * libswfdec/swfdec_font.c: (swfdec_font_base_init),
1135         (swfdec_font_class_init), (swfdec_font_init),
1136         (swfdec_font_dispose), (swfdec_font_get_glyph),
1137         (tag_func_define_font), (tag_func_define_font_2):
1138         * libswfdec/swfdec_font.h:
1139         * libswfdec/swfdec_image.c: (swfdec_image_base_init),
1140         (swfdec_image_class_init), (swfdec_image_init),
1141         (swfdec_image_dispose), (lossless), (define_bits_lossless),
1142         (swfdec_image_colormap_decode):
1143         * libswfdec/swfdec_image.h:
1144         * libswfdec/swfdec_layer.c: (swfdec_render_get_sublayer):
1145         * libswfdec/swfdec_object.c: (swfdec_object_get_type),
1146         (swfdec_object_base_init), (swfdec_object_class_init),
1147         (swfdec_object_init), (swfdec_object_dispose),
1148         (swfdec_object_unref), (swfdec_object_get):
1149         * libswfdec/swfdec_object.h:
1150         * libswfdec/swfdec_rect.c: (swfdec_rect_intersect),
1151         (swfdec_rect_union), (swfdec_rect_is_empty):
1152         * libswfdec/swfdec_rect.h:
1153         * libswfdec/swfdec_render.c: (swfdec_render_free),
1154         (swfdec_render_iterate), (swfdec_render_get_object_state),
1155         (swfdec_render_seek), (swfdec_render_get_frame_index),
1156         (swfdec_render_get_image), (swfdec_render_get_audio):
1157         * libswfdec/swfdec_render.h:
1158         * libswfdec/swfdec_render_libart.c: (swfdec_layervec_render),
1159         (swfdec_shape_render), (swfdec_text_render),
1160         (swf_config_colorspace), (swfdec_render_layervec_free):
1161         * libswfdec/swfdec_render_libart.h:
1162         * libswfdec/swfdec_shape.c: (swfdec_shape_base_init),
1163         (swfdec_shape_class_init), (swfdec_shape_init),
1164         (swfdec_shape_dispose), (swfdec_shapevec_free), (get_shape_rec),
1165         (tag_func_define_shape), (tag_define_shape), (tag_define_shape_3),
1166         (swf_shape_add_styles), (swfdec_shape_get_fill0style),
1167         (swfdec_shape_get_fill1style), (swfdec_shape_get_linestyle),
1168         (swf_shape_get_recs), (swfdec_shape_compose),
1169         (swfdec_shape_compose_gradient), (my_root),
1170         (swfdec_gradient_to_palette), (tag_define_morph_shape),
1171         (swf_shape_ignore_recs), (swf_morphshape_add_styles),
1172         (swf_morphshape_get_recs):
1173         * libswfdec/swfdec_shape.h:
1174         * libswfdec/swfdec_sound.c: (swfdec_sound_base_init),
1175         (swfdec_sound_class_init), (swfdec_sound_init),
1176         (swfdec_sound_dispose), (tag_func_sound_stream_block),
1177         (swfdec_decoder_sound_buffer_append), (adpcm_decode),
1178         (swfdec_sound_render), (swfdec_sound_mp3_init),
1179         (swfdec_sound_mp3_cleanup), (swfdec_sound_mp3_decode),
1180         (swfdec_sound_mp3_decode_stream):
1181         * libswfdec/swfdec_sound.h:
1182         * libswfdec/swfdec_sprite.c: (swfdec_sprite_base_init),
1183         (swfdec_sprite_class_init), (swfdec_sprite_init),
1184         (swfdec_sprite_dispose), (swfdec_sprite_add_sound_chunk),
1185         (swfdec_sprite_add_action), (swfdec_sprite_render),
1186         (tag_func_define_sprite), (swfdec_sprite_get_seg),
1187         (swfdec_spriteseg_place_object_2):
1188         * libswfdec/swfdec_sprite.h:
1189         * libswfdec/swfdec_text.c: (swfdec_text_base_init),
1190         (swfdec_text_class_init), (swfdec_text_init),
1191         (swfdec_text_dispose), (define_text), (tag_func_define_text_2):
1192         * libswfdec/swfdec_text.h:
1193         * libswfdec/swfdec_transform.c: (swfdec_transform_is_translation),
1194         (swfdec_transform_multiply), (swfdec_transform_invert),
1195         (swfdec_transform_init_identity), (swfdec_transform_translate),
1196         (swfdec_transform_get_expansion):
1197         * libswfdec/swfdec_transform.h:
1198         * libswfdec/tags.h:
1199         * player/swf_play.c: (main), (do_help), (new_window), (fill_audio),
1200         (sound_setup), (render_idle_audio), (render_idle_noaudio),
1201         (fd_is_ready), (packet_get), (packet_free):
1202         * plugin/plugin.c: (plugin_fork), (plugin_newp), (plugin_destroy),
1203         (plugin_set_window), (plugin_new_stream), (plugin_destroy_stream),
1204         (plugin_write_ready), (plugin_write), (plugin_stream_as_file),
1205         (NP_GetValue), (NP_GetMIMEDescription), (NP_Initialize),
1206         (NP_Shutdown), (NPP_DestroyStream), (NPP_URLNotify),
1207         (packet_write):
1208         * plugin/spp.h:
1210 2004-11-04  David Schleef  <ds@schleef.org>
1212         * configure.ac: bump nano
1214 === release 0.3.1 ===
1216 2004-11-04  David Schleef  <ds@schleef.org>
1218         * Makefile.am: prep for release
1219         * configure.ac:
1220         * player/Makefile.am:
1221         * plugin/Makefile.am:
1223 2004-11-04  David Schleef  <ds@schleef.org>
1225         * README: add dependency on liboil
1226         * player/swf_play.c: (main), (do_help), (new_window),
1227         (sound_setup), (render_idle_audio), (fd_is_ready), (packet_get):
1228         Cleanup.
1230 2004-11-04  David Schleef  <ds@schleef.org>
1232         * README: random fixes
1233         * libswfdec/swf.c: (swfdec_decoder_set_image_size): change scaling
1234         back to browser-friendly policy.
1235         * libswfdec/swfdec_render.c: (swfdec_render_iterate): change eof
1236         policy back to being browser-friendly
1237         * libswfdec/swfdec_shape.c: (swfdec_shape_compose_gradient),
1238         (my_root): optimization for circular gradients
1239         * player/Makefile.am: include plugin dir for spp.h
1240         * player/swf_play.c: (main), (do_help), (sound_setup),
1241         (render_idle_audio), (packet_get), (packet_free): Add SPP protocol
1242         handling.  Additional fixes to make plugin work again.
1243         * plugin/plugin.c: (plugin_fork), (plugin_newp), (plugin_destroy),
1244         (plugin_set_window), (plugin_destroy_stream), (plugin_write),
1245         (plugin_stream_as_file), (NP_GetValue), (NP_Initialize),
1246         (NPP_DestroyStream), (packet_write): Add SPP protocol handling.
1247         Other random fixes.
1248         * plugin/spp.h: SPP protocol.
1250 2004-10-26  David Schleef  <ds@schleef.org>
1252         * player/swf_play.c: (render_idle_audio): endianness fixes
1254 2004-10-08  David Schleef  <ds@schleef.org>
1256         * Makefile.am: player no longer depends on glib
1257         * glib-compat/glib-object.h: new
1258         * glib-compat/glib.h: more compatibility
1259         * glib-compat/glib/Makefile.am: add gobject.c
1260         * glib-compat/glib/gobject.c: (g_type_init), (g_type_name),
1261         (g_object_new), (g_object_unref): 
1262         * libswfdec/jpeg/Makefile.am:
1263         * libswfdec/swfdec_debug.c: (swfdec_debug_log): glib-compat stuff
1264         * libswfdec/swfdec_display.c: (tag_func_place_object_2),
1265         (tag_func_remove_object), (tag_func_remove_object_2): remove g_print()
1266         * libswfdec/swfdec_font.h: glib-compat
1267         * libswfdec/swfdec_image.h: same
1268         * libswfdec/swfdec_object.c: same
1269         * libswfdec/swfdec_object.h: same
1270         * libswfdec/swfdec_render.c: (swfdec_render_get_image): same
1271         * libswfdec/swfdec_shape.c: (get_shape_rec),
1272         (tag_func_define_shape): remove g_print()
1273         * libswfdec/swfdec_shape.h: glib-compat
1274         * libswfdec/swfdec_sound.h: same
1275         * libswfdec/swfdec_sprite.h: same
1276         * libswfdec/swfdec_text.h: same
1277         * player/swf_play.c: (main), (render_idle_audio),
1278         (render_idle_noaudio): remove glib dependency
1279         * test/Makefile.am: dump works with glib-compat
1280         * test/dump.c: (main): same
1282 2004-10-08  David Schleef  <ds@schleef.org>
1284         * libswfdec/swfdec_render.c: (swfdec_render_get_object_state):
1285         add object id as identifier for object state.  Improves rendering
1286         of sprites.
1287         * libswfdec/swfdec_render.h:
1288         * libswfdec/swfdec_shape.c: (swfdec_shape_get_fill0style),
1289         (swfdec_shape_get_fill1style), (swfdec_shape_get_linestyle):
1290         * libswfdec/swfdec_sprite.c: (swfdec_sprite_render):
1291         * player/Makefile.am: Remove gtk dependency.
1292         * player/swf_play.c: (main), (new_window), (render_idle_audio),
1293         (render_idle_noaudio): Remove gtk dependency.  SDL-only now.
1295 2004-10-07  David Schleef  <ds@schleef.org>
1297         * libswfdec/swf.c: disable DefineMorphShape
1298         * libswfdec/swfdec_render.c: (swfdec_render_iterate): return FALSE
1299         if we know the animation has ended.
1300         * libswfdec/swfdec_sprite.c: (tag_func_define_sprite): fix parsing
1301         to handle changes in tag lookup function.
1303 2004-10-05  David Schleef  <ds@schleef.org>
1305         * Makefile.am: distcheck fixes
1306         * configure.ac:
1307         * libswfdec/Makefile.am:
1309 2004-10-05  David Schleef  <ds@schleef.org>
1311         * TODO: random notes
1312         * libswfdec/actions.c: (get_actions),
1313         (swfdec_action_script_execute): minor execution improvements
1314         * libswfdec/swf.c: (swfdec_decoder_parse),
1315         (swfdec_decoder_get_tag_func): check for invalid tags
1316         differently.
1317         * libswfdec/swfdec_bits.c: (swfdec_bits_get_morph_gradient): add
1318         function
1319         * libswfdec/swfdec_bits.h: ditto
1320         * libswfdec/swfdec_render.c: (swfdec_render_iterate),
1321         (swfdec_render_get_audio): stop if iterating past end.  Increase
1322         audio buffer size.
1323         * libswfdec/swfdec_shape.c: (tag_func_define_shape),
1324         (tag_define_shape), (tag_define_shape_3), (swf_shape_add_styles),
1325         (swfdec_gradient_to_palette), (tag_define_morph_shape),
1326         (swf_shape_ignore_recs), (swf_morphshape_add_styles),
1327         (swf_morphshape_get_recs): improve debugging.  Add morph shape
1328         parsing (incomplete)
1329         * libswfdec/swfdec_shape.h: add protos
1330         * libswfdec/swfdec_sound.c: (swfdec_sound_mp3_decode),
1331         (swfdec_sound_mp3_decode_stream): resync more correctly
1332         * libswfdec/swfdec_sound.h: change buffer size
1333         * libswfdec/swfdec_sprite.c: (swfdec_sprite_render): decrease
1334         warning level
1336 2004-10-04  David Schleef  <ds@schleef.org>
1338         * libswfdec/Makefile.am:
1339         * libswfdec/swfdec_actions.h: new file
1341 2004-10-04  David Schleef  <ds@schleef.org>
1343         * libswfdec/Makefile.am: export art_warn
1344         * libswfdec/actions.c: (tag_func_do_action),
1345         (swfdec_action_script_execute): minimal AS execution
1346         * libswfdec/jpeg/huffman.c: switch to swfdec debugging system
1347         * libswfdec/jpeg/jpeg.c: same.  Check for image overruns when
1348         decoding macroblocks.
1349         * libswfdec/jpeg/jpeg_debug.h: same
1350         * libswfdec/jpeg/test.c: same
1351         * libswfdec/jpeg/test_rgb.c: same
1352         * libswfdec/render.c: add debugging
1353         * libswfdec/swf.c: add debugging.  allocate action buffer array
1354         * libswfdec/swfdec_buffer.c: quiet debugging.  Add get_offset.
1355         * libswfdec/swfdec_buffer.h: same
1356         * libswfdec/swfdec_button.c: Fix button rendering.
1357         * libswfdec/swfdec_button.h: same
1358         * libswfdec/swfdec_debug.c: override art_warn.  it's annoying.
1359         * libswfdec/swfdec_decoder.h: add stopped field.
1360         * libswfdec/swfdec_image.c: add debugging
1361         * libswfdec/swfdec_internal.h: add swfdec_actions.h
1362         * libswfdec/swfdec_render.c: improve iteration, fix clipping.
1363         * libswfdec/swfdec_render.h: improve iteration
1364         * libswfdec/swfdec_shape.c: check for inconsistent SWF files
1365         * libswfdec/swfdec_sound.c: replace SoundChunk with Buffer
1366         * libswfdec/swfdec_sound.h: same
1367         * libswfdec/swfdec_sprite.c: record actions.  Fix clipping
1368         rendering and parsing.
1369         * libswfdec/swfdec_sprite.h: Add action buffer array.
1370         * player/swf_play.c: minor fixes
1371         * test/dump.c: dump more information
1373 2004-09-22  David Schleef  <ds@schleef.org>
1375         * libswfdec/jpeg/bits.h: reindent
1376         * libswfdec/jpeg/huffman.c:
1377         * libswfdec/jpeg/huffman.h:
1378         * libswfdec/jpeg/jpeg.c:
1379         * libswfdec/jpeg/jpeg.h:
1380         * libswfdec/jpeg/jpeg_debug.h:
1381         * libswfdec/jpeg/jpeg_internal.h:
1382         * libswfdec/jpeg/jpeg_rgb_decoder.c:
1383         * libswfdec/jpeg/jpeg_rgb_decoder.h:
1384         * libswfdec/jpeg/jpeg_rgb_internal.h:
1385         * libswfdec/jpeg/test.c:
1386         * libswfdec/jpeg/test_rgb.c:
1388 2004-09-17  David Schleef  <ds@schleef.org>
1390         Switch to using buffers for the input stream.
1391         * libswfdec/swf.c: (swfdec_init), (swfdec_decoder_new),
1392         (swfdec_decoder_add_buffer), (swfdec_decoder_parse),
1393         (swfdec_decoder_free), (swf_parse_header1), (swf_inflate_init),
1394         (swf_parse_header2), (swfdec_decoder_get_tag_name),
1395         (swfdec_decoder_get_tag_func), (tag_func_ignore_quiet),
1396         (tag_func_ignore):
1397         * libswfdec/swfdec_bits.h:
1398         * libswfdec/swfdec_buffer.c: (swfdec_buffer_queue_new),
1399         (swfdec_buffer_queue_get_depth), (swfdec_buffer_queue_free),
1400         (swfdec_buffer_queue_push), (swfdec_buffer_queue_pull),
1401         (swfdec_buffer_queue_peek):
1402         * libswfdec/swfdec_buffer.h:
1403         * libswfdec/swfdec_button.c: (tag_func_define_button_2):
1404         * libswfdec/swfdec_decoder.h:
1405         * libswfdec/swfdec_image.c: (swfdec_image_jpegtables),
1406         (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2),
1407         (tag_func_define_bits_jpeg_3), (define_bits_lossless):
1408         * libswfdec/swfdec_render.c: (swfdec_render_iterate),
1409         (swfdec_render_get_frame_index), (swfdec_render_get_audio):
1410         * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block),
1411         (tag_func_define_sound), (swfdec_sound_mp3_decode_stream):
1412         * libswfdec/swfdec_sprite.c: (tag_func_define_sprite):
1413         * libswfdec/swfdec_types.h:
1414         * test/render.c: (main):
1416 2004-09-13  David Schleef  <ds@schleef.org>
1418         * libswfdec/swf.c: (swfdec_init), (swfdec_decoder_new): Check
1419         SWFDEC_DEBUG env var, and call init in decoder_new().
1421 2004-09-13  David Schleef  <ds@schleef.org>
1423         * configure.ac: export GLIB_REQUIRES
1424         * glib-compat/glib/gfileutils.c: (g_file_test),
1425         (g_file_error_quark), (g_file_error_from_errno),
1426         (get_contents_stdio), (get_contents_regfile), (get_contents_posix),
1427         (get_contents_win32), (g_mkstemp), (g_file_open_tmp),
1428         (g_build_pathv), (g_build_path), (g_build_filename),
1429         (g_file_read_link), (g_readfile_new), (g_readfile_get_length),
1430         (g_readfile_get_contents), (g_readfile_free): more compat stuff
1431         * glib-compat/glib/gstrfuncs.c: (g_memdup): same
1432         * glib-compat/glib/gstrfuncs.h: same
1434 2004-09-13  David Schleef  <ds@schleef.org>
1436         * .cvsignore:  Some cvsignore files
1437         * gimp-loader/.cvsignore:
1438         * glib-compat/.cvsignore:
1439         * libswfdec/.cvsignore:
1440         * libswfdec/jpeg/.cvsignore:
1441         * libswfdec/mpeg/.cvsignore:
1442         * pixbuf-loader/.cvsignore:
1443         * player/.cvsignore:
1444         * plugin/.cvsignore:
1445         * test/.cvsignore:
1446         * test/dump.c: (main), (dump_sprite):  oops, these never got added
1447         * test/render.c: (buffer_free), (main): same
1449 2004-09-13  David Schleef  <ds@schleef.org>
1451         * configure.ac: Bump soname for liboil and swfdec
1452         * libswfdec/art.c: (art_rgb_run_alpha_2): adjust for liboil API
1453         * libswfdec/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment): same
1454         * libswfdec/swf.c: (swfdec_decoder_parse): ERROR->WARNING
1456 2004-09-01  David Schleef  <ds@schleef.org>
1458         Make more compatibile with glib-compat.
1459         * Makefile.am:
1460         * README:
1461         * configure.ac:
1462         * gimp-loader/Makefile.am:
1463         * gimp-loader/swf-gimp.c:
1464         * libswfdec/Makefile.am:
1465         * swfdec.pc.in:
1467         Glib compatibility stuff.  Mostly taken from glib.
1468         * glib-compat/Makefile.am:
1469         * glib-compat/glib.h:
1470         * glib-compat/glib/Makefile.am:
1471         * glib-compat/glib/config.h:
1472         * glib-compat/glib/garray.c:
1473         * glib-compat/glib/garray.h:
1474         * glib-compat/glib/gdebug.h:
1475         * glib-compat/glib/gfileutils.c:
1476         * glib-compat/glib/gfileutils.h:
1477         * glib-compat/glib/glist.c:
1478         * glib-compat/glib/glist.h:
1479         * glib-compat/glib/gmacros.h:
1480         * glib-compat/glib/gmem.c:
1481         * glib-compat/glib/gmem.h:
1482         * glib-compat/glib/gmessages.h:
1483         * glib-compat/glib/gprintfint.h:
1484         * glib-compat/glib/gstrfuncs.c:
1485         * glib-compat/glib/gstrfuncs.h:
1486         * glib-compat/glib/gtypes.h:
1487         * glib-compat/glibconfig.h:
1489 2004-09-01  David Schleef  <ds@schleef.org>
1491         Make less dependent on gobject.  Change API to use SwfdecBuffer.
1492         * libswfdec/Makefile.am: remove swf.h
1493         * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_add_data),
1494         (swfdec_decoder_add_buffer), (swfdec_decoder_free):
1495         * libswfdec/swf.h: remove
1496         * libswfdec/swfdec.h:
1497         * libswfdec/swfdec_buffer.c: (swfdec_buffer_unref):
1498         * libswfdec/swfdec_button.c: (tag_func_define_button_2):
1499         * libswfdec/swfdec_button.h:
1500         * libswfdec/swfdec_decoder.h:
1501         * libswfdec/swfdec_font.c: (swfdec_font_dispose),
1502         (tag_func_define_font), (tag_func_define_font_2):
1503         * libswfdec/swfdec_image.c: (tag_func_define_bits_jpeg),
1504         (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3),
1505         (define_bits_lossless):
1506         * libswfdec/swfdec_object.c: (swfdec_object_new),
1507         (swfdec_object_unref):
1508         * libswfdec/swfdec_object.h:
1509         * libswfdec/swfdec_render.c: (swfdec_render_free): Fix memleak.
1510         * libswfdec/swfdec_shape.c: (tag_define_shape),
1511         (tag_define_shape_3):
1512         * libswfdec/swfdec_sound.c: (tag_func_define_sound),
1513         (tag_func_sound_stream_head), (swfdec_sound_render),
1514         (swfdec_sound_chunk_free):
1515         * libswfdec/swfdec_sprite.c: (tag_func_define_sprite):
1516         * libswfdec/swfdec_text.c: (swfdec_text_base_init),
1517         (swfdec_text_class_init), (swfdec_text_init),
1518         (swfdec_text_dispose), (define_text):
1519         * pixbuf-loader/io-swf.c: (swf_add_bits):
1520         * player/swf_play.c: (main), (do_help), (new_gtk_window),
1521         (fill_audio), (sound_setup), (tv_diff), (fixup_buffer),
1522         (render_idle_audio), (render_idle_noaudio):
1523         * test/render-fast.c: (read_swf_file):
1525 2004-08-27  David Schleef  <ds@schleef.org>
1527         Add mpeg decoding library ripped from ffmpeg.  Doesn't work.
1528         * libswfdec/mpeg/Makefile.am:
1529         * libswfdec/mpeg/avcodec.h:
1530         * libswfdec/mpeg/bswap.h:
1531         * libswfdec/mpeg/common.h:
1532         * libswfdec/mpeg/dsputil.h:
1533         * libswfdec/mpeg/mpeg_config.h:
1534         * libswfdec/mpeg/mpegaudio.h:
1535         * libswfdec/mpeg/mpegaudiodec.c: (l1_unscale), (l2_unscale_group),
1536         (l3_unscale), (int_pow_init), (int_pow), (decode_init), (dct32),
1537         (round_sample), (synth_filter), (imdct12), (imdct36),
1538         (check_header), (decode_header), (mpa_decode_header),
1539         (mp_decode_layer1), (l2_select_table), (mp_decode_layer2),
1540         (seek_to_maindata), (lsf_sf_expand),
1541         (exponents_from_scale_factors), (get_bitsz), (huffman_decode),
1542         (reorder_block), (compute_stereo), (compute_antialias_integer),
1543         (compute_antialias_float), (compute_imdct), (sample_dump),
1544         (mp_decode_layer3), (mp_decode_frame), (decode_frame):
1545         * libswfdec/mpeg/mpegaudiodectab.h:
1546         * libswfdec/mpeg/rational.h:
1548 2004-08-27  David Schleef  <ds@schleef.org>
1550         Merge prerender into render.  Use SwfdecBuffer.  Make sprites
1551         work again.  Make sound work again.  Essentially back up to
1552         the level of 0.2.2 now.
1553         * libswfdec/render.c: (swfdec_spriteseg_render):
1554         * libswfdec/swf.c: (swfdec_decoder_addbits):
1555         * libswfdec/swfdec.h:
1556         * libswfdec/swfdec_buffer.c:
1557         * libswfdec/swfdec_button.c: (swfdec_button_class_init),
1558         (swfdec_button_render):
1559         * libswfdec/swfdec_button.h:
1560         * libswfdec/swfdec_debug.c:
1561         * libswfdec/swfdec_decoder.h:
1562         * libswfdec/swfdec_object.h:
1563         * libswfdec/swfdec_render.c: (swfdec_render_iterate),
1564         (swfdec_render_get_object_state), (swfdec_render_get_image),
1565         (swfdec_render_get_audio):
1566         * libswfdec/swfdec_render.h:
1567         * libswfdec/swfdec_render_libart.c: (swfdec_shape_render),
1568         (swfdec_text_render):
1569         * libswfdec/swfdec_render_libart.h:
1570         * libswfdec/swfdec_shape.c: (swfdec_shape_class_init),
1571         (swfdec_shape_compose):
1572         * libswfdec/swfdec_shape.h:
1573         * libswfdec/swfdec_sprite.c: (swfdec_sprite_class_init),
1574         (swfdec_sprite_render), (tag_func_define_sprite):
1575         * libswfdec/swfdec_sprite.h:
1576         * libswfdec/swfdec_text.c: (swfdec_text_class_init):
1577         * libswfdec/swfdec_types.h:
1579 2004-08-26  David Schleef  <ds@schleef.org>
1581         Add new files
1582         * libswfdec/swfdec_buffer.c:
1583         * libswfdec/swfdec_buffer.h:
1584         * libswfdec/swfdec_render.h:
1586 2004-08-26  David Schleef  <ds@schleef.org>
1588         Remove these
1589         * libswfdec/jpeg/conv8x8_f64_s16.h:
1590         * libswfdec/jpeg/idct8_f64.h:
1591         * libswfdec/jpeg/idct8x8_f64.h:
1592         * libswfdec/jpeg/idct8x8_s16.h:
1593         * libswfdec/jpeg/sl_block8x8.h:
1594         * libswfdec/jpeg/sl_types.h:
1595         * libswfdec/jpeg/unzigzag8x8_s16.h:
1597         rewrite rendering code
1598         * libswfdec/Makefile.am:
1599         * libswfdec/render.c: (swf_invalidate_irect):
1600         * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_parse),
1601         (swfdec_decoder_set_colorspace):
1602         * libswfdec/swfdec_button.c: (swfdec_button_class_init):
1603         * libswfdec/swfdec_decoder.h:
1604         * libswfdec/swfdec_internal.h:
1605         * libswfdec/swfdec_layer.c:
1606         * libswfdec/swfdec_layer.h:
1607         * libswfdec/swfdec_render.c: (swfdec_render_new),
1608         (swfdec_render_free), (swfdec_render_iterate),
1609         (swfdec_render_seek), (swfdec_render_get_image),
1610         (swfdec_render_get_audio), (swfdec_spriteseg_prerender),
1611         (swfdec_layer_render):
1612         * libswfdec/swfdec_render_libart.c: (swfdec_layervec_render):
1613         * libswfdec/swfdec_sound.c: (swfdec_decoder_sound_buffer_append),
1614         (swfdec_sound_render), (swfdec_sound_mp3_decode_stream):
1615         * libswfdec/swfdec_sound.h:
1616         * libswfdec/swfdec_types.h:
1618 2004-08-24  David Schleef  <ds@schleef.org>
1620         Change malloc/free to g_malloc/g_free.
1621         * libswfdec/actions.c: (action_add), (action_substring),
1622         (action_string_concat):
1623         * libswfdec/art.c: (art_bpath_cat), (art_vpath_cat),
1624         (art_vpath_reverse):
1625         * libswfdec/jpeg/Makefile.am:
1626         * libswfdec/jpeg/jpeg.c: (jpeg_decoder_sof_baseline_dct):
1627         * libswfdec/jpeg/test.c: (getfile):
1628         * libswfdec/jpeg/test_rgb.c: (main2), (getfile):
1629         * libswfdec/render.c: (swf_render_frame):
1630         * libswfdec/swf.c: (swfdec_decoder_parse), (swfdec_decoder_free),
1631         (swf_parse_header2), (swfdec_decoder_render):
1632         * libswfdec/swfdec_decoder.h:
1633         * libswfdec/swfdec_image.c: (tag_func_define_bits_jpeg),
1634         (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3),
1635         (define_bits_lossless):
1636         * libswfdec/swfdec_render_libart.c: (swfdec_shape_prerender),
1637         (swfdec_text_prerender):
1638         * libswfdec/swfdec_shape.c: (swf_shape_get_recs):
1639         * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block),
1640         (swfdec_sound_chunk_free):
1641         * libswfdec/swfdec_sound.h:
1642         * libswfdec/swfdec_sprite.c: (swfdec_sprite_dispose),
1643         (swfdec_sprite_add_sound_chunk), (tag_func_define_sprite):
1644         * libswfdec/swfdec_sprite.h:
1645         * libswfdec/swfdec_types.h:
1647 2004-08-11  David Schleef  <ds@schleef.org>
1649         Lots of hacking.  Modularizing libart dependency.
1650         * configure.ac:
1651         * libswfdec/Makefile.am:
1652         * libswfdec/actions.c: (action_add), (action_subtract),
1653         (action_multiply), (action_divide), (action_equal),
1654         (action_less_than), (action_logical_and), (action_logical_or),
1655         (action_logical_not), (action_string_equal),
1656         (action_string_length), (action_substring), (action_int),
1657         (action_string_concat):
1658         * libswfdec/art.c: (art_svp_make_convex), (art_rgb565_fillrect),
1659         (art_rgb_fillrect), (swfdec_art_bpath_from_points),
1660         (art_bpath_affine_transform_inplace):
1661         * libswfdec/art.h:
1662         * libswfdec/color.c: (swfdec_color_apply_transform),
1663         (tag_func_set_background_color):
1664         * libswfdec/color.h:
1665         * libswfdec/proto.h:
1666         * libswfdec/render.c: (swf_invalidate_irect), (tag_place_object_2),
1667         (tag_remove_object), (tag_remove_object_2), (tag_show_frame),
1668         (swf_render_frame):
1669         * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_addbits),
1670         (swfdec_decoder_parse), (swfdec_decoder_free),
1671         (swfdec_decoder_set_image_size), (swfdec_decoder_get_sound_chunk),
1672         (zalloc), (zfree), (swf_inflate_init), (swf_parse_header2),
1673         (tag_func_frame_label), (swfdec_decoder_render):
1674         * libswfdec/swfdec_bits.c: (swfdec_bits_get_color_transform),
1675         (swfdec_bits_get_transform), (swfdec_bits_get_fill_style):
1676         * libswfdec/swfdec_bits.h:
1677         * libswfdec/swfdec_button.c: (swfdec_button_base_init),
1678         (swfdec_button_class_init), (swfdec_button_init),
1679         (swfdec_button_dispose), (swfdec_button_prerender),
1680         (tag_func_define_button_2):
1681         * libswfdec/swfdec_debug.c: (swfdec_debug_log):
1682         * libswfdec/swfdec_decoder.h:
1683         * libswfdec/swfdec_display.c: (tag_func_place_object_2),
1684         (tag_func_remove_object), (tag_func_remove_object_2):
1685         * libswfdec/swfdec_font.c: (swfdec_font_base_init),
1686         (swfdec_font_class_init), (swfdec_font_init),
1687         (swfdec_font_dispose):
1688         * libswfdec/swfdec_image.c: (swfdec_image_base_init),
1689         (swfdec_image_class_init), (swfdec_image_init),
1690         (swfdec_image_dispose), (zalloc), (zfree), (lossless),
1691         (swfdec_image_jpegtables), (tag_func_define_bits_jpeg),
1692         (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3),
1693         (define_bits_lossless):
1694         * libswfdec/swfdec_internal.h:
1695         * libswfdec/swfdec_layer.c: (swfdec_layer_free):
1696         * libswfdec/swfdec_layer.h:
1697         * libswfdec/swfdec_object.h:
1698         * libswfdec/swfdec_rect.c: (swfdec_rect_union_to_masked),
1699         (swfdec_rect_intersect), (swfdec_rect_union), (swfdec_rect_copy),
1700         (swfdec_rect_is_empty):
1701         * libswfdec/swfdec_rect.h:
1702         * libswfdec/swfdec_render_libart.c: (swfdec_layervec_render),
1703         (art_svp_translate), (art_svp_bbox), (swfdec_shape_prerender),
1704         (swfdec_text_prerender), (swf_config_colorspace),
1705         (swfdec_render_layervec_free):
1706         * libswfdec/swfdec_render_libart.h:
1707         * libswfdec/swfdec_shape.c: (swfdec_shape_base_init),
1708         (swfdec_shape_class_init), (swfdec_shape_init),
1709         (swfdec_shape_dispose), (swfdec_shapevec_free), (get_shape_rec),
1710         (tag_func_define_shape), (tag_define_shape), (tag_define_shape_3),
1711         (swf_shape_add_styles), (tag_define_shape_2),
1712         (swfdec_shape_compose), (swfdec_shape_compose_gradient),
1713         (swfdec_gradient_to_palette):
1714         * libswfdec/swfdec_shape.h:
1715         * libswfdec/swfdec_sound.c: (swfdec_sound_base_init),
1716         (swfdec_sound_class_init), (swfdec_sound_init),
1717         (swfdec_sound_dispose), (tag_func_sound_stream_block),
1718         (tag_func_define_sound), (tag_func_sound_stream_head),
1719         (get_soundinfo), (tag_func_start_sound),
1720         (tag_func_define_button_sound), (adpcm_decode),
1721         (swfdec_sound_mp3_cleanup), (swfdec_sound_mp3_decode):
1722         * libswfdec/swfdec_sprite.c: (swfdec_sprite_base_init),
1723         (swfdec_sprite_class_init), (swfdec_sprite_init),
1724         (swfdec_sprite_dispose), (swfdec_sprite_prerender),
1725         (swfdec_spriteseg_place_object_2):
1726         * libswfdec/swfdec_sprite.h:
1727         * libswfdec/swfdec_text.c: (swfdec_text_get_type), (define_text):
1728         * libswfdec/swfdec_text.h:
1729         * libswfdec/swfdec_transform.c: (swfdec_transform_is_translation),
1730         (swfdec_transform_multiply), (swfdec_transform_invert),
1731         (swfdec_transform_init_identity), (swfdec_transform_translate),
1732         (swfdec_transform_get_expansion):
1733         * libswfdec/swfdec_transform.h:
1734         * libswfdec/swfdec_types.h:
1736 2004-08-05  David Schleef  <ds@schleef.org>
1738         * libswfdec/art.c: (swfdec_art_bpath_from_points),
1739         (art_bpath_affine_transform_inplace): Minor speedup.
1740         * libswfdec/art.h:
1742 2004-08-05  David Schleef  <ds@schleef.org>
1744         Store shape points as shorts, not doubles. (Saves 85% memory.)
1745         * libswfdec/art.c: (swfdec_art_bpath_from_points):
1746         * libswfdec/art.h:
1747         * libswfdec/swfdec_shape.c: (swf_shape_vec_new),
1748         (swf_shape_get_recs), (swfdec_shape_prerender):
1749         * libswfdec/swfdec_shape.h:
1750         * libswfdec/swfdec_text.c: (swfdec_text_prerender):
1752 2004-08-04  David Schleef  <ds@schleef.org>
1754         convert jpeg to liboil
1755         * libswfdec/Makefile.am:
1756         * libswfdec/jpeg/Makefile.am:
1757         * libswfdec/jpeg/huffman.c:
1758         * libswfdec/jpeg/jpeg.c: (jpeg_decoder_decode_entropy_segment):
1759         * libswfdec/swf.c: (swfdec_decoder_parse), (tag_func_dumpbits): make
1760         more quiet.
1761         * libswfdec/swfdec_bits.h: compile fix
1763 2004-08-03  David Schleef  <ds@schleef.org>
1765         Fixes for bits_t change
1766         * libswfdec/internal.h:
1767         * libswfdec/swfdec_bits.c: (swfdec_bits_needbits):
1768         * libswfdec/swfdec_debug.c:
1769         * libswfdec/swfdec_image.c: (lossless),
1770         (swfdec_image_colormap_decode):
1771         * libswfdec/swfdec_internal.h:
1772         * libswfdec/swfdec_sound.c: (swfdec_sound_mp3_decode_stream):
1774 2004-08-02  David Schleef  <ds@schleef.org>
1776         Global change bits_t -> SwfdecBits.  Prepend swfdec_bits_ to
1777         all bit related functions.
1778         * Makefile.am:
1779         * configure.ac:
1780         * gimp-loader/swf-gimp.c: (load_dialog):
1781         * libswfdec/Makefile.am:
1782         * libswfdec/actions.c: (get_actions),
1783         (swfdec_action_script_execute):
1784         * libswfdec/bits.h:
1785         * libswfdec/color.c: (tag_func_set_background_color):
1786         * libswfdec/get.c:
1787         * libswfdec/get.h:
1788         * libswfdec/proto.h:
1789         * libswfdec/render.c: (art_place_object_2), (art_remove_object),
1790         (art_remove_object_2):
1791         * libswfdec/swf.c: (swfdec_decoder_parse), (dumpbits),
1792         (swf_parse_header1), (swf_parse_header2), (swf_parse_tag),
1793         (tag_func_dumpbits), (tag_func_frame_label):
1794         * libswfdec/swfdec_button.c: (tag_func_define_button_2):
1795         * libswfdec/swfdec_decoder.h:
1796         * libswfdec/swfdec_display.c: (tag_func_place_object_2),
1797         (tag_func_remove_object), (tag_func_remove_object_2):
1798         * libswfdec/swfdec_font.c: (tag_func_define_font),
1799         (get_kerning_record), (tag_func_define_font_2):
1800         * libswfdec/swfdec_image.c: (swfdec_image_jpegtables),
1801         (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2),
1802         (tag_func_define_bits_jpeg_3), (define_bits_lossless):
1803         * libswfdec/swfdec_internal.h:
1804         * libswfdec/swfdec_shape.c: (get_shape_rec),
1805         (tag_func_define_shape), (art_define_shape), (art_define_shape_3),
1806         (swf_shape_add_styles), (swf_shape_get_recs):
1807         * libswfdec/swfdec_shape.h:
1808         * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block),
1809         (tag_func_define_sound), (tag_func_sound_stream_head),
1810         (get_soundinfo), (tag_func_start_sound),
1811         (tag_func_define_button_sound), (adpcm_decode):
1812         * libswfdec/swfdec_sprite.c: (tag_func_define_sprite),
1813         (swfdec_spriteseg_place_object_2),
1814         (swfdec_spriteseg_remove_object),
1815         (swfdec_spriteseg_remove_object_2):
1816         * libswfdec/swfdec_text.c: (define_text):
1817         * swfdec.pc.in:
1818         * test/Makefile.am:
1819         * test/display-shape.c:
1821 2004-08-02  David Schleef  <ds@schleef.org>
1823         Lots and lots of hacking.
1824         * libswfdec/art.c: (art_rgb_run_alpha_2), (art_rgb_fillrect),
1825         (art_rgb_svp_alpha_compose_callback), (art_rgb_svp_alpha_callback):
1826         * libswfdec/art.h:
1827         * libswfdec/mpglib/Makefile.am:
1828         * libswfdec/mpglib/README:
1829         * libswfdec/mpglib/clipconv_f32_s16.h:
1830         * libswfdec/mpglib/common.c:
1831         * libswfdec/mpglib/dct32_f32.h:
1832         * libswfdec/mpglib/dct64_i386.c:
1833         * libswfdec/mpglib/decode_i386.c:
1834         * libswfdec/mpglib/huffman.h:
1835         * libswfdec/mpglib/interface.c:
1836         * libswfdec/mpglib/l2tables.h:
1837         * libswfdec/mpglib/layer1.c:
1838         * libswfdec/mpglib/layer2.c:
1839         * libswfdec/mpglib/layer3.c:
1840         * libswfdec/mpglib/main.c:
1841         * libswfdec/mpglib/mpglib.h:
1842         * libswfdec/mpglib/mpglib_config.h:
1843         * libswfdec/mpglib/mpglib_internal.h:
1844         * libswfdec/mpglib/tabinit.c:
1845         * libswfdec/render.c: (swf_render_frame):
1846         * libswfdec/sound.c:
1847         * libswfdec/swf.c: (swfdec_init), (swfdec_decoder_new),
1848         (swfdec_decoder_eof), (swfdec_decoder_free),
1849         (swfdec_decoder_set_image_size), (swf_inflate_init),
1850         (swf_parse_header2), (swf_parse_tag), (swfdec_decoder_render):
1851         * libswfdec/swfdec.h:
1852         * libswfdec/swfdec_decoder.h:
1853         * libswfdec/swfdec_image.c: (swfdec_image_dispose):
1854         * libswfdec/swfdec_layer.c: (swfdec_render_get_layer),
1855         (swfdec_layervec_render):
1856         * libswfdec/swfdec_shape.c: (swfdec_shape_get_fill0style),
1857         (swfdec_shape_get_fill1style), (swfdec_shape_get_linestyle),
1858         (swf_shape_get_recs), (swfdec_shape_prerender):
1859         * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block),
1860         (tag_func_define_sound), (tag_func_sound_stream_head),
1861         (swfdec_sound_mp3_init), (swfdec_sound_mp3_decode),
1862         (swfdec_sound_mp3_decode_stream):
1863         * libswfdec/swfdec_sprite.c: (swfdec_sprite_dispose),
1864         (swfdec_sprite_prerender), (tag_func_define_sprite),
1865         (swfdec_spriteseg_remove_object),
1866         (swfdec_spriteseg_remove_object_2):
1867         * libswfdec/swfdec_text.c: (define_text), (swfdec_text_prerender):
1868         * swfdec.pc.in:
1869         * test/Makefile.am:
1871 2004-07-02  David Schleef  <ds@schleef.org>
1873         * libswfdec/Makefile.am:  Don't use mpglib
1874         * libswfdec/swf.c: (swf_parse_tag):
1875         * libswfdec/swfdec_debug.c:
1876         * libswfdec/swfdec_object.c: (swfdec_object_dump):
1877         * libswfdec/swfdec_object.h:
1878         * test/Makefile.am:
1880 2004-06-05  David Schleef  <ds@schleef.org>
1882         * libswfdec/Makefile.am: Global change from SWF_DEBUG to SWFDEC_LOG,
1883         SWFDEC_DEBUG, etc.
1884         * libswfdec/actions.c: (get_actions),
1885         (swfdec_action_script_execute):
1886         * libswfdec/color.c: (transform_color):
1887         * libswfdec/render.c: (art_place_object_2), (swf_render_frame),
1888         (swfdec_spriteseg_prerender):
1889         * libswfdec/sound.c: (tag_func_sound_stream_block),
1890         (tag_func_define_sound), (tag_func_sound_stream_head),
1891         (swfdec_sound_render):
1892         * libswfdec/swf.c: (swfdec_decoder_new), (swfdec_decoder_parse),
1893         (swf_parse_header2), (swf_parse_tag), (tag_func_ignore):
1894         * libswfdec/swfdec_button.c: (tag_func_define_button_2):
1895         * libswfdec/swfdec_debug.c: (swfdec_debug_log),
1896         (swfdec_debug_set_level), (swfdec_debug_get_level):
1897         * libswfdec/swfdec_debug.h:
1898         * libswfdec/swfdec_decoder.h:
1899         * libswfdec/swfdec_font.c: (tag_func_define_font),
1900         (tag_func_define_font_2):
1901         * libswfdec/swfdec_image.c: (swfdec_image_jpegtables),
1902         (tag_func_define_bits_jpeg), (tag_func_define_bits_jpeg_2),
1903         (tag_func_define_bits_jpeg_3), (define_bits_lossless):
1904         * libswfdec/swfdec_internal.h:
1905         * libswfdec/swfdec_object.c: (swfdec_object_get):
1906         * libswfdec/swfdec_shape.c: (tag_func_define_shape),
1907         (art_define_shape), (art_define_shape_3), (swf_shape_add_styles),
1908         (swf_shape_get_recs), (swfdec_shape_prerender),
1909         (swfdec_shape_compose), (swfdec_shape_compose_gradient):
1910         * libswfdec/swfdec_sound.c: (tag_func_sound_stream_block),
1911         (tag_func_define_sound), (tag_func_sound_stream_head),
1912         (swfdec_sound_render):
1913         * libswfdec/swfdec_sprite.c: (swfdec_sprite_prerender),
1914         (swfdec_sprite_render), (tag_func_define_sprite),
1915         (swfdec_spriteseg_place_object_2):
1917 2004-06-05  David Schleef  <ds@schleef.org>
1919         * COPYING: switch to LGPL
1920         * INSTALL: unknown 
1921         * autogen.sh: bump libtool to 1.5
1922         * compile: remove
1923         * configure.ac: add majorminor
1924         * depcomp: remove
1925         * install-sh: remove
1926         * libswfdec/Makefile.am: hacking
1927         * libswfdec/proto.h:
1928         * libswfdec/render.c: (art_show_frame), (swf_render_frame),
1929         (swfdec_spriteseg_prerender):
1930         * libswfdec/swfdec_button.c: (swfdec_button_class_init),
1931         (tag_func_define_button_2):
1932         * libswfdec/swfdec_button.h:
1933         * libswfdec/swfdec_font.c: (tag_func_define_font),
1934         (tag_func_define_font_2):
1935         * libswfdec/swfdec_image.c: (tag_func_define_bits_jpeg),
1936         (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3),
1937         (define_bits_lossless):
1938         * libswfdec/swfdec_object.c: (swfdec_object_class_init),
1939         (swfdec_object_get):
1940         * libswfdec/swfdec_object.h:
1941         * libswfdec/swfdec_shape.c: (swfdec_shape_class_init),
1942         (art_define_shape), (art_define_shape_3):
1943         * libswfdec/swfdec_shape.h:
1944         * libswfdec/swfdec_sound.c: (tag_func_define_sound),
1945         (tag_func_sound_stream_head):
1946         * libswfdec/swfdec_sprite.c: (swfdec_sprite_class_init),
1947         (swfdec_sprite_render), (tag_func_define_sprite):
1948         * libswfdec/swfdec_sprite.h:
1949         * libswfdec/swfdec_text.c: (swfdec_text_class_init), (define_text):
1950         * libswfdec/swfdec_text.h:
1951         * libswfdec/version_script: remove
1952         * missing: remove
1953         * mkinstalldirs: remove
1955 2004-04-20  David Schleef  <ds@schleef.org>
1957         Cleanups.
1958         * libswfdec/swfdec_button.c: (tag_func_define_button_2):
1959         * libswfdec/swfdec_font.c: (tag_func_define_font),
1960         (tag_func_define_font_2):
1961         * libswfdec/swfdec_image.c: (tag_func_define_bits_jpeg),
1962         (tag_func_define_bits_jpeg_2), (tag_func_define_bits_jpeg_3),
1963         (define_bits_lossless):
1964         * libswfdec/swfdec_shape.c: (art_define_shape),
1965         (art_define_shape_3):
1966         * libswfdec/swfdec_sound.c: (tag_func_define_sound),
1967         (tag_func_sound_stream_head):
1968         * libswfdec/swfdec_sprite.c: (tag_func_define_sprite):
1969         * libswfdec/swfdec_text.c: (define_text):
1970         * player/swf_play.c: (render_idle), (convert_image):
1972 2004-04-20  David Schleef  <ds@schleef.org>
1974         Fixes to get swfdec compiling and semi-working again.
1975         * configure.ac:
1976         * libswfdec/swf.c: (swfdec_decoder_new):
1977         * libswfdec/swfdec_button.c: (swfdec_button_get_type):
1978         * libswfdec/swfdec_button.h:
1979         * libswfdec/swfdec_font.c: (swfdec_font_get_type),
1980         (tag_func_define_font), (tag_func_define_font_2):
1981         * libswfdec/swfdec_font.h:
1982         * libswfdec/swfdec_image.c: (swfdec_image_get_type):
1983         * libswfdec/swfdec_image.h:
1984         * libswfdec/swfdec_object.c:
1985         * libswfdec/swfdec_object.h:
1986         * libswfdec/swfdec_shape.c: (swfdec_shape_get_type),
1987         (swfdec_shape_init):
1988         * libswfdec/swfdec_shape.h:
1989         * libswfdec/swfdec_sprite.c: (tag_func_define_sprite):
1990         * libswfdec/swfdec_sprite.h:
1991         * libswfdec/swfdec_text.c: (swfdec_text_init):
1993 2004-02-25  David Schleef  <ds@schleef.org>
1995         * configure.ac: Add liboil dependency.
1996         * libswfdec/Makefile.am: Add liboil dependency.
1997         * libswfdec/art.c: (art_rgb_svp_alpha2), (art_rgb_fill_run),
1998         (art_rgb_run_alpha), (compose_const_rgb888_u8_ref),
1999         (compose_const_rgb888_u8_fast), (compose_rgb888_u8_ref),
2000         (compose_const_rgb888_rgb888_ref), (compose_rgb888_rgb888_ref),
2001         (art_rgb_svp_alpha_callback): Convert to 32-bit RGB colorspace.
2002         * libswfdec/color.c: (swf_config_colorspace): same
2003         * libswfdec/jpeg/jpeg_rgb_decoder.c: (convert): same
2004         * libswfdec/shape.c: (swfdec_gradient_to_palette): same
2005         * libswfdec/swf.c: (swfdec_decoder_new): same
2006         * libswfdec/swfdec_image.c: (define_bits_lossless),
2007         (swfdec_image_colormap_decode): same