$SWF::BinStream::Codec::Zlib::VERSION
=
"0.01"
;
sub
new {
my
$z
= inflateInit() or croak
"Can't create zlib stream"
;
bless
\
$z
,
shift
;
}
sub
decode {
my
(
$self
,
$data
) =
@_
;
my
(
$out
,
$status
) =
$$self
->inflate(\
$data
);
defined
$out
or croak
"Zlib raised an error $status"
;
$out
;
}
sub
close
{
}
sub
new {
my
$z
= deflateInit() or croak
"Can't create zlib stream "
;
bless
\
$z
,
shift
;
}
sub
encode {
my
(
$self
,
$data
) =
@_
;
my
(
$out
,
$status
) =
$$self
->deflate(\
$data
);
defined
$out
or croak
"Zlib raised an error $status (wm)"
;
$out
;
}
sub
close
{
my
(
$self
,
$data
) =
@_
;
my
$z
=
$$self
;
my
(
$out
,
$out1
,
$status
);
if
(
$data
ne
''
) {
(
$out
,
$status
) =
$z
->deflate(\
$data
);
defined
$out
or croak
"Zlib raised an error $status (wc1)"
;
}
(
$out1
,
$status
) =
$z
->flush;
defined
$out1
or croak
"Zlib raised an error $status (wc2)"
;
$out
.=
$out1
;
}
1;