8 #include <glib-object.h>
10 #include <swfdec_decoder.h>
11 #include <swfdec_render.h>
12 #include <swfdec_sprite.h>
13 #include <swfdec_buffer.h>
18 void * smash_checker (void * (func
) (void *), void *priv
);
22 void dump_sprite(SwfdecSprite
*s
);
24 static void buffer_free (SwfdecBuffer
*buffer
, void *priv
)
26 g_free (buffer
->data
);
29 int main (int argc
, char *argv
[])
46 ret
= g_file_get_contents (fn
, &contents
, &length
, NULL
);
51 s
= swfdec_decoder_new();
53 buffer
= swfdec_buffer_new_with_data (contents
, length
);
54 buffer
->free
= buffer_free
;
55 ret
= swfdec_decoder_add_buffer(s
, buffer
);
57 while (ret
!= SWF_EOF
) {
58 ret
= swfdec_decoder_parse(s
);
59 if (ret
== SWF_NEEDBITS
) {
60 swfdec_decoder_eof(s
);
62 if (ret
== SWF_ERROR
) {
63 g_print("error while parsing\n");
68 swfdec_decoder_get_n_frames(s
, &n_frames
);
69 for (i
=0;i
<n_frames
;i
++){
72 swfdec_render_seek (s
, i
);
73 swfdec_render_iterate (s
);
75 buffer
= swfdec_render_get_image (s
);
76 swfdec_buffer_unref (buffer
);
78 buffer
= swfdec_render_get_audio (s
);
79 swfdec_buffer_unref (buffer
);