aboutsummaryrefslogtreecommitdiffstats
path: root/MPD/RepresentationStreamFactory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'MPD/RepresentationStreamFactory.cpp')
-rw-r--r--MPD/RepresentationStreamFactory.cpp27
1 files changed, 27 insertions, 0 deletions
diff --git a/MPD/RepresentationStreamFactory.cpp b/MPD/RepresentationStreamFactory.cpp
new file mode 100644
index 00000000..b84bf558
--- /dev/null
+++ b/MPD/RepresentationStreamFactory.cpp
@@ -0,0 +1,27 @@
+/*
+ * RepresentationStreamFactory.cpp
+ *****************************************************************************
+ * Copyright (C) 2012, bitmovin Softwareentwicklung OG, All Rights Reserved
+ *
+ * Email: libdash-dev@vicky.bitmovin.net
+ *
+ * This source code and its use and distribution, is subject to the terms
+ * and conditions of the applicable license agreement.
+ *****************************************************************************/
+
+#include "RepresentationStreamFactory.h"
+
+using namespace libdash::framework::mpd;
+using namespace dash::mpd;
+
+IRepresentationStream* RepresentationStreamFactory::create(RepresentationStreamType type, IMPD *mpd, IPeriod *period, IAdaptationSet *adaptationSet, IRepresentation *representation)
+{
+ switch(type)
+ {
+ case SingleMediaSegment: return new SingleMediaSegmentStream(mpd, period, adaptationSet, representation);
+ case SegmentList: return new SegmentListStream (mpd, period, adaptationSet, representation);
+ case SegmentTemplate: return new SegmentTemplateStream (mpd, period, adaptationSet, representation);
+
+ default: return NULL;
+ }
+}