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)...