[Swfdec-commits] 10 commits - swfdec/swfdec_as_interpret.c swfdec/swfdec_net_stream.c swfdec/swfdec_xml.c test/trace

Pekka Lampila medar at kemper.freedesktop.org
Wed Feb 20 03:28:21 PST 2008


 swfdec/swfdec_as_interpret.c     |    3 ---
 swfdec/swfdec_net_stream.c       |    6 +++---
 swfdec/swfdec_xml.c              |    3 +++
 test/trace/Makefile.am           |    9 +++++++++
 test/trace/xml-cdata-5.swf       |binary
 test/trace/xml-cdata-5.swf.trace |   12 ++++++++++++
 test/trace/xml-cdata-6.swf       |binary
 test/trace/xml-cdata-6.swf.trace |   12 ++++++++++++
 test/trace/xml-cdata-7.swf       |binary
 test/trace/xml-cdata-7.swf.trace |   12 ++++++++++++
 test/trace/xml-cdata-8.swf       |binary
 test/trace/xml-cdata-8.swf.trace |   12 ++++++++++++
 test/trace/xml-cdata.as          |   28 ++++++++++++++++++++++++++++
 13 files changed, 91 insertions(+), 6 deletions(-)

New commits:
commit 3d747edb331fca9c3f5371d33e607a4dcf0d6959
Merge: 6955143... 056fd6e...
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Feb 20 13:26:06 2008 +0200

    Merge branch 'master' of ssh://medar@git.freedesktop.org/git/swfdec/swfdec

commit 6955143b7a3c0fbaa855c93f3f1da9299e281775
Merge: 15b2316... bb46372...
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Feb 20 12:00:14 2008 +0200

    Merge branch 'master' of ssh://medar@git.freedesktop.org/git/swfdec/swfdec

commit 15b23161428977c62b1d04b10f085b02f252fb0b
Merge: 071dcd3... b129af8...
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Wed Feb 20 09:17:12 2008 +0200

    Merge branch 'master' of ssh://medar@git.freedesktop.org/git/swfdec/swfdec

commit 071dcd3e8d158a0433599c3f12b54513c782220b
Merge: 4c27b57... 48a0c8a...
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Tue Feb 19 20:34:02 2008 +0200

    Merge branch 'master' of ssh://medar@git.freedesktop.org/git/swfdec/swfdec

commit 4c27b57d45fe7a82cadf449a724d4ad82ca8456f
Merge: 199cb0a... 9525e3c...
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Feb 18 17:52:55 2008 +0200

    Merge branch 'master' of ssh://medar@git.freedesktop.org/git/swfdec/swfdec

commit 199cb0a722a51256dddde6e8803faefebacc9213
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Feb 18 13:20:20 2008 +0200

    Add a test for XML's CDATA handling

diff --git a/test/trace/Makefile.am b/test/trace/Makefile.am
index 86d3f08..a1f54de 100644
--- a/test/trace/Makefile.am
+++ b/test/trace/Makefile.am
@@ -3299,6 +3299,15 @@ EXTRA_DIST = \
 	with-prototypes-6.swf.trace \
 	with-prototypes-7.swf \
 	with-prototypes-7.swf.trace \
+	xml-cdata.as \
+	xml-cdata-5.swf \
+	xml-cdata-5.swf.trace \
+	xml-cdata-6.swf \
+	xml-cdata-6.swf.trace \
+	xml-cdata-7.swf \
+	xml-cdata-7.swf.trace \
+	xml-cdata-8.swf \
+	xml-cdata-8.swf.trace \
 	xml-errors.as \
 	xml-errors-5.swf \
 	xml-errors-5.swf.trace \
diff --git a/test/trace/xml-cdata-5.swf b/test/trace/xml-cdata-5.swf
new file mode 100644
index 0000000..1adcbb6
Binary files /dev/null and b/test/trace/xml-cdata-5.swf differ
diff --git a/test/trace/xml-cdata-5.swf.trace b/test/trace/xml-cdata-5.swf.trace
new file mode 100644
index 0000000..41b8737
--- /dev/null
+++ b/test/trace/xml-cdata-5.swf.trace
@@ -0,0 +1,12 @@
+<a>  bl&lt;/a&gt;#¤!  a &amp;lt;ah    </a>
+0
+<a>bl&lt;/a&gt;#¤!  a &amp;lt;ah  </a>
+0
+<a />
+-2
+<a>bl&lt;/a&gt;#¤!  ]a &lt;ah]]&gt;</a>
+0
+<a />
+-2
+<a />
+-2
diff --git a/test/trace/xml-cdata-6.swf b/test/trace/xml-cdata-6.swf
new file mode 100644
index 0000000..a576731
Binary files /dev/null and b/test/trace/xml-cdata-6.swf differ
diff --git a/test/trace/xml-cdata-6.swf.trace b/test/trace/xml-cdata-6.swf.trace
new file mode 100644
index 0000000..b290412
--- /dev/null
+++ b/test/trace/xml-cdata-6.swf.trace
@@ -0,0 +1,12 @@
+<a>  bl&lt;/a&gt;#¤!  a &amp;lt;ah    </a>
+0
+<a>bl&lt;/a&gt;#¤!  a &amp;lt;ah  </a>
+0
+<a />
+-2
+<a>bl&lt;/a&gt;#¤!  ]a &lt;ah]]&gt;</a>
+0
+<a />
+-2
+<a />
+-2
diff --git a/test/trace/xml-cdata-7.swf b/test/trace/xml-cdata-7.swf
new file mode 100644
index 0000000..48f88dd
Binary files /dev/null and b/test/trace/xml-cdata-7.swf differ
diff --git a/test/trace/xml-cdata-7.swf.trace b/test/trace/xml-cdata-7.swf.trace
new file mode 100644
index 0000000..b290412
--- /dev/null
+++ b/test/trace/xml-cdata-7.swf.trace
@@ -0,0 +1,12 @@
+<a>  bl&lt;/a&gt;#¤!  a &amp;lt;ah    </a>
+0
+<a>bl&lt;/a&gt;#¤!  a &amp;lt;ah  </a>
+0
+<a />
+-2
+<a>bl&lt;/a&gt;#¤!  ]a &lt;ah]]&gt;</a>
+0
+<a />
+-2
+<a />
+-2
diff --git a/test/trace/xml-cdata-8.swf b/test/trace/xml-cdata-8.swf
new file mode 100644
index 0000000..46f894b
Binary files /dev/null and b/test/trace/xml-cdata-8.swf differ
diff --git a/test/trace/xml-cdata-8.swf.trace b/test/trace/xml-cdata-8.swf.trace
new file mode 100644
index 0000000..b290412
--- /dev/null
+++ b/test/trace/xml-cdata-8.swf.trace
@@ -0,0 +1,12 @@
+<a>  bl&lt;/a&gt;#¤!  a &amp;lt;ah    </a>
+0
+<a>bl&lt;/a&gt;#¤!  a &amp;lt;ah  </a>
+0
+<a />
+-2
+<a>bl&lt;/a&gt;#¤!  ]a &lt;ah]]&gt;</a>
+0
+<a />
+-2
+<a />
+-2
diff --git a/test/trace/xml-cdata.as b/test/trace/xml-cdata.as
new file mode 100644
index 0000000..4bf7382
--- /dev/null
+++ b/test/trace/xml-cdata.as
@@ -0,0 +1,28 @@
+// makeswf -v 7 -r 1 -o test-7.swf test.as
+
+var x = new XML ("<a>  <![CDATA[bl</a>#¤!  a &lt;ah  ]]>  </a>");
+trace (x);
+trace (x.status);
+x.ignoreWhite = true;
+
+x.parseXML ("<a><![CDATA[bl</a>#¤!  a &lt;ah  ]]>  </a>");
+trace (x);
+trace (x.status);
+
+x.parseXML ("<a><![CDATA[bl</a>#¤!  a &lt;ah]></a>");
+trace (x);
+trace (x.status);
+
+x.parseXML ("<a><![CDATA[bl</a>#¤!  ]]]>a &lt;ah]]></a>");
+trace (x);
+trace (x.status);
+
+x.parseXML ("<a><![CDATA[bl</a>#¤!  a &lt;ah] ]></a>");
+trace (x);
+trace (x.status);
+
+x.parseXML ("<a><![CDATA[bl</a>#¤!  a &lt;ah]] ></a>");
+trace (x);
+trace (x.status);
+
+loadMovie ("FSCommand:quit", "");
commit 101294ef2119b89fae284ebb88844816e7d520be
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Feb 18 13:15:42 2008 +0200

    Fix XML's CDATA support (oops)

diff --git a/swfdec/swfdec_xml.c b/swfdec/swfdec_xml.c
index 6630906..5d09a55 100644
--- a/swfdec/swfdec_xml.c
+++ b/swfdec/swfdec_xml.c
@@ -692,6 +692,9 @@ swfdec_xml_parse_cdata (SwfdecXml *xml, SwfdecXmlNode *node, const char *p)
   child = swfdec_xml_node_new_no_properties (
       SWFDEC_AS_OBJECT (node)->context, SWFDEC_XML_NODE_TEXT,
       swfdec_as_context_give_string (SWFDEC_AS_OBJECT (xml)->context, text));
+  if (child == NULL)
+    return strchr (p, '\0');
+  swfdec_xml_node_appendChild (node, child);
 
   end += strlen("]]>");
 
commit 6375f52c4d2c32333bcb9b3c0a3d9faa32b0015d
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Feb 18 11:43:34 2008 +0200

    This exception in swfdec_action_trace is no longer required
    
    Since String objects don't call toString even in swfdec_as_value_to_string

diff --git a/swfdec/swfdec_as_interpret.c b/swfdec/swfdec_as_interpret.c
index da2ba77..69870ef 100644
--- a/swfdec/swfdec_as_interpret.c
+++ b/swfdec/swfdec_as_interpret.c
@@ -778,9 +778,6 @@ swfdec_action_trace (SwfdecAsContext *cx, guint action, const guint8 *data, guin
   val = swfdec_as_stack_peek (cx, 1);
   if (val->type == SWFDEC_AS_TYPE_UNDEFINED) {
     s = SWFDEC_AS_STR_undefined;
-  } else if (val->type == SWFDEC_AS_TYPE_OBJECT &&
-      SWFDEC_IS_AS_STRING (swfdec_as_value_to_object (cx, val))) {
-    s = SWFDEC_AS_STRING (swfdec_as_value_to_object (cx, val))->string;
   } else {
     s = swfdec_as_value_to_string (cx, val);
   }
commit 9b415e186d7c6882b847f46fca022f18a28b50ab
Merge: 25f32d5... 84adf51...
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Mon Feb 18 11:10:40 2008 +0200

    Merge branch 'master' of ssh://medar@git.freedesktop.org/git/swfdec/swfdec

commit 25f32d58daced269a6c67b6f211cdff100419a0a
Author: Pekka Lampila <pekka.lampila at iki.fi>
Date:   Sun Feb 17 16:37:52 2008 +0200

    Fix crash caused by swfdec_net_stream_update_playing removing timeout callback

diff --git a/swfdec/swfdec_net_stream.c b/swfdec/swfdec_net_stream.c
index b2291e1..5db95d8 100644
--- a/swfdec/swfdec_net_stream.c
+++ b/swfdec/swfdec_net_stream.c
@@ -211,9 +211,9 @@ swfdec_net_stream_update_playing (SwfdecNetStream *stream)
       g_object_unref (stream->audio);
       stream->audio = NULL;
     }
-    /* we'll have the timeout still set, but not readded, in the timeout handler */
-    if (stream->timeout.timestamp > player->priv->time)
-      swfdec_player_remove_timeout (player, &stream->timeout);
+    /* FIXME: timeout might or might not be be added here if
+     * timestamp == player->priv->time, but we'll just remove to be sure */
+    swfdec_player_remove_timeout (player, &stream->timeout);
     stream->timeout.callback = NULL;
     SWFDEC_DEBUG ("stopping playback");
   }


More information about the Swfdec-commits mailing list