Welcome! Log In Create A New Profile

Advanced

image_filter configuration inheritance

ivan babrou
December 20, 2012 11:54AM
For now nginx ignore explicit configuration of some image_filter directives.

For example, in this case nginx will use jpeg quality 10 instead of 80:

server {
listen 8080;

root /home/bobrik/dev;

set $arg_q 10;

image_filter_jpeg_quality $arg_q;

location / {
image_filter_jpeg_quality 80;
image_filter crop 128 128;
}
}

Maxim pointed me how to fix it, so here's the patch to fix it:

diff --git a/ngx_http_image_filter_module.c b/ngx_http_image_filter_module.c
index c853c33..3aee1a4 100644
--- a/ngx_http_image_filter_module.c
+++ b/ngx_http_image_filter_module.c
@@ -1201,21 +1201,28 @@ ngx_http_image_filter_merge_conf(ngx_conf_t *cf,
void *parent, void *child)
}

/* 75 is libjpeg default quality */
- ngx_conf_merge_uint_value(conf->jpeg_quality, prev->jpeg_quality, 75);
+ if (conf->jpeg_quality == NGX_CONF_UNSET_UINT) {
+ ngx_conf_merge_uint_value(conf->jpeg_quality, prev->jpeg_quality,
75);

- if (conf->jqcv == NULL) {
- conf->jqcv = prev->jqcv;
+ if (conf->jqcv == NULL) {
+ conf->jqcv = prev->jqcv;
+ }
}

- ngx_conf_merge_uint_value(conf->sharpen, prev->sharpen, 0);
+ if (conf->sharpen == NGX_CONF_UNSET_UINT) {
+ ngx_conf_merge_uint_value(conf->sharpen, prev->sharpen, 0);

- if (conf->shcv == NULL) {
- conf->shcv = prev->shcv;
+ if (conf->shcv == NULL) {
+ conf->shcv = prev->shcv;
+ }
}

- ngx_conf_merge_uint_value(conf->angle, prev->angle, 0);
- if (conf->acv == NULL) {
- conf->acv = prev->acv;
+ if (conf->angle == NGX_CONF_UNSET_UINT) {
+ ngx_conf_merge_uint_value(conf->angle, prev->angle, 0);
+
+ if (conf->acv == NULL) {
+ conf->acv = prev->acv;
+ }
}

ngx_conf_merge_value(conf->transparency, prev->transparency, 1);

--
Regards, Ian Babrou
http://bobrik.name http://twitter.com/ibobrik skype:i.babrou
_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

image_filter configuration inheritance

ivan babrou 1287 December 20, 2012 11:54AM

Re: image_filter configuration inheritance

Maxim Dounin 530 December 20, 2012 03:12PM

Re: image_filter configuration inheritance

ivan babrou 526 December 20, 2012 03:24PM

Re: image_filter configuration inheritance

Maxim Dounin 498 December 20, 2012 05:42PM

Re: image_filter configuration inheritance

ivan babrou 601 December 21, 2012 12:08AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 166
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready