diff --git a/src/VideoCaptureWrap.cc b/src/VideoCaptureWrap.cc index e0d06c2..12b0afc 100755 --- a/src/VideoCaptureWrap.cc +++ b/src/VideoCaptureWrap.cc @@ -33,6 +33,7 @@ void VideoCaptureWrap::Init(Local target) { Nan::SetPrototypeMethod(ctor, "setHeight", SetHeight); Nan::SetPrototypeMethod(ctor, "setPosition", SetPosition); Nan::SetPrototypeMethod(ctor, "getFrameAt", GetFrameAt); + Nan::SetPrototypeMethod(ctor, "nFrames", NumFrames); Nan::SetPrototypeMethod(ctor, "close", Close); Nan::SetPrototypeMethod(ctor, "ReadSync", ReadSync); Nan::SetPrototypeMethod(ctor, "grab", Grab); @@ -94,6 +95,15 @@ NAN_METHOD(VideoCaptureWrap::SetWidth) { return; } +NAN_METHOD(VideoCaptureWrap::NumFrames) { + Nan::HandleScope scope; + VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap(info.This()); + + int cnt = int(v->cap.get(CV_CAP_PROP_FRAME_COUNT)); + + info.GetReturnValue().Set(Nan::New(cnt)); +} + NAN_METHOD(VideoCaptureWrap::SetHeight) { Nan::HandleScope scope; VideoCaptureWrap *v = Nan::ObjectWrap::Unwrap(info.This()); diff --git a/src/VideoCaptureWrap.h b/src/VideoCaptureWrap.h index 3cb5a04..1fbb3bf 100755 --- a/src/VideoCaptureWrap.h +++ b/src/VideoCaptureWrap.h @@ -23,6 +23,7 @@ public: // to set frame position static NAN_METHOD(SetPosition); + static NAN_METHOD(NumFrames); static NAN_METHOD(GetFrameAt);