Displaying 20 results from an estimated 38 matches for "parse_frame".
2007 Mar 07
0
11 commits - libswfdec/swfdec_event.c libswfdec/swfdec_event.h libswfdec/swfdec_js_movie.c libswfdec/swfdec_movie.c libswfdec/swfdec_scriptable.c libswfdec/swfdec_scriptable.h libswfdec/swfdec_script.c libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h
...sprite_add_sound_chunk (SwfdecSpr
static SwfdecContent *
swfdec_content_find (SwfdecSprite *sprite, int depth)
{
- guint i, j;
- SwfdecContent *content;
- static unsigned long long int count = 0;
-
- if (++count % 10000 == 0)
- g_print ("%llu\n", count);
-
- for (i = sprite->parse_frame; i <= sprite->parse_frame /* wait for underflow */; i--) {
- SwfdecSpriteFrame *frame = &sprite->frames[i];
- if (frame->actions == NULL)
- continue;
- for (j = frame->actions->len - 1; j < frame->actions->len; j--) {
- SwfdecSpriteAction *action =...
2007 Jun 18
0
Branch 'as' - 8 commits - libswfdec/swfdec_movie.c libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_sprite_movie.h libswfdec/swfdec_swf_decoder.c libswfdec/swfdec_swf_decoder.h
...ons->len - 1);
-}
-
void
-swfdec_sprite_add_action (SwfdecSprite *sprite, SwfdecSpriteActionType type,
- gpointer data)
+swfdec_sprite_add_action (SwfdecSprite *sprite, guint tag, SwfdecBuffer *buffer)
{
SwfdecSpriteAction action;
- SwfdecSpriteFrame *frame;
- g_assert (sprite->parse_frame < sprite->n_frames);
- frame = &sprite->frames[sprite->parse_frame];
-
- if (frame->actions == NULL)
- frame->actions = g_array_new (FALSE, FALSE, sizeof (SwfdecSpriteAction));
-
- action.type = type;
- action.data = data;
- g_array_append_val (frame->actions, actio...
2007 Mar 15
0
2 commits - libswfdec/swfdec_sprite.c
...sprite->live_content, GUINT_TO_POINTER (content->depth));
+ g_hash_table_remove (s->parse_sprite->live_content, GUINT_TO_POINTER (content->depth));
swfdec_content_free (content);
swfdec_sprite_remove_last_action (s->parse_sprite,
s->parse_sprite->parse_frame);
@@ -366,7 +366,7 @@ swfdec_spriteseg_place_object_2 (SwfdecS
SWFDEC_LOG (" id = %d", id);
} else if (content->graphic == NULL) {
SWFDEC_ERROR ("no character specified and copying didn't give one");
- g_hash_table_remove (sprite->live_content, GUINT_T...
2007 Jun 06
0
Branch 'as' - libswfdec/Makefile.am libswfdec/swfdec_root_movie.c libswfdec/swfdec_root_sprite.c libswfdec/swfdec_root_sprite.h libswfdec/swfdec_swf_decoder.c libswfdec/swfdec_swf_decoder.h libswfdec/swfdec_tag.c
...dec_root_sprite_add_root_action (SwfdecRootSprite *root,
- SwfdecRootActionType type, gpointer data)
-{
- SwfdecSprite *sprite;
- GArray *array;
- SwfdecSpriteAction action;
-
- g_return_if_fail (SWFDEC_IS_ROOT_SPRITE (root));
- sprite = SWFDEC_SPRITE (root);
- g_return_if_fail (sprite->parse_frame < sprite->n_frames);
-
- if (root->root_actions == NULL)
- root->root_actions = g_new0 (GArray *, sprite->n_frames);
-
- array = root->root_actions[sprite->parse_frame];
- if (array == NULL) {
- root->root_actions[sprite->parse_frame] =
- g_array_new (FALSE...
2007 Jun 27
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_movie_asprops.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie_as.c
...decMovie *mov)
{
SwfdecSpriteMovie *movie = SWFDEC_SPRITE_MOVIE (mov);
- SwfdecAsContext *context;
- SwfdecAsObject *constructor;
- const char *name;
+ SwfdecAsContext *context = SWFDEC_AS_OBJECT (movie)->context;
+ SwfdecAsObject *constructor = NULL;
- g_assert (movie->sprite->parse_frame > 0);
g_assert (mov->swf != NULL);
- movie->n_frames = movie->sprite->n_frames;
- name = swfdec_swf_instance_get_export_name (mov->swf,
- SWFDEC_CHARACTER (movie->sprite));
- context = SWFDEC_AS_OBJECT (movie)->context;
- if (name != NULL) {
- name = swfdec_...
2007 May 29
0
Branch 'as' - 8 commits - libswfdec/Makefile.am libswfdec/swfdec_as_array.c libswfdec/swfdec_as_context.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_math.c libswfdec/swfdec_as_math.h libswfdec/swfdec_as_strings.c libswfdec/swfdec_as_types.c
...e.c b/libswfdec/swfdec_sprite_movie.c
index 319c878..3e25eb9 100644
--- a/libswfdec/swfdec_sprite_movie.c
+++ b/libswfdec/swfdec_sprite_movie.c
@@ -166,8 +166,8 @@ swfdec_sprite_movie_goto (SwfdecMovie *m
g_assert (goto_frame < mov->n_frames);
if (goto_frame >= movie->sprite->parse_frame) {
- SWFDEC_WARNING ("jumping to not-yet-loaded frame %u (loaded: %u)",
- goto_frame, movie->sprite->parse_frame);
+ SWFDEC_WARNING ("jumping to not-yet-loaded frame %u (loaded: %u/%u)",
+ goto_frame, movie->sprite->parse_frame, movie->sprite->n_frames);...
2007 Mar 09
0
libswfdec/swfdec_root_sprite.c libswfdec/swfdec_root_sprite.h
...dec_root_sprite_add_root_action (SwfdecRootSprite *root,
+ SwfdecRootActionType type, gpointer data)
+{
+ SwfdecSprite *sprite;
+ GArray *array;
+ SwfdecSpriteAction action;
+
+ g_return_if_fail (SWFDEC_IS_ROOT_SPRITE (root));
+ sprite = SWFDEC_SPRITE (root);
+ g_return_if_fail (sprite->parse_frame < sprite->n_frames);
+
+ if (root->root_actions == NULL)
+ root->root_actions = g_new0 (GArray *, sprite->n_frames);
+
+ array = root->root_actions[sprite->parse_frame];
+ if (array == NULL) {
+ root->root_actions[sprite->parse_frame] =
+ g_array_new (FALSE...
2007 Feb 17
0
2 commits - doc/swfdec-sections.txt libswfdec/swfdec_color.h libswfdec/swfdec_player.c libswfdec/swfdec_player.h libswfdec/swfdec_player_internal.h libswfdec/swfdec_sprite.c libswfdec/swfdec_sprite.h libswfdec/swfdec_sprite_movie.c
...Context * jscx; /* global Javascript context */
diff --git a/libswfdec/swfdec_sprite.c b/libswfdec/swfdec_sprite.c
index 0a50906..4145c72 100644
--- a/libswfdec/swfdec_sprite.c
+++ b/libswfdec/swfdec_sprite.c
@@ -229,7 +229,6 @@ tag_show_frame (SwfdecSwfDecoder * s)
if (s->parse_sprite->parse_frame < s->parse_sprite->n_frames) {
SwfdecSpriteFrame *old = &s->parse_sprite->frames[s->parse_sprite->parse_frame - 1];
SwfdecSpriteFrame *new = &s->parse_sprite->frames[s->parse_sprite->parse_frame];
- new->bg_color = old->bg_color;
if (...
2007 May 29
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_js_xml.c libswfdec/swfdec_tag.c player/swfplay.c
...a/libswfdec/swfdec_tag.c b/libswfdec/swfdec_tag.c
index 7df13f4..10a33b6 100644
--- a/libswfdec/swfdec_tag.c
+++ b/libswfdec/swfdec_tag.c
@@ -254,7 +254,7 @@ tag_func_define_sprite (SwfdecSwfDecoder
/* sanity check the sprite */
if (s->parse_sprite->n_frames != s->parse_sprite->parse_frame) {
- SWFDEC_ERROR ("not enough frames in sprite %u (have %u, want %u), filling up with empty frames",
+ SWFDEC_INFO ("not enough frames in sprite %u (have %u, want %u), filling up with empty frames",
id, s->parse_sprite->parse_frame, s->parse_sprite->n_frames...
2007 Jun 13
0
Branch 'as' - 6 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_morph_movie.c libswfdec/swfdec_movie_asprops.c libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_player.c libswfdec/swfdec_sprite.c
...break;
- case SWFDEC_SPRITE_ACTION_REMOVE:
- depth = GPOINTER_TO_INT (data);
- break;
- default:
- g_assert_not_reached ();
- return;
- }
- content = swfdec_content_find (sprite, depth);
- if (content == NULL)
- return;
- content->sequence->end = sprite->parse_frame;
-}
-
-static void
-swfdec_content_update_live (SwfdecSprite *sprite,
- SwfdecSpriteActionType type, gpointer data)
-{
- SwfdecContent *content;
- switch (type) {
- case SWFDEC_SPRITE_ACTION_SCRIPT:
- return;
- case SWFDEC_SPRITE_ACTION_UPDATE:
- case SWFDEC_SPRITE_ACTION_ADD:
-...
2007 Nov 22
0
5 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_debugger.c libswfdec/swfdec_movie.c libswfdec/swfdec_script.c libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_tag.c libswfdec/swfdec_text_field.c
...->b, s->version);
+ s->password = swfdec_bits_get_string (&s->b, s->version);
}
return SWFDEC_STATUS_OK;
}
@@ -79,7 +79,7 @@ tag_func_frame_label (SwfdecSwfDecoder * s, guint tag)
SWFDEC_WARNING ("frame %d already has a label (%s)", s->parse_sprite->parse_frame, frame->label);
g_free (frame->label);
}
- frame->label = swfdec_bits_get_string_with_version (&s->b, s->version);
+ frame->label = swfdec_bits_get_string (&s->b, s->version);
SWFDEC_LOG ("frame %d named %s", s->parse_sprite->parse_frame,...
2007 Oct 25
0
6 commits - libswfdec/swfdec_as_interpret.c libswfdec/swfdec_event.c libswfdec/swfdec_event.h libswfdec/swfdec_movie.c libswfdec/swfdec_movie.h libswfdec/swfdec_player.c libswfdec/swfdec_player_internal.h libswfdec/swfdec_resource.c
...a/libswfdec/swfdec_resource.c
+++ b/libswfdec/swfdec_resource.c
@@ -78,6 +78,8 @@ swfdec_resource_loader_target_image (SwfdecResource *instance)
SwfdecSwfDecoder *dec = SWFDEC_SWF_DECODER (instance->decoder);
movie->sprite = dec->main_sprite;
+ g_assert (movie->sprite->parse_frame > 0);
+ movie->n_frames = movie->sprite->n_frames;
swfdec_movie_invalidate (SWFDEC_MOVIE (movie));
swfdec_resource_check_rights (instance);
} else if (SWFDEC_IS_FLV_DECODER (instance->decoder)) {
@@ -85,6 +87,7 @@ swfdec_resource_loader_target_image (SwfdecResource *i...
2007 Jun 15
0
Branch 'as' - 5 commits - libswfdec/swfdec_as_native_function.c libswfdec/swfdec_edittext.c libswfdec/swfdec_edittext.h libswfdec/swfdec_font.c libswfdec/swfdec_font.h libswfdec/swfdec_image.c libswfdec/swfdec_image.h libswfdec/swfdec_morphshape.h
...INE_TYPE (SwfdecSprite, swfdec_sprite, SWFDEC_TYPE_GRAPHIC)
@@ -159,7 +160,7 @@ swfdec_get_clipeventflags (SwfdecSwfDeco
}
int
-tag_show_frame (SwfdecSwfDecoder * s)
+tag_show_frame (SwfdecSwfDecoder * s, guint tag)
{
SWFDEC_DEBUG("show_frame %d of id %d", s->parse_sprite->parse_frame,
SWFDEC_CHARACTER (s->parse_sprite)->id);
@@ -176,7 +177,7 @@ tag_show_frame (SwfdecSwfDecoder * s)
}
int
-tag_func_set_background_color (SwfdecSwfDecoder * s)
+tag_func_set_background_color (SwfdecSwfDecoder * s, guint tag)
{
SwfdecPlayer *player = SWFDEC_DECODER (s)->playe...
2007 Apr 20
0
8 commits - libswfdec/swfdec_buffer.c libswfdec/swfdec_buffer.h libswfdec/swfdec_root_sprite.c libswfdec/swfdec_swf_decoder.c libswfdec/swfdec_tag.c NEWS test/parse.c
...+ b/libswfdec/swfdec_swf_decoder.c
@@ -295,7 +295,7 @@ swfdec_swf_decoder_parse (SwfdecDecoder
if (func == NULL) {
SWFDEC_WARNING ("tag function not implemented for %d %s",
tag, swfdec_swf_decoder_get_tag_name (tag));
- } else {
+ } else if (s->main_sprite->parse_frame < s->main_sprite->n_frames) {
s->parse_sprite = s->main_sprite;
ret = func (s);
s->parse_sprite = NULL;
@@ -308,6 +308,9 @@ swfdec_swf_decoder_parse (SwfdecDecoder
swfdec_buffer_queue_get_offset (s->input_queue), tag,
swfdec_swf_decoder_get_tag_name (tag)...
2007 Oct 18
0
18 commits - doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_event.c libswfdec/swfdec_event.h libswfdec/swfdec_flash_security.c
...+}
+
+void
+swfdec_resource_advance (SwfdecResource *instance)
+{
+ SwfdecSwfDecoder *s;
+ GArray *array;
+ guint i;
+
+ g_return_if_fail (SWFDEC_IS_RESOURCE (instance));
+
+ s = SWFDEC_SWF_DECODER (instance->decoder);
+ SWFDEC_LOG ("performing actions for frame %u", instance->parse_frame);
+ if (s->root_actions) {
+ array = s->root_actions[instance->parse_frame];
+ } else {
+ array = NULL;
+ }
+ instance->parse_frame++;
+ if (array == NULL)
+ return;
+ for (i = 0; i < array->len; i++) {
+ SwfdecRootAction *action = &g_array_index (array, Swfd...
2007 Apr 05
0
4 commits - libswfdec/swfdec_audio_flv.c libswfdec/swfdec_audio_stream.c libswfdec/swfdec_codec_adpcm.c libswfdec/swfdec_codec.c libswfdec/swfdec_codec_ffmpeg.c libswfdec/swfdec_codec_gst.c libswfdec/swfdec_codec.h libswfdec/swfdec_codec_mad.c
...00644
--- a/libswfdec/swfdec_sprite.c
+++ b/libswfdec/swfdec_sprite.c
@@ -292,7 +292,7 @@ swfdec_contents_create (SwfdecSprite *sp
copy = swfdec_content_find (sprite, depth);
if (copy == NULL) {
- SWFDEC_WARNING ("Couldn't copy depth %u in frame %u", depth, sprite->parse_frame);
+ SWFDEC_WARNING ("Couldn't copy depth %d in frame %u", (depth + 16384), sprite->parse_frame);
} else {
*content = *copy;
SWFDEC_LOG ("Copying from content %p", copy);
2007 Nov 07
0
7 commits - doc/swfdec-sections.txt libswfdec-gtk/swfdec_gtk_widget.c libswfdec/swfdec_as_strings.c libswfdec/swfdec_decoder.c libswfdec/swfdec_flv_decoder.c libswfdec/swfdec_movie_asprops.c libswfdec/swfdec_net_stream.c libswfdec/swfdec_player.c
...int
swfdec_sprite_movie_get_frames_loaded (SwfdecSpriteMovie *movie)
{
- SwfdecSprite *sprite;
+ SwfdecResource *resource;
+ SwfdecDecoder *dec;
g_return_val_if_fail (SWFDEC_IS_SPRITE_MOVIE (movie), 0);
- sprite = movie->sprite;
- if (sprite == 0)
- return 0;
- if (sprite->parse_frame == sprite->n_frames)
- return sprite->n_frames;
-
- return sprite->parse_frame - 1;
+ resource = swfdec_movie_get_own_resource (SWFDEC_MOVIE (movie));
+ if (resource == NULL)
+ return 1;
+ dec = resource->decoder;
+ if (dec == NULL)
+ return -1;
+ if (dec->frames_loade...
2007 Oct 19
0
8 commits - libswfdec/swfdec_movie_as_drawing.c libswfdec/swfdec_player.c libswfdec/swfdec_resource.c libswfdec/swfdec_resource.h libswfdec/swfdec_sprite_movie.c
...a/libswfdec/swfdec_resource.h b/libswfdec/swfdec_resource.h
index 8143d01..f97ddaf 100644
--- a/libswfdec/swfdec_resource.h
+++ b/libswfdec/swfdec_resource.h
@@ -41,6 +41,7 @@ struct _SwfdecResource
SwfdecSpriteMovie * movie; /* the movie responsible for creating this instance */
guint parse_frame; /* next frame to parse */
+ gboolean initial; /* TRUE if this is the initial resource */
SwfdecLoader * loader; /* the loader providing data for the decoder */
SwfdecDecoder * decoder; /* decoder that decoded all the stuff used by us */
commit 0e38784c09bbfc9343e1b00a49b30b49f687f8ff
Au...
2007 Aug 26
0
9 commits - libswfdec-gtk/swfdec_source.c libswfdec/swfdec_marshal.list libswfdec/swfdec_player.c libswfdec/swfdec_player.h libswfdec/swfdec_player_internal.h libswfdec/swfdec_sprite_movie.c libswfdec/swfdec_swf_instance.c test/dump.c test/Makefile.am
...priteMovie *movie)
+{
+ SwfdecMovie *mov = SWFDEC_MOVIE (movie);
+ SwfdecAsContext *context = SWFDEC_AS_OBJECT (movie)->context;
+ SwfdecAsObject *constructor = NULL;
+
+ g_assert (mov->swf != NULL);
+
+ if (movie->sprite) {
+ const char *name;
+
+ g_assert (movie->sprite->parse_frame > 0);
+ movie->n_frames = movie->sprite->n_frames;
+ name = swfdec_swf_instance_get_export_name (mov->swf,
+ SWFDEC_CHARACTER (movie->sprite));
+ if (name != NULL) {
+ name = swfdec_as_context_get_string (context, name);
+ constructor = swfdec_player_get_export_...
2007 Mar 29
0
libswfdec-gtk/swfdec_playback_alsa.c libswfdec/swfdec_audio_event.h libswfdec/swfdec_audio_flv.h libswfdec/swfdec_audio_stream.h libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_buffer.c libswfdec/swfdec_buffer.h libswfdec/swfdec_cache.c
...iteFrame * frames; /* the n_frames different frames */
- unsigned int n_frames; /* number of frames in this sprite */
+ guint n_frames; /* number of frames in this sprite */
SwfdecScript * init_action; /* action to run when initializing this sprite */
/* parse state */
- unsigned int parse_frame; /* frame we're currently parsing. == n_frames if done parsing */
+ guint parse_frame; /* frame we're currently parsing. == n_frames if done parsing */
GHashTable * live_content; /* depth->SwfdecSpriteContent for every content in parse_frame */
};
@@ -87,12 +87,12 @@ struct _Swf...