#ifndef INPUT_VIDEO_FILE_MODULE_H
#define INPUT_VIDEO_FILE_MODULE_H

#include "InputFrameProviderIface.h"
#include <string>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"

class InputVideoFileModule : public InputFrameProviderIface
{
public:
	InputVideoFileModule(const std::string& videoPath);
	~InputVideoFileModule();


	bool isOpen() const { return mInit;}
	const cv::Size& getSize() const { return mSize;}



	

	bool getNextFrame(cv::Mat&);

	unsigned int getNbFrames(){		return mNumberOfFrame;}


	
	
private:
	cv::Size mSize;
	cv::VideoCapture mVideoCapture;
	bool mInit;
	int mNumberOfFrame;
};

#endif