diff options
Diffstat (limited to 'MPD/IRepresentationStream.h')
-rw-r--r-- | MPD/IRepresentationStream.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/MPD/IRepresentationStream.h b/MPD/IRepresentationStream.h new file mode 100644 index 00000000..370c84ed --- /dev/null +++ b/MPD/IRepresentationStream.h @@ -0,0 +1,50 @@ +/* + * IRepresentationStream.h + ***************************************************************************** + * 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. + *****************************************************************************/ + +#ifndef LIBDASH_FRAMEWORK_MPD_IREPRESENTATIONSTREAM_H_ +#define LIBDASH_FRAMEWORK_MPD_IREPRESENTATIONSTREAM_H_ + +#include "ISegment.h" + +namespace libdash +{ +namespace framework +{ +namespace mpd +{ +enum RepresentationStreamType +{ + SingleMediaSegment, + SegmentList, + SegmentTemplate, + UNDEFINED +}; + +class IRepresentationStream +{ +public: + virtual ~IRepresentationStream() {} + + virtual dash::mpd::ISegment* getInitializationSegment() = 0; + virtual dash::mpd::ISegment* getIndexSegment(size_t segmentNumber) = 0; + virtual dash::mpd::ISegment* getMediaSegment(size_t segmentNumber) = 0; + virtual dash::mpd::ISegment* getBitstreamSwitchingSegment() = 0; + virtual RepresentationStreamType getStreamType() = 0; + virtual uint32_t getSize() = 0; + virtual uint32_t getFirstSegmentNumber() = 0; + virtual uint32_t getCurrentSegmentNumber() = 0; + virtual uint32_t getLastSegmentNumber() = 0; + virtual uint32_t getAverageSegmentDuration() = 0; +}; +} +} +} +#endif /* LIBDASH_FRAMEWORK_MPD_IREPRESENTATIONSTREAM_H_ */ |