The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

FLV::AMFReader - Wrapper for the AMF::Perl deserializer

LICENSE

Copyright 2006 Clotho Advanced Media, Inc., <cpan@clotho.com>

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

METHODS

This is a subclass of AMF::Perl::IO::Deserializer.

That class is optimized for Flash Remoting communications. We are instead just interested in the protocol for the data payload of those messages, since that's all that FLV carries.

So, this class is a hack. We override the AMF::Perl::IO::Deserializer constructor so that it doesn't start parsing immediately. Also, we pass it a string instead of an instantiated AMF::Perl::IO::InputStream.

Also, as of this writing AMF::Perl was at v0.15, which lacked support for hashes. So, we hack that in. Hopefully we did it in a future-friendly way...

$pkg->new($content)

Creates a minimal AMF::Perl::IO::Deserializer instance.

$self->write_flv_meta(@data)

Returns a byte string of serialized data

$self->writeMixedArray()

Serializes a hashref.

This is a workaround for versions of AMF::Perl which did not handle hashes (namely v0.15 and earlier). This method is only installed if a method of the same name does not exist in the superclass.

This should be removed when a newer release of AMF::Perl is available.

$self->writeData($datum)

This is a minimal override of writeData() in the superclass to add support for mixed arrays (aka hashes).

As above, it is only installed if AMF::Perl::IO::Serializer lacks a writeMixedArray() method.

AUTHOR

Clotho Advanced Media Inc., cpan@clotho.com

Primary developer: Chris Dolan