diff --git a/natives/node/media.cc b/natives/node/media.cc index 719df511..129a0923 100644 --- a/natives/node/media.cc +++ b/natives/node/media.cc @@ -83,14 +83,8 @@ Napi::Value ProcessMedia(const Napi::CallbackInfo &info) { bufSize = data.ByteLength(); } - AsyncWorker *asyncWorker; - if (cmdType == "image") { - asyncWorker = new ImageAsyncWorker(env, deferred, command, Arguments, type, bufData, bufSize); - asyncWorker->Queue(); - return deferred.Promise(); - } - - deferred.Reject(Napi::Error::New(env, "Job type \"" + cmdType + "\" is unknown").Value()); + MediaAsyncWorker *asyncWorker = new MediaAsyncWorker(env, deferred, command, Arguments, type, bufData, bufSize); + asyncWorker->Queue(); return deferred.Promise(); } diff --git a/natives/node/worker.cc b/natives/node/worker.cc index 33750544..a1e4565a 100644 --- a/natives/node/worker.cc +++ b/natives/node/worker.cc @@ -3,12 +3,12 @@ using namespace std; -ImageAsyncWorker::ImageAsyncWorker(Napi::Env &env, Promise::Deferred deferred, string command, esmb::ArgumentMap inArgs, +MediaAsyncWorker::MediaAsyncWorker(Napi::Env &env, Promise::Deferred deferred, string command, esmb::ArgumentMap inArgs, string type, const char *bufData, size_t bufSize) : AsyncWorker(env), deferred(deferred), command(command), inArgs(inArgs), type(type), bufData(bufData), bufSize(bufSize) {} -void ImageAsyncWorker::Execute() { +void MediaAsyncWorker::Execute() { outType = GetArgumentWithFallback(inArgs, "togif", false) ? "gif" : type; shouldKill = false; @@ -19,7 +19,7 @@ void ImageAsyncWorker::Execute() { } } -void ImageAsyncWorker::OnError(const Error &e) { +void MediaAsyncWorker::OnError(const Error &e) { vips_error_clear(); vips_thread_shutdown(); if (shouldKill) { @@ -29,7 +29,7 @@ void ImageAsyncWorker::OnError(const Error &e) { } } -void ImageAsyncWorker::OnOK() { +void MediaAsyncWorker::OnOK() { vips_error_clear(); vips_thread_shutdown(); Buffer nodeBuf = Buffer::New(Env(), outData.buf, outData.length, diff --git a/natives/node/worker.h b/natives/node/worker.h index 06ecbaf9..7a73153b 100644 --- a/natives/node/worker.h +++ b/natives/node/worker.h @@ -5,11 +5,11 @@ using namespace Napi; -class ImageAsyncWorker : public AsyncWorker { +class MediaAsyncWorker : public AsyncWorker { public: - ImageAsyncWorker(Napi::Env &env, Promise::Deferred deferred, std::string command, esmb::ArgumentMap inArgs, + MediaAsyncWorker(Napi::Env &env, Promise::Deferred deferred, std::string command, esmb::ArgumentMap inArgs, std::string type, const char *bufData, size_t bufSize); - virtual ~ImageAsyncWorker() {}; + virtual ~MediaAsyncWorker() {}; void Execute(); void OnError(const Error &e);