unify the interface with detector
[trackerpp.git] / src / VideoReader.cpp
index 17d5518..b965fa1 100644 (file)
@@ -8,26 +8,21 @@ const static std::string TAG = "VideoReader";
 
 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()