IO_SWF 2.1.9 をリリースしました

インストール

yoya@sakura:~$ sudo pear channel-discover openpear.org
yoya@sakura:~$ sudo pear install openpear/IO_Bit
downloading IO_Bit-2.1.0.tgz ...
Starting to download IO_Bit-2.1.0.tgz (4,108 bytes)
.....done: 4,108 bytes
install ok: channel://openpear.org/IO_Bit-2.1.0
yoya@sakura:~$ sudo pear install openpear/IO_SWF
downloading IO_SWF-2.1.9.tgz ...
Starting to download IO_SWF-2.1.9.tgz (46,923 bytes)
.............done: 46,923 bytes
install ok: channel://openpear.org/IO_SWF-2.1.9

タグ検索ツール

こんな感じで、SWF ファイルからタグを探せます。

yoya@sakura:~/svn/IO_SWF$ php sample/swfgreptags.php DefineMorph,DefineBits *.swf
foo.swf: DefineBitsJPEG3(code:35, length:9920)
foo.swf: DefineBitsLossless(code:20, length:467)
baa.swf: DefineBitsLossless2(code:36, length:2907)
baa.swf: DefineMorphShape(code:46, length:346)

ヘッダ編集ツール

  • swfheader.php 自体は前からありましたが、FrameSize の編集は今回から使えます。
yoya@yoya:~/svn/IO_SWF$ php sample/swfheader.php ~/flash/saitama.swf 
SWF Headers:
   Signature:FWS
   Version:4
   FileLength:2704
   FrameSize.Xmin:0
   FrameSize.Xmax:4800
   FrameSize.Ymin:0
   FrameSize.Ymax:4800
   FrameRate:2048
   FrameCount:40
yoya@yoya:~/svn/IO_SWF$ php sample/swfheader.php ~/flash/saitama.swf FrameSize.Ymax=1000 > t.swf 
yoya@yoya:~/svn/IO_SWF$ swfdump t.swf  | head -6
[HEADER]        File version: 4
[HEADER]        File size: 2692
[HEADER]        Frame rate: 8.000000
[HEADER]        Frame count: 40
[HEADER]        Movie width: 240.00
[HEADER]        Movie height: 50.00

Movie height の書き換え出来ました。

その他不具合修正

  • タグ長チェックで例外を発生させるのを辞めました (合成した swf だと結構ありうるので)
  • swfdump の hex表示で長さが1byte不足する事のある不具合を修正しました
  • SWF6 以降の swfdump で ob_flush エラーが出る不具合を修正しました