Ffmpeg-php: не работает функция toGDImage()
При переносе одного проекта на debian 5.0 столкнулся с проблемой, перестала работать функция toGDImage() из модуля ffmpeg-php. Обновление до версии из trunk не помогло.
Решение нашел в блоге Владимира Цветика.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
diff -Naur ffmpeg-php-0.5.3.1.orig/ffmpeg_frame.c ffmpeg-php-0.5.3.1/ffmpeg_frame.c --- ffmpeg-php-0.5.3.1.orig/ffmpeg_frame.c 2008-08-22 17:03:55.000000000 +0200 +++ ffmpeg-php-0.5.3.1/ffmpeg_frame.c 2008-08-22 17:06:15.000000000 +0200 @@ -396,15 +396,14 @@ int x, y; int *src = (int*)frame->data[0]; + if(width > dest->sx || height > dest->sy){ + return -1; + } + for (y = 0; y < height; y++) { for (x = 0; x < width; x++) { - - if (gdImageBoundsSafeMacro(dest, x, y)) { - /* copy pixel to gdimage buffer zeroing the alpha channel */ - dest->tpixels[y][x] = src[x] & 0x00ffffff; - } else { - return -1; - } + /* copy pixel to gdimage buffer zeroing the alpha channel */ + dest->tpixels[y][x] = src[x] & 0x00ffffff; } src += width; } |
Накладываем патч, пересобираем ffmpeg-php и все начинает работать. Спасибо Владимиру.
comments powered by HyperComments