Benjamin Otte
2007-Aug-22 11:38 UTC
[Swfdec] 5 commits - libswfdec/swfdec_as_object.c NEWS player/swfplay.c
NEWS | 2 +- libswfdec/swfdec_as_object.c | 10 ++++------ player/swfplay.c | 29 +++++++++++++++++++++-------- 3 files changed, 26 insertions(+), 15 deletions(-) New commits: diff-tree c5efffeed0afc0e64f4d01a4323c9137189bf41f (from parents) Merge: 36bd9448b3825d1db38969f18139a7c085be820f d0a5d682d6cac81945ea8e2494f4826ececb37ec Author: Benjamin Otte <otte at gnome.org> Date: Wed Aug 22 13:38:25 2007 +0200 Merge branch 'master' of ssh://company at git.freedesktop.org/git/swfdec/swfdec diff-tree 36bd9448b3825d1db38969f18139a7c085be820f (from 6f3db89d5b461a706c484b2e9da091b357d1fff0) Author: Benjamin Otte <otte at gnome.org> Date: Wed Aug 22 13:38:05 2007 +0200 add support for player scripts (aka FSCommand) also add a --no-scripts option to get rid of it diff --git a/player/swfplay.c b/player/swfplay.c index 23e3f8f..996deb2 100644 --- a/player/swfplay.c +++ b/player/swfplay.c @@ -59,6 +59,15 @@ view_swf (SwfdecPlayer *player, gboolean } static void +do_fscommand (SwfdecPlayer *player, const char *command, const char *value, gpointer window) +{ + if (g_str_equal (command, "quit")) { + gtk_main_quit (); + } + /* FIXME: add more */ +} + +static void print_trace (SwfdecPlayer *player, const char *message, gpointer unused) { g_print ("%s\n", message); @@ -93,7 +102,7 @@ main (int argc, char *argv[]) SwfdecPlayer *player; GError *error = NULL; gboolean use_image = FALSE, no_sound = FALSE; - gboolean trace = FALSE; + gboolean trace = FALSE, no_scripts = FALSE; char *variables = NULL; char *s; GtkWidget *window; @@ -101,6 +110,7 @@ main (int argc, char *argv[]) GOptionEntry options[] = { { "delay", 'd', 0, G_OPTION_ARG_INT, &delay, "make loading of resources take time", "SECS" }, { "image", 'i', 0, G_OPTION_ARG_NONE, &use_image, "use an intermediate image surface for drawing", NULL }, + { "no-scripts", 0, 0, G_OPTION_ARG_NONE, &no_scripts, "don't execute scripts affecting the application", NULL }, { "no-sound", 'n', 0, G_OPTION_ARG_NONE, &no_sound, "don't play sound", NULL }, { "speed", 0, 0, G_OPTION_ARG_INT, &speed, "replay speed (will deactivate sound)", "PERCENT" }, { "trace", 't', 0, G_OPTION_ARG_NONE, &trace, "print trace output to stdout", NULL }, @@ -139,21 +149,24 @@ main (int argc, char *argv[]) player = swfdec_gtk_player_new (NULL); if (trace) g_signal_connect (player, "trace", G_CALLBACK (print_trace), NULL); + swfdec_gtk_player_set_speed (SWFDEC_GTK_PLAYER (player), speed / 100.); + + if (no_sound) + swfdec_gtk_player_set_audio_enabled (SWFDEC_GTK_PLAYER (player), FALSE); + + window = view_swf (player, use_image); + set_title (GTK_WINDOW (window), argv[1]); + + if (!no_scripts) + g_signal_connect (player, "fscommand", G_CALLBACK (do_fscommand), window); if (delay) loader = swfdec_slow_loader_new (loader, delay); swfdec_player_set_loader_with_variables (player, loader, variables); - if (no_sound) - swfdec_gtk_player_set_audio_enabled (SWFDEC_GTK_PLAYER (player), FALSE); - - swfdec_gtk_player_set_speed (SWFDEC_GTK_PLAYER (player), speed / 100.); swfdec_gtk_player_set_playing (SWFDEC_GTK_PLAYER (player), TRUE); - window = view_swf (player, use_image); - set_title (GTK_WINDOW (window), argv[1]); - gtk_main (); g_object_unref (player); diff-tree 6f3db89d5b461a706c484b2e9da091b357d1fff0 (from d68ae26a9b84711a95c9f985b608f89e7dd2a231) Author: Benjamin Otte <otte at gnome.org> Date: Wed Aug 22 11:29:35 2007 +0200 typo diff --git a/NEWS b/NEWS index d1567bf..9cbfaa2 100644 --- a/NEWS +++ b/NEWS @@ -2,7 +2,7 @@ 0.5.1 ("Heeeeelium") Features! This release got some. And they even give you the long awaited -embedded Youtube support. At the cost of lost of API changes, but who cares? +embedded Youtube support. At the cost of lots of API changes, but who cares? - rewrite SwfdecLoader. Add SwfdecURL support structure in the process. - implement AsBroadcaster actionscript object. - implement Stage actionscript object. Movies can now do the scaling themselves. diff-tree d68ae26a9b84711a95c9f985b608f89e7dd2a231 (from 0fcaa45507dc974d08ac3d27814cbc72a7237e64) Author: Benjamin Otte <otte at gnome.org> Date: Wed Aug 22 11:04:04 2007 +0200 set constructor before __proto__ This avoids issues when __proto__.constructor is permanent diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c index f6e07af..d24c337 100644 --- a/libswfdec/swfdec_as_object.c +++ b/libswfdec/swfdec_as_object.c @@ -494,12 +494,12 @@ swfdec_as_object_new (SwfdecAsContext *c g_assert (context->Object_prototype); object = swfdec_as_object_new_empty (context); - SWFDEC_AS_VALUE_SET_OBJECT (&val, context->Object_prototype); - swfdec_as_object_set_variable_and_flags (object, SWFDEC_AS_STR___proto__, - &val, SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT); SWFDEC_AS_VALUE_SET_OBJECT (&val, context->Object); swfdec_as_object_set_variable_and_flags (object, SWFDEC_AS_STR_constructor, &val, SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT); + SWFDEC_AS_VALUE_SET_OBJECT (&val, context->Object_prototype); + swfdec_as_object_set_variable_and_flags (object, SWFDEC_AS_STR___proto__, + &val, SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT); return object; } diff-tree 0fcaa45507dc974d08ac3d27814cbc72a7237e64 (from 71cba217cf8baa498b14a09685aef92266e72dba) Author: Benjamin Otte <otte at gnome.org> Date: Wed Aug 22 11:02:36 2007 +0200 __proto__ and constructor of new objects aren't constant diff --git a/libswfdec/swfdec_as_object.c b/libswfdec/swfdec_as_object.c index 7d7062f..f6e07af 100644 --- a/libswfdec/swfdec_as_object.c +++ b/libswfdec/swfdec_as_object.c @@ -496,12 +496,10 @@ swfdec_as_object_new (SwfdecAsContext *c object = swfdec_as_object_new_empty (context); SWFDEC_AS_VALUE_SET_OBJECT (&val, context->Object_prototype); swfdec_as_object_set_variable_and_flags (object, SWFDEC_AS_STR___proto__, - &val, SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT | - SWFDEC_AS_VARIABLE_CONSTANT); + &val, SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT); SWFDEC_AS_VALUE_SET_OBJECT (&val, context->Object); swfdec_as_object_set_variable_and_flags (object, SWFDEC_AS_STR_constructor, - &val, SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT | - SWFDEC_AS_VARIABLE_CONSTANT); + &val, SWFDEC_AS_VARIABLE_HIDDEN | SWFDEC_AS_VARIABLE_PERMANENT); return object; }
Reasonably Related Threads
- 2 commits - libswfdec-gtk/swfdec_gtk_loader.c player/swfplay.c
- 8 commits - configure.ac doc/swfdec-sections.txt libswfdec/swfdec_loader.c libswfdec/swfdec_player.c libswfdec/swfdec_player.h libswfdec/swfdec_player_internal.h libswfdec/swfdec_root_movie.c libswfdec/swfdec_scriptable.c libswfdec/swfdec_scriptable.h
- 4 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_object.c libswfdec/swfdec_as_string.c libswfdec/swfdec_color_as.c test/trace
- player/swfplay.c
- 5 commits - libswfdec/swfdec_as_array.c libswfdec/swfdec_as_boolean.c libswfdec/swfdec_as_function.c libswfdec/swfdec_as_math.c libswfdec/swfdec_as_number.c libswfdec/swfdec_as_script_function.c libswfdec/swfdec_initialize.as libswfdec/swfdec_initialize.h