gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog libmedia/gst/gstflvparse.c serv...


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog libmedia/gst/gstflvparse.c serv...
Date: Mon, 07 Apr 2008 08:50:09 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  08/04/07 08:50:08

Modified files:
        .              : ChangeLog 
        libmedia/gst   : gstflvparse.c 
        server/asobj   : NetStream.cpp NetStream.h NetStreamGst.cpp 

Log message:
                  Applied bastiaan patch for proper INVOKE tag processing,
                  will hopefully fix distcheck on gnashdev.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.6194&r2=1.6195
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/gst/gstflvparse.c?cvsroot=gnash&r1=1.1&r2=1.2
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.cpp?cvsroot=gnash&r1=1.87&r2=1.88
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.h?cvsroot=gnash&r1=1.59&r2=1.60
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamGst.cpp?cvsroot=gnash&r1=1.83&r2=1.84

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6194
retrieving revision 1.6195
diff -u -b -r1.6194 -r1.6195
--- ChangeLog   7 Apr 2008 07:42:37 -0000       1.6194
+++ ChangeLog   7 Apr 2008 08:50:07 -0000       1.6195
@@ -1,3 +1,10 @@
+2008-04-07 Sandro Santilli <address@hidden>
+
+       * libmedia/gst/gstflvparse.c, server/asobj/NetStream.cpp,
+         server/asobj/NetStream.h, server/asobj/NetStreamGst.cpp:
+         Applied bastiaan patch for proper INVOKE tag processing,
+         will hopefully fix distcheck on gnashdev.
+
 2008-04-07 Benjamin Wolsey <address@hidden>
 
        * gui/gui.cpp: get_ticks -> getTicks.

Index: libmedia/gst/gstflvparse.c
===================================================================
RCS file: /sources/gnash/gnash/libmedia/gst/gstflvparse.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- libmedia/gst/gstflvparse.c  21 Jan 2008 07:07:27 -0000      1.1
+++ libmedia/gst/gstflvparse.c  7 Apr 2008 08:50:08 -0000       1.2
@@ -334,14 +334,25 @@
 
     GST_LOG_OBJECT (demux, "function name is %s", function_name);
 
-    if (!strcmp (function_name, "onMetaData")) {
+    if (TRUE) {
       guint32 nb_elems = 0;
       gboolean end_marker = FALSE;
 
       GST_DEBUG_OBJECT (demux, "we have a metadata script object");
 
-      /* Jump over the onMetaData string and the array indicator */
-      offset += 13;
+      if (!gst_tag_exists ("___function_name___")) {
+        gst_tag_register ("___function_name___", GST_TAG_FLAG_META, 
G_TYPE_STRING,
+                          "___function_name___", "___function_name___", 
+                          gst_tag_merge_strings_with_comma);
+      }
+
+      if (gst_tag_get_type ("___function_name___") == G_TYPE_STRING) {
+        gst_tag_list_add (demux->taglist, GST_TAG_MERGE_REPLACE,
+                          "___function_name___", function_name, NULL);
+      }
+
+      /* Jump over the function_name string and the array indicator */
+      offset += strlen(function_name) + 3;
 
       nb_elems = GST_READ_UINT32_BE (data + offset);
 

Index: server/asobj/NetStream.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.cpp,v
retrieving revision 1.87
retrieving revision 1.88
diff -u -b -r1.87 -r1.88
--- server/asobj/NetStream.cpp  26 Mar 2008 18:37:17 -0000      1.87
+++ server/asobj/NetStream.cpp  7 Apr 2008 08:50:08 -0000       1.88
@@ -36,6 +36,8 @@
 #include "NetConnection.h"
 #include "render.h"    // for gnash::render::videoFrameFormat()
 #include "Object.h" // for getObjectInterface
+#include "VM.h"
+#include <boost/algorithm/string/case_conv.hpp> // for PROPNAME
 #include "namedStrings.h"
 #include "movie_root.h"
 
@@ -469,7 +471,7 @@
 
 
 void
-NetStream::processMetaData(boost::intrusive_ptr<as_object>& metadata_obj)
+NetStream::processNotify(const std::string& funcname, as_object* info_obj)
 {
        // TODO: check for System.onStatus too ! use a private 
getStatusHandler() method for this.
 
@@ -477,7 +479,9 @@
   log_debug(" Invoking onMetaData");
 #endif
 
-       callMethod(NSV::PROP_ON_META_DATA, as_value(metadata_obj.get()));
+        string_table::key func = 
getVM().getStringTable().find(PROPNAME(funcname));
+
+       callMethod(func, as_value(info_obj));
 }
 
 

Index: server/asobj/NetStream.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.h,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -b -r1.59 -r1.60
--- server/asobj/NetStream.h    5 Mar 2008 03:56:01 -0000       1.59
+++ server/asobj/NetStream.h    7 Apr 2008 08:50:08 -0000       1.60
@@ -119,7 +119,7 @@
        void processStatusNotifications();
        
        
-       void processMetaData(boost::intrusive_ptr<as_object>& metadata_obj);
+       void processNotify(const std::string& funcname, as_object* 
metadata_obj);
 
        /// The actionscript enviroment for the AS callbacks
        //

Index: server/asobj/NetStreamGst.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStreamGst.cpp,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -b -r1.83 -r1.84
--- server/asobj/NetStreamGst.cpp       26 Feb 2008 17:41:06 -0000      1.83
+++ server/asobj/NetStreamGst.cpp       7 Apr 2008 08:50:08 -0000       1.84
@@ -548,11 +548,22 @@
 
       gst_message_parse_tag(message, &taglist);      
         
-      boost::intrusive_ptr<as_object> o = new as_object(getObjectInterface());
+      gchar* value;
+      if (!gst_tag_list_get_string(taglist, "___function_name___", &value)) {
+        break;
+      }
+      
+      std::string funcname(value);
+      g_free(value);
+      
+      gst_tag_list_remove_tag (taglist, "___function_name___");
+
+        
+      as_object* o = new as_object(getObjectInterface());
 
-      gst_tag_list_foreach(taglist, metadata, o.get());
+      gst_tag_list_foreach(taglist, metadata, o);
 
-      processMetaData(o);
+      processNotify(funcname, o);
       
       g_free(taglist);
       break;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]