summaryrefslogtreecommitdiffstats
path: root/MPD/RepresentationStreamFactory.cpp
blob: b84bf558ff8f67f0e78b7a950dc01e2906092fb9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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;
    }
}