const static std::string TAG = "VideoReader";
-VideoReader* VideoReaderFactory::createVideoReader(VideoSrcType type, const std::string& url)
+VideoReaderPtr VideoReaderFactory::createVideoReader(VideoSrcType type, const std::string& url)
{
- VideoReader* v = nullptr;
switch(type){
case VideoSrcType::URL:
- v = new UrlReader(type, url);
- break;
+ {
+ VideoReaderPtr v (new UrlReader(type, url));
+ return v;
+ }
case VideoSrcType::File:
- v = new FileReader(type, url);
- break;
+ {
+ VideoReaderPtr v (new FileReader(type, url));
+ return v;
+ }
case VideoSrcType::USB:
- v = new UsbReader(type, url);
- break;
+ {
+ VideoReaderPtr v (new UsbReader(type, url));
+ return v;
+ }
default:
break;
}
- return v;
+ return nullptr;
}
VideoReader::~VideoReader()