[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gnash-commit] gnash ChangeLog server/impl.cpp server/swf/tag_...
From: |
Sandro Santilli |
Subject: |
[Gnash-commit] gnash ChangeLog server/impl.cpp server/swf/tag_... |
Date: |
Thu, 04 Jan 2007 18:39:26 +0000 |
CVSROOT: /sources/gnash
Module name: gnash
Changes by: Sandro Santilli <strk> 07/01/04 18:39:26
Modified files:
. : ChangeLog
server : impl.cpp
server/swf : tag_loaders.cpp tag_loaders.h
Log message:
* server/impl.cpp, server/swf/tag_loaders.{h,cpp}:
Implemented parsing (not use) of FILEATTRIBUTES (69)
and METADATA (77) tags.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.2045&r2=1.2046
http://cvs.savannah.gnu.org/viewcvs/gnash/server/impl.cpp?cvsroot=gnash&r1=1.85&r2=1.86
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/tag_loaders.cpp?cvsroot=gnash&r1=1.68&r2=1.69
http://cvs.savannah.gnu.org/viewcvs/gnash/server/swf/tag_loaders.h?cvsroot=gnash&r1=1.12&r2=1.13
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.2045
retrieving revision 1.2046
diff -u -b -r1.2045 -r1.2046
--- ChangeLog 4 Jan 2007 04:03:33 -0000 1.2045
+++ ChangeLog 4 Jan 2007 18:39:25 -0000 1.2046
@@ -1,5 +1,11 @@
2007-01-04 Sandro Santilli <address@hidden>
+ * server/impl.cpp, server/swf/tag_loaders.{h,cpp}:
+ Implemented parsing (not use) of FILEATTRIBUTES (69)
+ and METADATA (77) tags.
+
+2007-01-04 Sandro Santilli <address@hidden>
+
* server/parser/shape_character_def.cpp (read):
use symbolic names for tags (not yet for flags: TODO);
(read_fill_styles): don't choke on malformed SWF.
Index: server/impl.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/impl.cpp,v
retrieving revision 1.85
retrieving revision 1.86
diff -u -b -r1.85 -r1.86
--- server/impl.cpp 17 Dec 2006 20:24:57 -0000 1.85
+++ server/impl.cpp 4 Jan 2007 18:39:25 -0000 1.86
@@ -14,7 +14,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: impl.cpp,v 1.85 2006/12/17 20:24:57 rsavoye Exp $ */
+/* $Id: impl.cpp,v 1.86 2007/01/04 18:39:25 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -203,13 +203,13 @@
register_tag_loader(SWF::DEFINEVIDEOSTREAM, define_video_loader); // 60
register_tag_loader(SWF::VIDEOFRAME, video_loader); // 61
- register_tag_loader(SWF::FILEATTRIBUTES, fixme_loader); // 69
+ register_tag_loader(SWF::FILEATTRIBUTES, file_attributes_loader); // 69
register_tag_loader(SWF::PLACEOBJECT3, fixme_loader); // 70
register_tag_loader(SWF::IMPORT2, fixme_loader); // 71
register_tag_loader(SWF::DEFINEALIGNZONES, fixme_loader); // 73
register_tag_loader(SWF::CSMTEXTSETTINGS, fixme_loader); // 74
register_tag_loader(SWF::DEFINEFONT3, fixme_loader); // 75
- register_tag_loader(SWF::METADATA, fixme_loader); // 77
+ register_tag_loader(SWF::METADATA, metadata_loader); // 77
register_tag_loader(SWF::DEFINESCALINGGRID, fixme_loader); // 78
register_tag_loader(SWF::DEFINESHAPE4, fixme_loader); // 83
register_tag_loader(SWF::DEFINEMORPHSHAPE2, fixme_loader); // 84
Index: server/swf/tag_loaders.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/swf/tag_loaders.cpp,v
retrieving revision 1.68
retrieving revision 1.69
diff -u -b -r1.68 -r1.69
--- server/swf/tag_loaders.cpp 28 Dec 2006 01:44:09 -0000 1.68
+++ server/swf/tag_loaders.cpp 4 Jan 2007 18:39:25 -0000 1.69
@@ -18,7 +18,7 @@
//
//
-/* $Id: tag_loaders.cpp,v 1.68 2006/12/28 01:44:09 strk Exp $ */
+/* $Id: tag_loaders.cpp,v 1.69 2007/01/04 18:39:25 strk Exp $ */
#ifdef HAVE_CONFIG_H
#include "config.h"
@@ -1868,6 +1868,67 @@
ch->read(in, tag, m);
}
+void
+file_attributes_loader(stream* in, tag_type tag, movie_definition* m)
+{
+ assert(tag == SWF::FILEATTRIBUTES); // 69
+
+ typedef struct file_attrs_flags_t {
+ unsigned reserved1:3;
+ unsigned has_metadata:1;
+ unsigned reserved2:3;
+ unsigned use_network:1;
+ unsigned reserved3:24;
+ } file_attrs_flags;
+
+ file_attrs_flags flags;
+
+ flags.reserved1 = in->read_uint(3);
+ flags.has_metadata = in->read_uint(1);
+ flags.reserved2 = in->read_uint(3);
+ flags.use_network = in->read_uint(1);
+ flags.reserved3 = in->read_uint(24);
+
+ IF_VERBOSE_PARSE
+ (
+ log_parse(" file attributes: has_metadata=%s use_network=%s",
+ flags.has_metadata ? "true" : "false",
+ flags.use_network ? "true" : "false")
+ );
+
+ if ( ! flags.use_network )
+ {
+ log_warning("FileAttributes tag in the SWF requests that "
+ "network access is not granted to this movie "
+ "(or application?). Anyway Gnash won't care "
+ "use white/black listing in your .gnashrc instead");
+ }
+
+ // TODO: attach info to movie_definition
+
+}
+
+void
+metadata_loader(stream* in, tag_type tag, movie_definition* m)
+{
+ assert(tag == SWF::METADATA); // 77
+
+ // this is supposed to be an XML string
+ char* metadata = in->read_string();
+
+ IF_VERBOSE_PARSE (
+ log_parse(" metadata = [[\n%s\n]]", metadata);
+ );
+
+ log_warning("METADATA tag parsed but unused");
+
+ // TODO: attach to movie_definition instead
+ // (should we parse the XML maybe?)
+
+ delete [] metadata;
+
+}
+
Index: server/swf/tag_loaders.h
===================================================================
RCS file: /sources/gnash/gnash/server/swf/tag_loaders.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- server/swf/tag_loaders.h 29 Oct 2006 18:34:16 -0000 1.12
+++ server/swf/tag_loaders.h 4 Jan 2007 18:39:25 -0000 1.13
@@ -18,7 +18,7 @@
//
//
-/* $Id: tag_loaders.h,v 1.12 2006/10/29 18:34:16 rsavoye Exp $ */
+/* $Id: tag_loaders.h,v 1.13 2007/01/04 18:39:25 strk Exp $ */
#ifndef GNASH_SWF_TAG_LOADERS_H
#define GNASH_SWF_TAG_LOADERS_H
@@ -134,6 +134,12 @@
void
video_loader(stream* in, tag_type tag, movie_definition* m);
+void
+file_attributes_loader(stream* in, tag_type tag, movie_definition* m);
+
+void
+metadata_loader(stream* in, tag_type tag, movie_definition* m);
+
} // namespace gnash::SWF::tag_loaders
} // namespace gnash::SWF
} // namespace gnash
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] gnash ChangeLog server/impl.cpp server/swf/tag_...,
Sandro Santilli <=