[Swfdec-commits] 5 commits - configure.ac NEWS swfdec/swfdec_audio_decoder_uncompressed.c swfdec/swfdec_sprite_movie.c

Benjamin Otte company at kemper.freedesktop.org
Wed Jun 25 10:03:46 PDT 2008


 NEWS                                       |   19 +++++++++++++++++++
 configure.ac                               |    4 ++--
 swfdec/swfdec_audio_decoder_uncompressed.c |   22 +++++++++-------------
 swfdec/swfdec_sprite_movie.c               |    8 ++++++--
 4 files changed, 36 insertions(+), 17 deletions(-)

New commits:
commit 00dae48da4a71bfa70955e133625f5cf0455fae1
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Jun 25 18:38:17 2008 +0200

    back to development

diff --git a/configure.ac b/configure.ac
index 257f95b..dc68eae 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ([2.58])
-AC_INIT(swfdec,0.7.2)
+AC_INIT(swfdec,0.7.3)
 
 [is_dev=$(echo $PACKAGE_VERSION | sed 's/[0-9]\.[0-9][0-9]*\.[0-9]*[13579]/1/')]
 if test x"$is_dev" = x1 ; then
@@ -31,7 +31,7 @@ else
 fi
 AC_DEFINE_UNQUOTED(SWFDEC_LEVEL_DEFAULT, $DEFAULT_DEBUG_LEVEL, [Default debug level used])
 
-SWFDEC_LIBVERSION="0:0:0"
+SWFDEC_LIBVERSION="1:0:0"
 AC_SUBST(SWFDEC_LIBVERSION)
 AM_PROG_LIBTOOL
 
commit 156e04095230c9a323d8e6b23f3f8f9f4e48a601
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Jun 25 18:16:55 2008 +0200

    release 0.7.2

diff --git a/configure.ac b/configure.ac
index 588089f..257f95b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
 AC_PREREQ([2.58])
-AC_INIT(swfdec,0.7.1)
+AC_INIT(swfdec,0.7.2)
 
 [is_dev=$(echo $PACKAGE_VERSION | sed 's/[0-9]\.[0-9][0-9]*\.[0-9]*[13579]/1/')]
 if test x"$is_dev" = x1 ; then
commit f4e39246cb4180c006accad7cc3978aca92f23d4
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Jun 25 18:14:34 2008 +0200

    don't overwrite random memory when decoding uncompressed sound

diff --git a/swfdec/swfdec_audio_decoder_uncompressed.c b/swfdec/swfdec_audio_decoder_uncompressed.c
index 9a6388d..48abe8c 100644
--- a/swfdec/swfdec_audio_decoder_uncompressed.c
+++ b/swfdec/swfdec_audio_decoder_uncompressed.c
@@ -50,13 +50,19 @@ swfdec_audio_decoder_uncompressed_upscale (SwfdecBuffer *buffer, SwfdecAudioForm
   guint channels = swfdec_audio_format_get_channels (format);
   guint granularity = swfdec_audio_format_get_granularity (format);
   SwfdecBuffer *ret;
-  guint i, j;
+  guint i, j, n_samples;
   gint16 *src, *dest;
 
-  ret = swfdec_buffer_new (buffer->length * 2 / channels * granularity);
+  g_printerr ("buffer length %u, channels %u, granularity %u\n", buffer->length, channels, granularity);
+  n_samples = buffer->length / 2 / channels;
+  if (n_samples * 2 * channels != buffer->length) {
+    SWFDEC_ERROR ("incorrect buffer size, %"G_GSIZE_FORMAT" bytes overhead",
+	buffer->length - n_samples * 2 * channels);
+  }
+  ret = swfdec_buffer_new (n_samples * 4 * granularity);
   src = (gint16 *) buffer->data;
   dest = (gint16 *) ret->data;
-  for (i = 0; i < buffer->length / 2; i++) {
+  for (i = 0; i < n_samples; i++) {
     for (j = 0; j < granularity; j++) {
       *dest++ = src[0];
       *dest++ = src[channels - 1];
@@ -120,16 +126,6 @@ swfdec_audio_decoder_uncompressed_push (SwfdecAudioDecoder *decoder,
   else
     tmp = swfdec_audio_decoder_uncompressed_decode_8bit (buffer);
 
-  if (tmp->length % 4) {
-    SwfdecBuffer *correct;
-    SWFDEC_ERROR ("incorrect buffer size, %"G_GSIZE_FORMAT" bytes overhead",
-	tmp->length % 4);
-    /* we don't just truncate the length here as it might be the original
-     * buffer we got passed, and we must not modify that one */
-    correct = swfdec_buffer_new_subbuffer (tmp, 0, tmp->length & ~3);
-    swfdec_buffer_unref (tmp);
-    tmp = correct;
-  }
   tmp = swfdec_audio_decoder_uncompressed_upscale (tmp, decoder->format);
   swfdec_buffer_queue_push (SWFDEC_AUDIO_DECODER_UNCOMPRESSED (decoder)->queue,
       tmp);
commit 0f0339b46382706778207e724b89597c8160575d
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Jun 25 17:26:40 2008 +0200

    if reading the name fails, assumes NULL

diff --git a/swfdec/swfdec_sprite_movie.c b/swfdec/swfdec_sprite_movie.c
index 367cc29..ff75fb6 100644
--- a/swfdec/swfdec_sprite_movie.c
+++ b/swfdec/swfdec_sprite_movie.c
@@ -234,8 +234,12 @@ swfdec_sprite_movie_perform_place (SwfdecSpriteMovie *movie, SwfdecBits *bits, g
 
   if (has_name) {
     char *s = swfdec_bits_get_string (bits, version);
-    name = swfdec_as_context_give_string (SWFDEC_AS_CONTEXT (player), s);
-    SWFDEC_LOG ("  name = %s", name);
+    if (s) {
+      name = swfdec_as_context_give_string (SWFDEC_AS_CONTEXT (player), s);
+      SWFDEC_LOG ("  name = %s", name);
+    } else {
+      name = NULL;
+    }
   } else {
     name = NULL;
   }
commit 179a3746782ab12f988b227e1a023119470f3e44
Author: Benjamin Otte <otte at gnome.org>
Date:   Wed Jun 25 16:30:13 2008 +0200

    update NEWS

diff --git a/NEWS b/NEWS
index f93dfcc..092935f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,23 @@
 
+ 0.7.2 ("Rock You")
+
+Here is - roughly 3 months too late - the first development release of the 
+Swfdec 0.7 series:
+- lots of conformance fixes that make lots of Flash files work
+- new (de)compiler framework in vivified debugger
+- fullscreen support
+- handle focus properly
+- lots of TextField fixes (including onScroller and onChanged events)
+- TextFields can now receive keyboard input
+- extend SwfdecAudio API to allow partially loaded streams and volume changes
+- the Sound object is now fully supported
+- rework loading of external resources to be more compatible
+- significant speedups to the Actionscript interpreter
+- noticable speedups to rendering infrastructure and new API that allows
+  custom speedups
+- removed unmaintained ffmpeg, mad and OSS support
+- lots of bug fixes
+
  0.6.6 ("Faith Fighter")
 
 Here's another bugfix release.


More information about the Swfdec-commits mailing list