aboutsummaryrefslogtreecommitdiffstats
path: root/Input/DASHManager.h
diff options
context:
space:
mode:
Diffstat (limited to 'Input/DASHManager.h')
-rw-r--r--Input/DASHManager.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/Input/DASHManager.h b/Input/DASHManager.h
index 2b723426..6bd54da9 100644
--- a/Input/DASHManager.h
+++ b/Input/DASHManager.h
@@ -22,18 +22,21 @@
#include "../Managers/IStreamObserver.h"
#include "../Buffer/IBufferObserver.h"
-
namespace libdash
{
namespace framework
{
+namespace mpd
+{
+class MPDWrapper;
+}
namespace input
{
class DASHManager : public IDASHReceiverObserver, public IBufferObserver
{
public:
- DASHManager (viper::managers::StreamType type, uint32_t maxCapacity, IDASHManagerObserver *multimediaStream, dash::mpd::IMPD *mpd, bool icnEnabled, double icnAlpha, bool nodecoding, float beta, float drop);
+ DASHManager (viper::managers::StreamType type, uint32_t maxCapacity, IDASHManagerObserver *multimediaStream, libdash::framework::mpd::MPDWrapper *mpdWrapper, bool icnEnabled, double icnAlpha, bool nodecoding, float beta, float drop);
virtual ~DASHManager ();
bool start();
@@ -43,7 +46,8 @@ public:
void setLooping(bool looping);
void setPositionInMsec(uint32_t millisec);
void clear();
- void setRepresentation(dash::mpd::IPeriod *period, dash::mpd::IAdaptationSet *adaptationSet, dash::mpd::IRepresentation *representation);
+// void setRepresentation(dash::mpd::IPeriod *period, dash::mpd::IAdaptationSet *adaptationSet, dash::mpd::IRepresentation *representation);
+ void setRepresentation();
void enqueueRepresentation(dash::mpd::IPeriod *period, dash::mpd::IAdaptationSet *adaptationSet, dash::mpd::IRepresentation *representation);
void onSegmentDownloaded();
@@ -58,19 +62,20 @@ public:
void setTargetDownloadingTime(double);
MediaObject* getSegment();
void onBufferStateChanged(BufferType type, uint32_t fillstateInPercent, int maxC);
+ void updateMPD(dash::mpd::IMPD* mpd);
+ void fetchMPD();
private:
- float beta;
- float drop;
- buffer::Buffer<MediaObject> *buffer;
- DASHReceiver *receiver;
- uint32_t readSegmentCount;
- IDASHManagerObserver *multimediaStream;
+ float beta;
+ float drop;
+ buffer::Buffer<MediaObject> *buffer;
+ DASHReceiver *receiver;
+ uint32_t readSegmentCount;
+ IDASHManagerObserver *multimediaStream;
bool isRunning;
bool icn;
double icnAlpha;
bool noDecoding;
-
libdash::framework::adaptation::IAdaptationLogic *adaptationLogic;
};
}