----------------------------------------------------------
  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.

