[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