---------------------------------------------------------- Release Notes for Transform SWF for Java, Version 2.3. ---------------------------------------------------------- The release adds new classes to decode and encode Flash Video (.flv) files and adds support for ScreenVideo in .swf files. Bug Fixes FSSerialNUmber now encodes length correctly. Class Changes New classes for handling Flash Video. New classes for handling ScreenVideo. FSImageConstructor updated to support ScreenVideo. FSShapeStyle now encodes empty style arrays. Documentation Changes None scheduled Testing Changes Unit Test added for Flash Video classes. Unit Test added for creating ScreenVideo streams. Package Changes Contributed code is no longer included in the release. Examples are no longer included in the release. ------------- Bug Fixes ------------- 1. FSSerialNUmber now encodes length correctly. The null byte that terminates the serial number string was counted twice when calculating the length of the object when encoded. This is now fixed. ----------------- Class Changes ----------------- 1. New classes for handling Flash Video. Four new classes have been added to decode and encode Flash Video files. FSVideo - a collection class similar to FSMovie. FSVideoObject - an abstract parent class similar to FSMovieObject. FSAudioData - contains the encoded audio. FSVideoData - contains the encoded video. FSVideoMetaData - contains information on the video stream. The classes provide basic information on the format used to encode the audio and video streams and provide access to the binary data - no encoding or decoding is performed. For video streams that are encoded using the ScreenVideo format then the new FSScreenVideoPacket class can be used o decode the binary video data. 2. New classes for handling ScreenVideo. Two new classes were added to generate ScreenVideo streams: FSScreenVideoPacket - container for a single frame of video in Adobe's ScreenVideo format. FSImageBlock - container for a block of image data contained in a ScreenVideo frame. 3. FSImageConstructor updated to support ScreenVideo. A new method: public ArrayList getImageAsBlocks(int blockWidth, int blockHeight) was added to FSImageConstructor to return an image as an array of FSImageBlocks. 4. FSShapeStyle now encodes empty style arrays. The line and fill style arrays in an FSShapeStyle object are optional. If the attributes were null then they we not included when the object was encoded. They were also not encoded if they were empty - though this was not well documented. From examining existing flash files empty style arrays are valid and so the class has been updated to encode empty style arrays. This only increases the size of the encoded object by three bytes however it greatly simplifies regression testing when comparing the original flash file with one that was decoded then re-encoded. ------------------------- Documentation Changes ------------------------- None ------------------- Testing Changes ------------------- 1. Unit Test added for Flash Video classes. A Unit test, FSVideoTest, was added to verify the correct decoding and encoding of an existing set of Flash Video files. 2. Unit Test added for creating ScreenVideo streams. a Unit Test, FSScreenVideoPacketTest, was added to generate a flash file containing a stream of ScreenVideo created from an array of screen shots. ------------------- Package Changes ------------------- 1. Contributed code is no longer included in the release. The code in the transform.contrib package has been removed from the release. Instead the code will be hosted in the new Cookbook section of the web site. 2. Examples are no longer included in the release. As with the contributed code package the examples in the package, com.flagstone.transform.examples have been removed and will be hosted in the cookbook section of the Flagstone web site. The aim is to expand the examples the available without causing bloat to the releases.