search for: swfdec_script_skip_act

Displaying 7 results from an estimated 7 matches for "swfdec_script_skip_act".

2007 Feb 01
0
Branch 'interpreter' - libswfdec/swfdec_script.c
...; + if (frame < 0) + return JS_TRUE; + frame += bias; frame = CLAMP (frame, 0, (int) movie->n_frames - 1); swfdec_movie_goto (movie, frame); movie->stopped = !play; @@ -315,6 +324,63 @@ swfdec_action_goto_frame2 (JSContext *cx return JS_TRUE; } +static void +swfdec_script_skip_actions (JSContext *cx, guint jump) +{ + SwfdecScript *script = cx->fp->swf; + guint8 *pc = cx->fp->pc; + guint8 *endpc = script->buffer->data + script->buffer->length; + + /* jump instructions */ + g_assert (script); + do { + if (pc >= endpc) + break; + if (...
2007 Dec 10
0
5 commits - libswfdec/jpeg libswfdec/swfdec_as_interpret.c libswfdec/swfdec_bits.c libswfdec/swfdec_cached.c libswfdec/swfdec_codec_adpcm.c libswfdec/swfdec_codec_audio.c libswfdec/swfdec_flash_security.c libswfdec/swfdec_image.c
...frame = GUINT16_FROM_LE (*((guint16 *) data)); + frame = (data[0] | data[1] << 8); if (SWFDEC_IS_SPRITE_MOVIE (cx->frame->target)) { SwfdecSpriteMovie *movie = SWFDEC_SPRITE_MOVIE (cx->frame->target); swfdec_sprite_movie_goto (movie, frame + 1); @@ -225,7 +225,7 @@ swfdec_script_skip_actions (SwfdecAsContext *cx, guint jump) if (*pc & 0x80) { if (pc + 2 >= endpc) break; - pc += 3 + GUINT16_FROM_LE (*((guint16 *) (pc + 1))); + pc += 3 + (pc[1] | (pc[2] << 8)); } else { pc++; } @@ -1086,11 +1086,14 @@ swfdec_action_not (SwfdecAsCo...
2007 Apr 04
0
Branch 'as' - 9 commits - libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_frame.h libswfdec/swfdec_as_function.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_stack.c libswfdec/swfdec_as_stack.h
...- if (string == NULL) - return JS_FALSE; - *cx->fp->sp++ = STRING_TO_JSVAL (string); - return JS_TRUE; -} - -static void swfdec_value_to_boolean_5 (SwfdecAsContext *cx, jsval val) { if (JSVAL_IS_BOOLEAN (val)) { @@ -407,123 +398,121 @@ swfdec_action_wait_for_frame (SwfdecAsCo swfdec_script_skip_actions (cx, jump); } -#if 0 static void swfdec_action_constant_pool (SwfdecAsContext *cx, guint action, const guint8 *data, guint len) { SwfdecConstantPool *pool; + SwfdecAsFrame *frame; + frame = cx->frame; pool = swfdec_constant_pool_new_from_action (data, len); if (pool == NUL...
2007 Apr 04
0
Branch 'as' - 4 commits - libswfdec/Makefile.am libswfdec/swfdec_as_context.c libswfdec/swfdec_as_frame.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_interpret.h libswfdec/swfdec_as_object.c libswfdec/swfdec_as_types.c libswfdec/swfdec_as_types.h
...0) + return JS_TRUE; + frame += bias; + frame = CLAMP (frame, 0, (int) movie->n_frames - 1); + swfdec_movie_goto (movie, frame); + movie->stopped = !play; + } else { + SWFDEC_ERROR ("no movie to GotoFrame2 on"); + } + return JS_TRUE; +} +#endif + +static void +swfdec_script_skip_actions (SwfdecAsContext *cx, guint jump) +{ + SwfdecScript *script = cx->frame->script; + guint8 *pc = cx->frame->pc; + guint8 *endpc = script->buffer->data + script->buffer->length; + + /* jump instructions */ + do { + if (pc >= endpc) + break; + if (*pc &am...
2007 Jul 18
0
12 commits - configure.ac doc/swfdec-sections.txt libswfdec-gtk/swfdec_playback_alsa.c libswfdec/jpeg libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.h libswfdec/swfdec_as_context.c
...EC_MOVIE (movie)->swf->decoder; loaded = dec->frames_loaded; g_assert (loaded <= movie->n_frames); + if (loaded == dec->frames_total) + loaded = G_MAXUINT; } else { - loaded = movie->n_frames; + loaded = G_MAXUINT; } if (loaded <= frame) swfdec_script_skip_actions (cx, jump); diff-tree 5c57cf2b0be8b2d66dd8c8362e768491a2b3f92b (from f7617df09a9ef883cb0503e801f457175d5e3de7) Author: Benjamin Otte <otte at gnome.org> Date: Wed Jul 18 11:14:21 2007 +0100 fix alignment issues on broken processors diff --git a/libswfdec/swfdec_as_interpret.c b/li...
2007 Feb 06
0
109 commits - configure.ac libswfdec/js libswfdec/Makefile.am libswfdec/swfdec_bits.c libswfdec/swfdec_bits.h libswfdec/swfdec_buffer.c libswfdec/swfdec_button_movie.c libswfdec/swfdec_codec_screen.c libswfdec/swfdec_color.c libswfdec/swfdec_color.h
...; + if (frame < 0) + return JS_TRUE; + frame += bias; frame = CLAMP (frame, 0, (int) movie->n_frames - 1); swfdec_movie_goto (movie, frame); movie->stopped = !play; @@ -315,6 +324,63 @@ swfdec_action_goto_frame2 (JSContext *cx return JS_TRUE; } +static void +swfdec_script_skip_actions (JSContext *cx, guint jump) +{ + SwfdecScript *script = cx->fp->swf; + guint8 *pc = cx->fp->pc; + guint8 *endpc = script->buffer->data + script->buffer->length; + + /* jump instructions */ + g_assert (script); + do { + if (pc >= endpc) + break; + if (...
2007 Nov 07
0
36 commits - doc/swfdec-sections.txt libswfdec/Makefile.am libswfdec/swfdec_amf.c libswfdec/swfdec_as_interpret.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_object.h libswfdec/swfdec_as_strings.c libswfdec/swfdec_buffer.c libswfdec/swfdec_buffer.h
...t;frames_loaded; - if (loaded == dec->frames_total) - loaded = G_MAXUINT; - } else { - loaded = G_MAXUINT; - } - if (loaded <= frame) + loaded = swfdec_sprite_movie_get_frames_loaded (movie); + if (loaded < (int) movie->n_frames && + loaded <= frame) swfdec_script_skip_actions (cx, jump); } diff --git a/libswfdec/swfdec_movie_asprops.c b/libswfdec/swfdec_movie_asprops.c index 990ccf3..f704f79 100644 --- a/libswfdec/swfdec_movie_asprops.c +++ b/libswfdec/swfdec_movie_asprops.c @@ -147,11 +147,9 @@ static void mc_framesloaded (SwfdecMovie *mov, SwfdecAsValue *rval)...