NAME
    SWF::ForcibleConverter - Convert SWF file into version 9 format forcibly
    if version is under 9

SYNOPSIS
        use SWF::ForcibleConverter;
    
        my $fc = SWF::ForcibleConverter->new;
        my $size = $fc->convert9($input, $output);

DESCRIPTION
    SWF::ForcibleConverter is a utility that converts SWF file into version
    9 format forcibly.

    This program processes SWF that has version number of format less than
    9. And version 9 or upper versions will be treated as it is, without
    converting, except compressibility change.

    A reason of the changing is convenient for my algorithm, it inflates a
    file once. But this point does not become a problem.

CONSTRUCTOR
    The constructor new() receives hash reference as an option.

        my $fc = SWF::ForcibleConverter->new({
                    buffer_size => 4096,
                    });

    The option has following key that is available.

  buffer_size
    Buffer size (bytes) when reading input data.

    At least 4096 is required, or croak.

    Default is 4096.

METHOD
    On the following explanation, $input or $output are file path or opened
    IO object.

    Both are omissible. In that case, it uses STDIN or STDOUT.

    As follows, this is convenient because of pipe processing.

        $ cat in.swf | perl -MSWF::ForcibleConverter -e \
            'SWF::ForcibleConverter->new->convert9' > out.swf

    Note that when using STDIO, uncompress() or convert9*() can be called
    only once.

  buffer_size([$num])
    This is accessor. When $num is given, it sets the member directly,
    without validation. Regularly, please use [get|set]_buffer_size methods.

  get_buffer_size
    Get buffer size.

  set_buffer_size($num)
    Set buffer size.

    At least 4096 is required, or croak.

  version($input)
    Get version number of SWF file.

  is_compressed($input)
    Return true if $input is compressed.

  uncompress($input, $output)
    Convert $input SWF into uncompressed $output SWF.

    This method does not change version format, simply outputs with
    uncompressing.

  convert9($input, $output)
        my $input   = "/path/to/original.swf";
        my $output  = "converted.swf";
        my $bytes   = $fc->convert9($input, $output);

    Convert $input SWF into $output SWF with changing version 9 format
    forcibly. And it returns size of $output.

    Note that if the $input is compressed format, that is known as CWS,
    $output will be CWS as well. The another case is uncompressed, as FWS.
    You can call convert9_compress() or convert9_uncompress() instead.

  convert9_compress($input, $output)
    convert9_compress() is the same as convert9() except $output is always
    compressed (that is CWS).

  convert9_uncompress($input, $output)
    convert9_uncompress() is the same as convert9() except $output is always
    uncompressed (that is FWS).

REPOSITORY
    SWF::ForcibleConverter is hosted on github
    https://github.com/hiroaki/SWF-ForcibleConverter

AUTHOR
    WATANABE Hiroaki <hwat@mac.com>

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

SEE ALSO
    SWF::ForcibleConverter was prepared with reference to "ForcibleLoader"
    that is produced by Spark project with the kind of respect:

    <http://www.libspark.org/wiki/yossy/ForcibleLoader>