[Swfdec-commits] 4 commits - swfdec/swfdec_audio_event.c swfdec/swfdec_audio_flv.c swfdec/swfdec_audio_stream.c swfdec/swfdec_load_object.c swfdec/swfdec_net_stream.c swfdec/swfdec_resource.c

Benjamin Otte company at kemper.freedesktop.org
Wed Jun 11 13:04:41 PDT 2008


 swfdec/swfdec_audio_event.c  |   10 +++++-----
 swfdec/swfdec_audio_flv.c    |    7 ++++---
 swfdec/swfdec_audio_stream.c |    3 ++-
 swfdec/swfdec_load_object.c  |    2 +-
 swfdec/swfdec_net_stream.c   |   13 ++++++++++---
 swfdec/swfdec_resource.c     |    2 ++
 6 files changed, 24 insertions(+), 13 deletions(-)

New commits:
commit 5e9885914f75beeaf71510a17949698fe9270e12
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Jun 11 21:47:00 2008 +0200

    fix 64bit warnings in debug messages that report sizes

diff --git a/swfdec/swfdec_audio_event.c b/swfdec/swfdec_audio_event.c
index b72494d..4e993a9 100644
--- a/swfdec/swfdec_audio_event.c
+++ b/swfdec/swfdec_audio_event.c
@@ -172,7 +172,7 @@ swfdec_audio_event_decode (SwfdecAudioEvent *event)
     guint skip;
     skip = 4 * event->start_sample;
     if (skip >= event->decoded->length) {
-      SWFDEC_WARNING ("start sample %u > total number of samples %"G_GSIZE_FORMAT,
+      SWFDEC_WARNING ("start sample %"G_GSIZE_FORMAT" > total number of samples %"G_GSIZE_FORMAT,
 	  event->start_sample, event->decoded->length / 4);
       swfdec_buffer_unref (event->decoded);
       event->decoded = swfdec_buffer_new (0);
@@ -187,7 +187,7 @@ swfdec_audio_event_decode (SwfdecAudioEvent *event)
     guint keep;
     keep = 4 * (event->stop_sample - event->start_sample);
     if (keep > event->decoded->length) {
-      SWFDEC_WARNING ("stop sample %u outside of decoded number of samples %"G_GSIZE_FORMAT,
+      SWFDEC_WARNING ("stop sample %"G_GSIZE_FORMAT" outside of decoded number of samples %"G_GSIZE_FORMAT,
 	  event->stop_sample, event->decoded->length / 4 +
 	  event->start_sample);
     } else if (keep < event->decoded->length) {
@@ -198,7 +198,7 @@ swfdec_audio_event_decode (SwfdecAudioEvent *event)
     }
   }
   event->n_samples = event->decoded->length / 4;
-  SWFDEC_LOG ("total 44100Hz samples: %u", event->n_samples);
+  SWFDEC_LOG ("total 44100Hz samples: %"G_GSIZE_FORMAT, event->n_samples);
 }
 
 static SwfdecAudioEvent *
@@ -302,8 +302,8 @@ swfdec_audio_event_new_from_chunk (SwfdecPlayer *player, SwfdecSoundChunk *chunk
   event->n_envelopes = chunk->n_envelopes;
   if (event->n_envelopes)
     event->envelope = g_memdup (chunk->envelope, sizeof (SwfdecSoundEnvelope) * event->n_envelopes);
-  SWFDEC_DEBUG ("playing sound %d from offset %d now", SWFDEC_CHARACTER (event->sound)->id,
-      event->start_sample);
+  SWFDEC_DEBUG ("playing sound %d from offset %"G_GSIZE_FORMAT" now", 
+      SWFDEC_CHARACTER (event->sound)->id, event->start_sample);
   swfdec_audio_add (SWFDEC_AUDIO (event), player);
 
   return SWFDEC_AUDIO (event);
diff --git a/swfdec/swfdec_audio_flv.c b/swfdec/swfdec_audio_flv.c
index 7b46c65..2a49ee6 100644
--- a/swfdec/swfdec_audio_flv.c
+++ b/swfdec/swfdec_audio_flv.c
@@ -123,7 +123,8 @@ swfdec_audio_flv_render (SwfdecAudio *audio, gint16* dest,
 
   g_assert (start < G_MAXINT);
   start += flv->playback_skip;
-  SWFDEC_LOG ("flv %p rendering offset %u, samples %u", flv, start, n_samples);
+  SWFDEC_LOG ("flv %p rendering offset %"G_GSIZE_FORMAT", samples %"G_GSIZE_FORMAT, 
+      flv, start, n_samples);
   walk = g_queue_peek_head_link (flv->playback_queue);
   for (rendered = 0; rendered < n_samples;) {
     if (walk) {
@@ -142,10 +143,10 @@ swfdec_audio_flv_render (SwfdecAudio *audio, gint16* dest,
 	continue;
       }
       samples -= start;
-      SWFDEC_LOG ("rendering %u samples, skipping %u",
+      SWFDEC_LOG ("rendering %"G_GSIZE_FORMAT" samples, skipping %"G_GSIZE_FORMAT,
 	  samples, start);
     } else {
-      SWFDEC_LOG ("rendering %u samples", samples);
+      SWFDEC_LOG ("rendering %"G_GSIZE_FORMAT" samples", samples);
     }
     samples = MIN (samples, n_samples - rendered);
     swfdec_sound_buffer_render (dest, buffer, start, samples);
diff --git a/swfdec/swfdec_audio_stream.c b/swfdec/swfdec_audio_stream.c
index e116d9e..b69174b 100644
--- a/swfdec/swfdec_audio_stream.c
+++ b/swfdec/swfdec_audio_stream.c
@@ -85,7 +85,8 @@ swfdec_audio_stream_render (SwfdecAudio *audio, gint16* dest,
   SwfdecBuffer *buffer;
 
   g_assert (start < G_MAXINT);
-  SWFDEC_LOG ("stream %p rendering offset %u, samples %u", stream, start, n_samples);
+  SWFDEC_LOG ("stream %p rendering offset %"G_GSIZE_FORMAT", samples %"G_GSIZE_FORMAT,
+      stream, start, n_samples);
   swfdec_audio_stream_require (stream, start + n_samples);
   if (stream->queue_size <= start)
     return 0;
commit a8299a61976b85118ece4064e802b84fd6369c95
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Jun 11 21:46:07 2008 +0200

    make the security model closer to what Adobe's player does
    
    ... and less what Adobe's docs say.

diff --git a/swfdec/swfdec_net_stream.c b/swfdec/swfdec_net_stream.c
index 6a99e5e..6d6896f 100644
--- a/swfdec/swfdec_net_stream.c
+++ b/swfdec/swfdec_net_stream.c
@@ -589,22 +589,29 @@ swfdec_net_stream_set_url (SwfdecNetStream *stream, SwfdecSandbox *sandbox, cons
   }
   stream->requested_url = g_strdup (url_string);
   stream->sandbox = sandbox;
+#if 0
   if (swfdec_url_path_is_relative (url_string)) {
     swfdec_net_stream_load (player, TRUE, stream);
     return;
   }
+#endif
   url = swfdec_player_create_url (player, url_string);
   if (url == NULL) {
     swfdec_net_stream_load (player, FALSE, stream);
     return;
   }
   if (swfdec_url_is_local (url)) {
-    swfdec_net_stream_load (player, TRUE, stream);
+    swfdec_net_stream_load (player, 
+	sandbox->type == SWFDEC_SANDBOX_LOCAL_TRUSTED ||
+	sandbox->type == SWFDEC_SANDBOX_LOCAL_FILE, stream);
   } else {
     switch (sandbox->type) {
       case SWFDEC_SANDBOX_REMOTE:
-	swfdec_net_stream_load (player, TRUE, stream);
-	break;
+	if (swfdec_url_host_equal(url, sandbox->url)) {
+	  swfdec_net_stream_load (player, TRUE, stream);
+	  break;
+	}
+	/* fall through */
       case SWFDEC_SANDBOX_LOCAL_NETWORK:
       case SWFDEC_SANDBOX_LOCAL_TRUSTED:
 	{
commit 672ab78c8cb675cfb8d0404c1b25bf0b25999173
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Jun 11 21:45:54 2008 +0200

    mark the target on GC

diff --git a/swfdec/swfdec_resource.c b/swfdec/swfdec_resource.c
index 95f622a..5f75c01 100644
--- a/swfdec/swfdec_resource.c
+++ b/swfdec/swfdec_resource.c
@@ -380,6 +380,8 @@ swfdec_resource_mark (SwfdecAsObject *object)
   }
   if (resource->sandbox)
     swfdec_as_object_mark (SWFDEC_AS_OBJECT (resource->sandbox));
+  if (resource->target)
+    swfdec_as_object_mark (SWFDEC_AS_OBJECT (resource->target));
 
   SWFDEC_AS_OBJECT_CLASS (swfdec_resource_parent_class)->mark (object);
 }
commit 683b3e058eaf0ecedef184f15660ce0522dd043f
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Jun 11 21:40:13 2008 +0200

    don't compare to the wrong url
    
    We compared to the player's URL, not to the sandbox URL

diff --git a/swfdec/swfdec_load_object.c b/swfdec/swfdec_load_object.c
index afc7781..2526366 100644
--- a/swfdec/swfdec_load_object.c
+++ b/swfdec/swfdec_load_object.c
@@ -208,7 +208,7 @@ swfdec_load_object_request (gpointer objectp, gpointer playerp)
   }
   switch (load->sandbox->type) {
     case SWFDEC_SANDBOX_REMOTE:
-      if (swfdec_url_host_equal(url, swfdec_player_get_url (player))) {
+      if (swfdec_url_host_equal(url, load->sandbox->url)) {
 	swfdec_load_object_load (player, TRUE, load);
 	break;
       }


More information about the Swfdec-commits mailing list