diff --git a/src/binding/avcpp-readable.cc b/src/binding/avcpp-readable.cc index b6c2d76..234d711 100644 --- a/src/binding/avcpp-readable.cc +++ b/src/binding/avcpp-readable.cc @@ -118,8 +118,8 @@ void ReadableCustomIO::PushPendingData(uv_async_t *async) { } if (self->flowing) { verbose("ReadableCustomIO: EOF, stop flowing\n"); + uv_unref(reinterpret_cast(self->push_callback)); self->flowing = false; - self->Unref(); } return; } @@ -141,8 +141,8 @@ void ReadableCustomIO::PushPendingData(uv_async_t *async) { } while (!self->queue.empty() && more.ToBoolean().Value()); if (more.ToBoolean().Value() == false) { verbose("ReadableCustomIO: pipe is full, stop flowing\n"); + uv_unref(reinterpret_cast(self->push_callback)); self->flowing = false; - self->Unref(); } lk.unlock(); // Unblock write if it is waiting because it has reached the high water mark @@ -165,8 +165,8 @@ void ReadableCustomIO::_Read(const Napi::CallbackInfo &info) { } verbose("ReadableCustomIO: start flowing\n"); + uv_ref(reinterpret_cast(push_callback)); flowing = true; - Ref(); uv_async_send(push_callback); }