gnash
[Top][All Lists]
Advanced

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

[Gnash] Using gnash to play swf file


From: Meryl Silverburgh
Subject: [Gnash] Using gnash to play swf file
Date: Sat, 24 Feb 2007 23:48:38 -0600

Hi,

I have been trying to gnash to play youtube swf file (player2.swf).
I the problem is somehow gnash set the properties 'setMovie',
'playMovie' to a different as_object than the one when it tries to
call method 'setMovie', 'playMovie'.

I use flare to decompile the you tube player swf file: Here is the
actionscript to play the movie:

frame 1 {
   movie = player.movie;
   movie.base_url = '/';
   movie.tracker_cls = logic.PlayerTracker;
   movie.setMovie(video_id, undefined, undefined, l, t);
   movie.playMovie();
   Stage.scaleMode = 'noScale';
   Stage.addListener(this);
   onResize = function () {
     player.resize(Stage.width, Stage.height);
   };
  //....

And I add debug print statements in gnash to compare the value of
'as_object' when it sets and gets the properties of 'setMoive',
'playMovie',  the values (address) are different.

gnash try to set these properties to obj (8605b58).
SWFHandlers::ActionSetMember setMovie
obj address 8605b58
ActionExec::setObjectMember var:setMovie
SWFHandlers::ActionSetMember registerLoader
obj address 8605b58
ActionExec::setObjectMember var:registerLoader
SWFHandlers::ActionSetMember popLoader
obj address 8605b58
ActionExec::setObjectMember var:popLoader
SWFHandlers::ActionSetMember share
obj address 8605b58
ActionExec::setObjectMember var:share
SWFHandlers::ActionSetMember endMovie
obj address 8605b58
ActionExec::setObjectMember var:endMovie
SWFHandlers::ActionSetMember showEnded
obj address 8605b58
ActionExec::setObjectMember var:showEnded
SWFHandlers::ActionSetMember hideEnded
obj address 8605b58
ActionExec::setObjectMember var:hideEnded
SWFHandlers::ActionSetMember pauseMovie
obj address 8605b58
ActionExec::setObjectMember var:pauseMovie
SWFHandlers::ActionSetMember stopMovie
obj address 8605b58
ActionExec::setObjectMember var:stopMovie
SWFHandlers::ActionSetMember stopAll
obj address 8605b58
ActionExec::setObjectMember var:stopAll
SWFHandlers::ActionSetMember playMovie
obj address 8605b58
ActionExec::setObjectMember var:playMovie

But when it tries to execute the action script to load the movie, it
is trying to use an  'as_object'  with an address of '84ae330'.
That is why when gnash calls method 'setMove', 'playMovie', it returns
an error saying method not found and none of these method gets
executed.

obj address 84ae330
ActionExec::setObjectMember var:tracker_cls
as_environment::get_variable t
as_environment::get_variable l
as_environment::get_variable video_id
as_environment::get_variable movie
Action Call Method name: setMovie
 _alpha: 100  _currentframe: 1  _droptarget:   _focusrect: false
_framesloaded: 1  _height: 300  _highquality: true  _name: movie
_parent: _level0.player  _rotation: 0  _soundbuftime:
0sprite_instance::getTargetPath()
_target: /player/movie
computeTargetPath: /player/movie
sprite_instance::getTargetPath()
_target: /player/movie
computeTargetPath: /player/movie
 _target: /player/movie  _totalframes: 1  _url:
/home/scheung/tmp/player2.swf  _visible: true  _width: 422.95  _x: 0
_xmouse: -225  _xscale: 100  _y: -15.85000038147  _ymouse:
-169.09840393066  _yscale: 100.03051757812  base_url: /  onLoad:
undefined  onRollOut: undefined  onRollOver: undefined  tracker_cls:
<as_function 0x85f9770>
obj address 84ae330



Please let me know if this make sense.




reply via email to

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