[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog libmedia/gst/gstflvparse.c serv... [relea
From: |
Bastiaan Jacques |
Subject: |
[Gnash-commit] gnash ChangeLog libmedia/gst/gstflvparse.c serv... [release_0_8_2_rc1] |
Date: |
Thu, 21 Feb 2008 19:01:43 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Branch: release_0_8_2_rc1
Changes by: Bastiaan Jacques <bjacques> 08/02/21 19:01:42
Modified files:
. : ChangeLog
libmedia/gst : gstflvparse.c
server/asobj : NetStream.cpp NetStream.h NetStreamGst.cpp
Log message:
* libmedia/gst/gstflvparse.c: Always send a GstMessage when a
function
is encountered (not just for onMetaData). Store the function
name in a
special tag.
* server/asobj/NetStream.{cpp,h}: Change onMetaData to be
generic for
any function called from an FLV.
* server/asobj/NetStreamGst.cpp: Parse out the function name
and call
processNotify with the remainder of the tag.
This commit is for rc1 only.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.5711.2.2&r2=1.5711.2.3
http://cvs.savannah.gnu.org/viewcvs/gnash/libmedia/gst/gstflvparse.c?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.1&r2=1.1.2.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.cpp?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.84&r2=1.84.2.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStream.h?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.58&r2=1.58.2.1
http://cvs.savannah.gnu.org/viewcvs/gnash/server/asobj/NetStreamGst.cpp?cvsroot=gnash&only_with_tag=release_0_8_2_rc1&r1=1.80&r2=1.80.2.1
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.5711.2.2
retrieving revision 1.5711.2.3
diff -u -b -r1.5711.2.2 -r1.5711.2.3
--- ChangeLog 21 Feb 2008 19:00:06 -0000 1.5711.2.2
+++ ChangeLog 21 Feb 2008 19:01:41 -0000 1.5711.2.3
@@ -1,3 +1,13 @@
+2008-02-20 Bastiaan Jacques <address@hidden>
+
+ * libmedia/gst/gstflvparse.c: Always send a GstMessage when a function
+ is encountered (not just for onMetaData). Store the function name in a
+ special tag.
+ * server/asobj/NetStream.{cpp,h}: Change onMetaData to be generic for
+ any function called from an FLV.
+ * server/asobj/NetStreamGst.cpp: Parse out the function name and call
+ processNotify with the remainder of the tag.
+
2008-02-21 Sandro Santilli <address@hidden>
* testsuite/misc-ming.all/Makefile.am: don't try to build
Index: libmedia/gst/gstflvparse.c
===================================================================
RCS file: /sources/gnash/gnash/libmedia/gst/gstflvparse.c,v
retrieving revision 1.1
retrieving revision 1.1.2.1
diff -u -b -r1.1 -r1.1.2.1
--- libmedia/gst/gstflvparse.c 21 Jan 2008 07:07:27 -0000 1.1
+++ libmedia/gst/gstflvparse.c 21 Feb 2008 19:01:42 -0000 1.1.2.1
@@ -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.84
retrieving revision 1.84.2.1
diff -u -b -r1.84 -r1.84.2.1
--- server/asobj/NetStream.cpp 27 Jan 2008 07:18:19 -0000 1.84
+++ server/asobj/NetStream.cpp 21 Feb 2008 19:01:42 -0000 1.84.2.1
@@ -17,7 +17,7 @@
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
//
-/* $Id: NetStream.cpp,v 1.84 2008/01/27 07:18:19 bjacques Exp $ */
+/* $Id: NetStream.cpp,v 1.84.2.1 2008/02/21 19:01:42 bjacques Exp $ */
#ifdef HAVE_CONFIG_H
#include "gnashconfig.h"
@@ -37,6 +37,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"
@@ -470,7 +472,7 @@
void
-NetStream::processMetaData(boost::intrusive_ptr<as_object>& metadata_obj)
+NetStream::processNotify(std::string& funcname,
boost::intrusive_ptr<as_object>& info_obj)
{
// TODO: check for System.onStatus too ! use a private
getStatusHandler() method for this.
@@ -478,7 +480,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.get()));
}
Index: server/asobj/NetStream.h
===================================================================
RCS file: /sources/gnash/gnash/server/asobj/NetStream.h,v
retrieving revision 1.58
retrieving revision 1.58.2.1
diff -u -b -r1.58 -r1.58.2.1
--- server/asobj/NetStream.h 27 Jan 2008 07:18:19 -0000 1.58
+++ server/asobj/NetStream.h 21 Feb 2008 19:01:42 -0000 1.58.2.1
@@ -15,7 +15,7 @@
// along with this program; if not, write to the Free Software
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-/* $Id: NetStream.h,v 1.58 2008/01/27 07:18:19 bjacques Exp $ */
+/* $Id: NetStream.h,v 1.58.2.1 2008/02/21 19:01:42 bjacques Exp $ */
#ifndef __NETSTREAM_H__
#define __NETSTREAM_H__
@@ -120,7 +120,7 @@
void processStatusNotifications();
- void processMetaData(boost::intrusive_ptr<as_object>& metadata_obj);
+ void processNotify(std::string& funcname,
boost::intrusive_ptr<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.80
retrieving revision 1.80.2.1
diff -u -b -r1.80 -r1.80.2.1
--- server/asobj/NetStreamGst.cpp 20 Feb 2008 19:03:59 -0000 1.80
+++ server/asobj/NetStreamGst.cpp 21 Feb 2008 19:01:42 -0000 1.80.2.1
@@ -534,11 +534,22 @@
gst_message_parse_tag(message, &taglist);
+ 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___");
+
+
boost::intrusive_ptr<as_object> o = new as_object(getObjectInterface());
gst_tag_list_foreach(taglist, metadata, o.get());
- processMetaData(o);
+ processNotify(funcname, o);
g_free(taglist);
break;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog libmedia/gst/gstflvparse.c serv... [release_0_8_2_rc1],
Bastiaan Jacques <=