Bump version and update Changes
[io-compress-brotli.git] / lib / IO / Uncompress / Brotli.pm
index 77e8b69293bc11b6a5f269fa5fa49e9206a02d54..46b11898d3154a72cbc9a20ca5acf577b68d3e7c 100644 (file)
@@ -8,33 +8,11 @@ use parent qw/Exporter/;
 our @EXPORT = qw/unbro/;
 our @EXPORT_OK = @EXPORT;
 
-our $VERSION = '0.001001';
+our $VERSION = '0.003001';
 
 require XSLoader;
 XSLoader::load('IO::Compress::Brotli', $VERSION);
 
-sub create {
-       my ($class) = @_;
-       my $state = BrotliCreateState();
-       bless \$state, $class
-}
-
-sub DESTROY {
-       my ($self) = @_;
-       BrotliDestroyState($$self)
-}
-
-sub decompress {
-       my ($self, $data) = @_;
-       BrotliDecompressStream($$self, $data)
-}
-
-# Untested, probably not working
-sub set_dictionary {
-       my ($self, $dict) = @_;
-       BrotliSetCustomDictionary($$self, $dict)
-}
-
 1;
 __END__
 
@@ -48,8 +26,8 @@ IO::Uncompress::Brotli - Read Brotli buffers/streams
 
   use IO::Uncompress::Brotli;
 
-  # uncompress a buffer
-  my $decoded = unbro $encoded;
+  # uncompress a buffer (yielding at most 10MB)
+  my $decoded = unbro $encoded, 10_000_000;
 
   # uncompress a stream
   my $bro = IO::Uncompress::Brotli->create;
@@ -73,13 +51,12 @@ function.
 
 =over
 
-=item B<unbro>(I<$input>)
+=item B<unbro>(I<$input>, I<$maximum_decoded_size>)
 
 Takes a whole compressed buffer as input and returns the decompressed
-data. This function relies on the BrotliDecompressedSize function. In
-other words, it only works if the buffer has a single meta block or
-two meta-blocks where the first is uncompressed and the second is
-empty.
+data. It allocates a buffer of size I<$maximum_decoded_size> to store
+the decompressed data, if this is not sufficient (or there is another
+error) this function will croak.
 
 Exported by default.
 
@@ -115,9 +92,24 @@ Brotli source code: L<https://github.com/google/brotli/>
 
 Marius Gavrilescu, E<lt>marius@ieval.roE<gt>
 
+The encoder bindings, modernisation of the decoder bindings and a
+clean up of the overall project were contributed by:
+
+=over
+
+=item Quim Rovira, E<lt>quim@rovira.catE<gt>
+
+=item Ævar Arnfjörð Bjarmason, E<lt>avarab@gmail.comE<gt>
+
+=item Marcell Szathmári
+
+=item Mattia Barbon, E<lt>mattia@barbon.orgE<gt>
+
+=back
+
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2015 by Marius Gavrilescu
+Copyright (C) 2015-2017 by Marius Gavrilescu
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself, either Perl version 5.20.2 or,
This page took 0.010712 seconds and 4 git commands to generate.