mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-01-11 17:56:18 +03:00
- Fix _webp reference when _webp is not available
- HandleMuxError function needs to be tied to WEBP_HAVEMUX, not WEBP_HAVEANIM
This commit is contained in:
parent
405d1a64d8
commit
acc4334291
|
@ -5,8 +5,10 @@ from PIL import Image
|
||||||
try:
|
try:
|
||||||
from PIL import _webp
|
from PIL import _webp
|
||||||
HAVE_WEBP = True
|
HAVE_WEBP = True
|
||||||
|
HAVE_WEBPANIM = True
|
||||||
except ImportError:
|
except ImportError:
|
||||||
HAVE_WEBP = False
|
HAVE_WEBP = False
|
||||||
|
HAVE_WEBPANIM = False
|
||||||
|
|
||||||
class TestFileWebpMetadata(PillowTestCase):
|
class TestFileWebpMetadata(PillowTestCase):
|
||||||
|
|
||||||
|
@ -110,7 +112,7 @@ class TestFileWebpMetadata(PillowTestCase):
|
||||||
|
|
||||||
self.assertFalse(webp_image._getexif())
|
self.assertFalse(webp_image._getexif())
|
||||||
|
|
||||||
@unittest.skipUnless(_webp.HAVE_WEBPANIM, 'WebP animation support not available')
|
@unittest.skipUnless(HAVE_WEBPANIM, 'WebP animation support not available')
|
||||||
def test_write_animated_metadata(self):
|
def test_write_animated_metadata(self):
|
||||||
iccp_data = '<iccp_data>'.encode('utf-8')
|
iccp_data = '<iccp_data>'.encode('utf-8')
|
||||||
exif_data = '<exif_data>'.encode('utf-8')
|
exif_data = '<exif_data>'.encode('utf-8')
|
||||||
|
|
9
_webp.c
9
_webp.c
|
@ -19,14 +19,15 @@
|
||||||
#if WEBP_MUX_ABI_VERSION >= 0x0104 && WEBP_DEMUX_ABI_VERSION >= 0x0105
|
#if WEBP_MUX_ABI_VERSION >= 0x0104 && WEBP_DEMUX_ABI_VERSION >= 0x0105
|
||||||
#define HAVE_WEBPANIM
|
#define HAVE_WEBPANIM
|
||||||
#endif
|
#endif
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef HAVE_WEBPANIM
|
#endif
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------- */
|
||||||
/* WebP Muxer Error Handling */
|
/* WebP Muxer Error Handling */
|
||||||
/* -------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#ifdef HAVE_WEBPMUX
|
||||||
|
|
||||||
static const char* const kErrorMessages[-WEBP_MUX_NOT_ENOUGH_DATA + 1] = {
|
static const char* const kErrorMessages[-WEBP_MUX_NOT_ENOUGH_DATA + 1] = {
|
||||||
"WEBP_MUX_NOT_FOUND", "WEBP_MUX_INVALID_ARGUMENT", "WEBP_MUX_BAD_DATA",
|
"WEBP_MUX_NOT_FOUND", "WEBP_MUX_INVALID_ARGUMENT", "WEBP_MUX_BAD_DATA",
|
||||||
"WEBP_MUX_MEMORY_ERROR", "WEBP_MUX_NOT_ENOUGH_DATA"
|
"WEBP_MUX_MEMORY_ERROR", "WEBP_MUX_NOT_ENOUGH_DATA"
|
||||||
|
@ -67,10 +68,14 @@ PyObject* HandleMuxError(WebPMuxError err, char* chunk) {
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/* -------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------- */
|
||||||
/* WebP Animation Support */
|
/* WebP Animation Support */
|
||||||
/* -------------------------------------------------------------------- */
|
/* -------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
#ifdef HAVE_WEBPANIM
|
||||||
|
|
||||||
// Encoder type
|
// Encoder type
|
||||||
typedef struct {
|
typedef struct {
|
||||||
PyObject_HEAD
|
PyObject_HEAD
|
||||||
|
|
Loading…
Reference in New Issue
Block a user