Commit Graph

6548 Commits

Author SHA1 Message Date
John Cupitt 4dbbc2d415 more dbg code 2019-12-04 17:40:49 +00:00
John Cupitt ec7aa1d6b6 delay testing stream properties until we have to
This makes stream object creation simpler: you don't need to have
everything set up before build occurs, so you can attach signal handlers
for read and seek later.
2019-12-04 16:46:00 +00:00
Angel Sánchez c85454f56c Merge branch 'refs/heads/master' into improve-file-formats
# Conflicts:
#	libvips/conversion/switch.c
2019-12-04 11:49:18 +01:00
John Cupitt ae7aaea077 doc polish 2019-12-01 15:29:28 +00:00
John Cupitt 43fff7b10d fix map of input streams
The logic was a bit wonky. Thanks Kleis.

See https://github.com/kleisauke/net-vips/issues/33#issuecomment-559971456
2019-11-30 19:13:26 +00:00
John Cupitt 5121e203f8 polish docs 2019-11-30 18:39:00 +00:00
John Cupitt 163b0165d7
Merge pull request #1483 from libvips/check-metadata-changes
block metadata changes on shared images
2019-11-30 17:37:20 +00:00
John Cupitt 686829166d fix some more metadata updates
some more minor cases picked up by the test suite
2019-11-30 12:11:23 +00:00
John Cupitt 168e6ca4f5
Merge pull request #1486 from kleisauke/cpp-function-list
Update C++ binding and function list
2019-11-29 14:12:44 +00:00
Kleis Auke Wolthuizen 2499b38403 Update C++ binding and function list
The generators use the new Introspect class of pyvips.
2019-11-29 14:51:03 +01:00
John Cupitt d88ce970b7 make operation cache invalidation advisory
This patch makes operation cache invalidate advisory rather than
immediate. Operations set a mark on cache entries meaning "this entry is
no longer valid", then the entry is removed next time the operation
is looked up.

This breaks the loop (now the cache can remove operations, but operations
can't remove cache entries), so it should be safer (I think). Everything
is inside a mutex, at least.

see https://github.com/libvips/libvips/issues/1484
2019-11-28 17:41:35 +00:00
John Cupitt 5c7a649001 fix test suite for metadata changes
added a few more .copy() calls
2019-11-28 15:59:09 +00:00
John Cupitt acd9101037 always copy before exif_update
During write, we often call vips__exif_update(). This updates the exif
block from the other image metadata prior to save.

Always copy the image before calling this.

See https://github.com/lovell/sharp/issues/1986
2019-11-28 14:45:02 +00:00
John Cupitt 20cee5d041 block metadata changes on shared images
If images are shared (ref count > 1), block changes to the set of
metadata items on the image. These can cause crashes in highly threaded
programs.

See https://github.com/lovell/sharp/issues/1986
2019-11-28 09:59:30 +00:00
John Cupitt 1a2a4a41f1 remove dbg code now travis is fixed 2019-11-27 22:20:33 +00:00
John Cupitt 5d25e2d850 more travis tweaks 2019-11-27 20:27:40 +00:00
John Cupitt 9f6ea7b799 more dbg code to help travis 2019-11-27 20:09:04 +00:00
John Cupitt b08bfede5f try fixing the stream test on travis 2019-11-27 17:30:13 +00:00
John Cupitt b003b36d7a Merge branch '8.8' 2019-11-27 15:30:33 +00:00
John Cupitt 0bc49a485e remove use of realpath
It won't work on linux systems with grsec.
2019-11-27 15:14:42 +00:00
John Cupitt 002b2a28e1 fix test suite
for the new jpg sample image
2019-11-27 11:48:50 +00:00
John Cupitt 48f675db45 update jpg name in variables.sh.in as well 2019-11-27 08:58:30 +00:00
John Cupitt 49a8f0779d Merge branch '8.8' 2019-11-26 09:15:39 +00:00
John Cupitt ec41c42a3a revise test_cli for new sample jpg 2019-11-26 09:14:40 +00:00
John Cupitt d00573b26a remove utf-8 filename example
too tricky to make it work on both py27 and py37
2019-11-26 09:07:10 +00:00
John Cupitt 14859f9862 polish comments 2019-11-25 20:50:27 +00:00
John Cupitt 2eebcb0c07 update tests for streami renames 2019-11-25 18:39:50 +00:00
John Cupitt aa783514cf update TOC for docs
and update translation files
2019-11-25 17:48:44 +00:00
John Cupitt 298002c530 fix build with imagemagick 6.7.8.9
Ships with centos7, so an important version to support.

See https://github.com/libvips/libvips/issues/1479
2019-11-25 15:44:28 +00:00
John Cupitt 99f535c57a add streams.c test
tests VipsStream*u, at a basic level at least.
2019-11-24 18:22:43 +00:00
John Cupitt 3d770f8ec9 add a little more debugging 2019-11-24 06:46:08 +00:00
John Cupitt 562da3e5ab rename new_from_filename as new_from_file
So VipsStreami matches VipsImage. Same for new_to_filename.
2019-11-22 17:13:20 +00:00
John Cupitt c91cfc4050 Merge branch 'add-stream-object' of github.com:libvips/libvips into add-stream-object 2019-11-22 13:43:32 +00:00
John Cupitt 91b0703921 add VipsStreamou
An output stream subclass you can easily connect to other destinations.
2019-11-21 17:54:10 +00:00
John Cupitt 6423721951 set defaut values for streamiu signals
In case no user signals are attached. Remove some dbg code.
2019-11-21 16:32:36 +00:00
John Cupitt 857aafc8c2 add VipsStreamiu
a streami subclass (u for user?) with actions signals you can connect to
to provide implementations of read and seek
2019-11-21 16:22:43 +00:00
John Cupitt 74ac881938 Merge branch 'master' into add-stream-object 2019-11-20 16:56:19 +00:00
John Cupitt b686110496 tiny formatting fix 2019-11-20 15:53:04 +00:00
John Cupitt 933f8150f8
Merge pull request #1459 from lovell/svgload-scale-rounding
Ensure SVG dimensions are rounded correctly when scaling or setting density via cairo
2019-11-20 15:49:53 +00:00
John Cupitt 486b95eb7b
Merge branch 'master' into add-stream-object 2019-11-19 17:08:03 +00:00
John Cupitt 9a193f6f4c test for gio
It seems glib added gio in 2.15, though I don't know if svgload will
actually work with a glib that old.
2019-11-19 17:05:12 +00:00
John Cupitt 73985463fd more dbuf->streamo conversion 2019-11-19 13:20:05 +00:00
Angel Sánchez dd79cfd89d use Type/Interpretation for using the format when saving 2019-11-19 11:26:34 +01:00
John Cupitt 1e4edf2f06 formatting in dzsave.c 2019-11-19 08:54:23 +00:00
John Cupitt a129cef9dd add streamo_steal
and start converting some old dbuf code
2019-11-19 06:47:24 +00:00
John Cupitt 712157cd16 better support for TIFFs with many alphas
The premultiplied alpha can be in any position, and it checks if there
is more than one ASSOCALPHA.

See https://github.com/libvips/libvips/issues/1471
2019-11-18 16:48:34 +00:00
John Cupitt c7f622d646 try simplifying vips_g_input_stream_skip()
Just does a `SEEK_CUR` now.
2019-11-18 15:28:14 +00:00
John Cupitt 73dd7eebe5 move streamiw inside svgload
since that's the only place it is used
2019-11-18 15:07:37 +00:00
John Cupitt 09325600ee rename VipsStreamib as VipsBufis
The VipsStreamib (stream input buffered) was misleading -- it was
implemented on top of VipsStreami, but was not a subclass.

Rename as VipsBufis (buffered input stream). It's a silly name, but
easy to remember and reflects the purpose better,
2019-11-18 13:09:04 +00:00
John Cupitt 6b5035c160 update changelog 2019-11-15 17:30:31 +00:00