BasicSeekable.h

Go to the documentation of this file.
00001 #pragma once
00002 
00003 //Local Includes
00004 #include "dsfseeking.h"
00005 
00006 //STL Includes
00007 #include <fstream>
00008 using namespace std;
00009 
00010 class DSFSEEKING_API BasicSeekable
00011         //Base classes.
00012         :       public IMediaSeeking
00013 {
00014 public:
00015         //Constructors
00016         BasicSeekable(void);
00017         BasicSeekable(IMediaSeeking* inDelegate);
00018         virtual ~BasicSeekable(void);
00019 
00020         //Delegate Control Methods.
00021         bool SetDelegate(IMediaSeeking* inDelegate);
00022         bool ReleaseDelegate();
00023         
00024         //IMediaSeeking Interface
00025         virtual STDMETHODIMP GetCapabilities(DWORD *pCapabilities);
00026         virtual STDMETHODIMP CheckCapabilities(DWORD *pCapabilities);
00027         virtual STDMETHODIMP IsFormatSupported(const GUID *pFormat);
00028         virtual STDMETHODIMP QueryPreferredFormat(GUID *pFormat);
00029         virtual STDMETHODIMP SetTimeFormat(const GUID *pFormat);
00030         virtual STDMETHODIMP GetTimeFormat( GUID *pFormat);
00031         virtual STDMETHODIMP GetDuration(LONGLONG *pDuration);
00032         virtual STDMETHODIMP GetStopPosition(LONGLONG *pStop);
00033         virtual STDMETHODIMP GetCurrentPosition(LONGLONG *pCurrent);
00034         virtual STDMETHODIMP ConvertTimeFormat(LONGLONG *pTarget, const GUID *pTargetFormat, LONGLONG Source, const GUID *pSourceFormat);
00035         virtual STDMETHODIMP SetPositions(LONGLONG *pCurrent,DWORD dwCurrentFlags,LONGLONG *pStop,DWORD dwStopFlags);
00036         virtual STDMETHODIMP GetPositions(LONGLONG *pCurrent, LONGLONG *pStop);
00037         virtual STDMETHODIMP GetAvailable(LONGLONG *pEarliest, LONGLONG *pLatest);
00038         virtual STDMETHODIMP SetRate(double dRate);
00039         virtual STDMETHODIMP GetRate(double *dRate);
00040         virtual STDMETHODIMP GetPreroll(LONGLONG *pllPreroll);
00041         virtual STDMETHODIMP IsUsingTimeFormat(const GUID *pFormat);
00042 
00043 protected:
00044         //Member data
00045         IMediaSeeking* mSeekDelegate;
00046         HRESULT mHR;
00047         DWORD mSeekingCap;
00048 
00049         //Debug only.
00050         //fstream seekDebug;
00051 };

Generated on Tue Feb 15 14:54:20 2005 for oggdsf by  doxygen 1.3.9