diff --git a/.travis.yml b/.travis.yml index a16a21b..1850ecc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,19 +1,27 @@ language: node_js node_js: -- '0.12' +- 4.2 sudo: false addons: apt: + sources: + - ubuntu-toolchain-r-test packages: + - libpng-dev - libopencv-dev - libcairo2-dev - libjpeg8-dev - libpango1.0-dev - libgif-dev - build-essential - - g++ + - g++-4.8 +env: + matrix: + - CXX=g++-4.8 +before_install: + - npm cache clean before_script: -- npm install -g grunt-cli node-gyp + - npm install -g grunt-cli node-gyp deploy: provider: npm email: vilson@void.cc diff --git a/components/GetSaliency-node.coffee b/components/GetSaliency-node.coffee index 23eb516..0c368f9 100644 --- a/components/GetSaliency-node.coffee +++ b/components/GetSaliency-node.coffee @@ -66,7 +66,14 @@ exports.getComponent = -> async: true , (canvas, groups, out, callback) -> writeCanvasTempFile canvas, (err, tmpFile) -> - return callback err if err + if err + if err.code is 'ENOMEM' + console.log 'GetSaliency ERROR, sending empty saliency', err + out.send + saliency: null + do callback + return + return callback err runSaliency tmpFile, (err, val) -> return callback err if err out.send val diff --git a/package.json b/package.json index dabff7c..ac19810 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "grunt-contrib-symlink": "^0.3.0", "grunt-contrib-watch": "^1.0.0", "grunt-mocha-test": "^0.12.7", - "grunt-node-gyp": "^0.5.0", + "grunt-node-gyp": "^3.0.0", "grunt-noflo-manifest": "^0.1.11", "mocha": "^2.4.4", "noflo-canvas": "^0.2.0" diff --git a/saliency.cpp b/saliency.cpp index 915392c..279b118 100644 --- a/saliency.cpp +++ b/saliency.cpp @@ -13,7 +13,7 @@ // #define DEBUG #undef DEBUG -#define MINSIZE 50 +#define MINSIZE 100 using namespace std; diff --git a/spec/GetSaliency.coffee b/spec/GetSaliency.coffee index b037335..1de013e 100644 --- a/spec/GetSaliency.coffee +++ b/spec/GetSaliency.coffee @@ -186,3 +186,17 @@ describe 'GetSaliency component', -> inImage.beginGroup 3 inImage.send canvas inImage.endGroup() + describe 'when passed a small gif', -> + input = 'small.gif' + + it 'should extract the salient region in a reasonable time', (done) -> + @timeout 30000 + error.once 'data', (err) -> + console.log 'err', err + out.once 'data', (res) -> + chai.expect(res).to.be.an 'object' + done() + testutils.getCanvasWithImageNoShift input, (canvas) -> + inImage.beginGroup 4 + inImage.send canvas + inImage.endGroup() diff --git a/spec/fixtures/small.gif b/spec/fixtures/small.gif new file mode 100644 index 0000000..0efd525 Binary files /dev/null and b/spec/fixtures/small.gif differ