[Swfdec-commits] src/plugin.c src/swfmoz_dialog.c src/swfmoz_loader.c src/swfmoz_player.c

Benjamin Otte company at kemper.freedesktop.org
Mon Jan 21 14:49:30 PST 2008


 src/plugin.c        |   12 ++++++------
 src/swfmoz_dialog.c |    4 +++-
 src/swfmoz_loader.c |   20 ++++++++++++++------
 src/swfmoz_player.c |    6 +++---
 4 files changed, 26 insertions(+), 16 deletions(-)

New commits:
commit 3ddaac9636b2f7eb32b24544bbec2f823e737aa7
Author: Benjamin Otte <otte at gnome.org>
Date:   Mon Jan 21 23:48:01 2008 +0100

    update to new API

diff --git a/src/plugin.c b/src/plugin.c
index 8d316f9..0cf24fd 100644
--- a/src/plugin.c
+++ b/src/plugin.c
@@ -294,7 +294,7 @@ plugin_destroy_stream_cb (NPP instance, NPStream* stream, NPReason reason)
     return NPERR_INVALID_INSTANCE_ERROR;
 
   swfmoz_loader_ensure_open (stream->pdata);
-  swfdec_loader_eof (stream->pdata);
+  swfdec_stream_eof (stream->pdata);
   SWFMOZ_LOADER (stream->pdata)->stream = NULL;
   g_object_unref (stream->pdata);
   return NPERR_NO_ERROR;
@@ -325,7 +325,7 @@ plugin_write (NPP instance, NPStream *stream, int32 offset, int32 len, void *buf
   new->length = len;
   new->data = g_memdup (buffer, len);
   swfmoz_loader_ensure_open (stream->pdata);
-  swfdec_loader_push (stream->pdata, new);
+  swfdec_stream_push (stream->pdata, new);
   return len;
 }
 
@@ -372,14 +372,14 @@ plugin_handle_event (NPP instance, void *eventp)
 static void
 plugin_url_notify (NPP instance, const char* url, NPReason reason, void* notifyData)
 {
-  SwfdecLoader *loader = SWFDEC_LOADER (notifyData);
+  SwfdecStream *stream = SWFDEC_STREAM (notifyData);
 
   if (reason == NPRES_NETWORK_ERR) {
-    swfdec_loader_error (loader, "Network error");
+    swfdec_stream_error (stream, "Network error");
   } else if (reason == NPRES_USER_BREAK) {
-    swfdec_loader_error (loader, "User interrupt");
+    swfdec_stream_error (stream, "User interrupt");
   }
-  g_object_unref (loader);
+  g_object_unref (stream);
 }
 
 NPError
diff --git a/src/swfmoz_dialog.c b/src/swfmoz_dialog.c
index 5289288..a01d67f 100644
--- a/src/swfmoz_dialog.c
+++ b/src/swfmoz_dialog.c
@@ -99,6 +99,7 @@ swfmoz_dialog_save_media (GtkButton *button, SwfmozDialog *dialog)
   SwfmozLoader *loader;
   GtkWidget *chooser;
   char *s, *filename;
+  gboolean error;
 
   selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (dialog->media));
   /* FIXME: assert this doesn't happen? */
@@ -107,7 +108,8 @@ swfmoz_dialog_save_media (GtkButton *button, SwfmozDialog *dialog)
   
   gtk_tree_model_get (model, &iter, SWFMOZ_LOADER_COLUMN_LOADER, &loader, -1);
   g_object_unref (loader);
-  if (SWFDEC_LOADER (loader)->error != NULL) {
+  g_object_get (loader, "error", &error, NULL);
+  if (error) {
     /* FIXME: make it impossible that this happens by disabling this button for 
      * error cases. But that requires monitoring the selection, and I'm lazy */
     return;
diff --git a/src/swfmoz_loader.c b/src/swfmoz_loader.c
index 657822b..a63f39c 100644
--- a/src/swfmoz_loader.c
+++ b/src/swfmoz_loader.c
@@ -48,7 +48,7 @@ swfmoz_loader_dispose (GObject *object)
 
 static void
 swfmoz_loader_load (SwfdecLoader *loader, SwfdecLoader *parent, 
-    SwfdecLoaderRequest request, const char *data, gsize data_len)
+    SwfdecLoaderRequest request, SwfdecBuffer *buffer)
 {
   SwfmozLoader *moz = SWFMOZ_LOADER (loader);
   const char *url;
@@ -57,16 +57,21 @@ swfmoz_loader_load (SwfdecLoader *loader, SwfdecLoader *parent,
   g_object_ref (moz);
   url = swfdec_url_get_url (swfdec_loader_get_url (loader));
   if (request == SWFDEC_LOADER_REQUEST_POST) {
-    plugin_post_url_notify (moz->instance, url, NULL, data, data_len, moz);
+    if (buffer) {
+      plugin_post_url_notify (moz->instance, url, NULL, 
+	  (char *) buffer->data, buffer->length, moz);
+    } else {
+      plugin_post_url_notify (moz->instance, url, NULL, NULL, 0, moz);
+    }
   } else {
     plugin_get_url_notify (moz->instance, url, NULL, moz);
   }
 }
 
 static void
-swfmoz_loader_close (SwfdecLoader *loader)
+swfmoz_loader_close (SwfdecStream *stream)
 {
-  SwfmozLoader *moz = SWFMOZ_LOADER (loader);
+  SwfmozLoader *moz = SWFMOZ_LOADER (stream);
 
   if (moz->stream)
     plugin_destroy_stream (moz->instance, moz->stream);
@@ -76,12 +81,14 @@ static void
 swfmoz_loader_class_init (SwfmozLoaderClass *klass)
 {
   GObjectClass *object_class = G_OBJECT_CLASS (klass);
+  SwfdecStreamClass *stream_class = SWFDEC_STREAM_CLASS (klass);
   SwfdecLoaderClass *loader_class = SWFDEC_LOADER_CLASS (klass);
 
   object_class->dispose = swfmoz_loader_dispose;
 
+  stream_class->close = swfmoz_loader_close;
+
   loader_class->load = swfmoz_loader_load;
-  loader_class->close = swfmoz_loader_close;
 }
 
 static void
@@ -111,7 +118,8 @@ swfmoz_loader_ensure_open (SwfmozLoader *loader)
 
   if (loader->open)
     return;
-  swfdec_loader_open (SWFDEC_LOADER (loader), loader->stream->url);
+  swfdec_loader_set_url (SWFDEC_LOADER (loader), loader->stream->url);
+  swfdec_stream_open (SWFDEC_STREAM (loader));
   loader->open = TRUE;
 }
 
diff --git a/src/swfmoz_player.c b/src/swfmoz_player.c
index 8744de1..1440833 100644
--- a/src/swfmoz_player.c
+++ b/src/swfmoz_player.c
@@ -402,7 +402,7 @@ swfmoz_player_loaders_update (GtkListStore *store, GtkTreeIter *iter, SwfdecLoad
 {
   char *filename = swfdec_loader_get_filename (loader);
   glong percent;
-  gboolean eof;
+  gboolean eof, error;
 
   percent = swfdec_loader_get_size (loader);
   if (percent == 0) {
@@ -414,14 +414,14 @@ swfmoz_player_loaders_update (GtkListStore *store, GtkTreeIter *iter, SwfdecLoad
     percent = CLAMP (percent, 0, 100);
   }
   /* FIXME: swfdec needs a function for this */
-  g_object_get (G_OBJECT (loader), "eof", &eof, NULL);
+  g_object_get (G_OBJECT (loader), "eof", &eof, "error", &error, NULL);
 
   gtk_list_store_set (store, iter,
     SWFMOZ_LOADER_COLUMN_LOADER, loader,
     SWFMOZ_LOADER_COLUMN_NAME, filename,
     SWFMOZ_LOADER_COLUMN_URL, swfdec_url_get_url (swfdec_loader_get_url (loader)),
     SWFMOZ_LOADER_COLUMN_EOF, eof,
-    SWFMOZ_LOADER_COLUMN_ERROR, loader->error != NULL,
+    SWFMOZ_LOADER_COLUMN_ERROR, error,
     SWFMOZ_LOADER_COLUMN_TYPE, swfmoz_loader_get_data_type_string (loader),
     SWFMOZ_LOADER_COLUMN_PERCENT_LOADED, (guint) percent,
     -1);


More information about the Swfdec-commits mailing list