00001 #pragma once
00002
00003 #include "Channel.h"
00004 #include "StreamFrame.h"
00005
00006 class CStreamSource
00007 {
00008 protected:
00009 CChannel* channel;
00010
00011 public:
00012 CStreamSource(CChannel* channel);
00013 virtual ~CStreamSource() { }
00014
00015 inline CChannel* Channel() { return this->channel; }
00016 void Synchronize(__time currentTime, __time& scheduleTime, __uint32& frame);
00017 __uint32 Synchronize(__time time);
00018
00019 virtual CStreamFrame Fetch(__uint32 index) = 0;
00020 virtual EFrameType FrameType(__uint32 index) = 0;
00021
00022 __time FrameTime(__uint32 index);
00023 };