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