illiminable::libDSPlayDotNET::DSPlay Class Reference

#include <DSPlay.h>

Collaboration diagram for illiminable::libDSPlayDotNET::DSPlay:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 DSPlay (void)
 DSPlay (IntPtr inWindowHandle, Int32 inLeft, Int32 inTop, Int32 inWidth, Int32 inHeight)
 Constructor takes a HWND and the video location/size wrt to the window the handle refers to.
 ~DSPlay (void)
bool loadFile (String *inFileName)
 Load the named file into the player.
bool play ()
 Start playing the media file.
bool pause ()
 Pause the media file.
bool stop ()
 Stop the media file.
long getVolume ()
 Gets the current volume setting 100 units per db ie 10,000 = 100db.
long getBalance ()
 Gets the balance of the channels. Divide by 100 to get attenuation. -10,000 = right channel silent.
bool setVolume (long inVolume)
 Sets the current volume (-10,000 to 10,000).
bool setBalance (long inBalance)
 Sets the current balance (-10,000 to 10,000).
Int64 averageTimePerFrame ()
 Gets the average time per frame in ds units. Returns 0 if unknown or no video.
Int64 averageFrameRate ()
 Gets the average frame rate in fps*100 (ie 29.97 fps = 2997).
Int32 videoWidth ()
 Gets the width of the video data. Not necessarily the same as the display size.
Int32 videoHeight ()
 Gets the height of the video data. Not necessarily the same as the display size.
bool stepFrame ()
 Steps forward a single video frame. Check canStepFrame() to see if this is possible.
bool canStepFrame ()
 Checks if the graph can step forward frame by frame.
Int64 seek (Int64 inTime)
 Seek to the specified time in 100 nanoseconds units. ie 10 000 000 per second.
Int64 seekStart ()
 Seek to the start of the media file.
Int64 queryPosition ()
 Queries the time in the media in 100ns units. Returns -1 if unknown or no file loaded.
void repaint ()
 Repaints the frame. Only needed for windowless rendering.
bool isLoaded ()
 Returns if there is a file loaded.
Int64 fileSize ()
 Returns the file size in bytes of the media file.
Int64 fileDuration ()
 Returns the duration of the file in 100 nanosecond units. ie 10 000 000 per second.
System::Drawing::Bitmap * GetImage ()
 Returns a .NET Bitmap class of the current video frame. Requires Renderless mode.
bool setMediaEventCallback (IDNMediaEvent *inMediaEventCallback)
 Sets the callback for media events. Notably EC_COMPLETE.
IDNMediaEvent * getMediaEventCallback ()
 Returns a pointer to the current media event callback.
bool setCMMLCallbacks (IDNCMMLCallbacks *inCMMLCallbacks)
 Sets the callback for CMMLTags. Only valid for annodex files.
bool checkEvents ()
 Triggers an event check, which if needed will fire the callbacks.
void releaseInterfaces ()
 Releases all the interfaces in use and unloads the file.

Protected Types

enum  eVideoRenderer { VR_VIDEO_WINDOW, VR_VMR7, VR_VMR9, VR_NONE = 100 }

Protected Member Functions

void GetVideoInformation ()
 Internal method to get video information from the video renderer.
bool isFileAnnodex (String *inFilename)

Protected Attributes

IGraphBuilder * mGraphBuilder
IMediaControl * mMediaControl
IMediaSeeking * mMediaSeeking
IMediaEvent * mMediaEvent
IBasicAudio * mBasicAudio
ICMMLAppControl * mCMMLAppControl
IVideoWindow * mVideoWindow
IBaseFilter * mVideoRenderFilter
IVideoFrameStep * mVideoFrameStep
IVMRWindowlessControl * mVMR7Window
IVMRWindowlessControl9 * mVMR9Window
Int32 mLeft
Int32 mTop
Int32 mWidth
Int32 mHeight
HANDLE mEventHandle
IntPtr mWindowHandle
CMMLCallbackProxymCMMLProxy
IDNMediaEvent * mDNMediaEvent
bool mIsLoaded
__int64 mFileSize
eVideoRenderer mVideoRenderType
fstream * debugLog
__int64 mAvgTimePerFrame
int mVideoWidth
int mVideoHeight

Member Enumeration Documentation

enum illiminable::libDSPlayDotNET::DSPlay::eVideoRenderer [protected]
 

Enumeration values:
VR_VIDEO_WINDOW 
VR_VMR7 
VR_VMR9 
VR_NONE 

Definition at line 200 of file DSPlay.h.


Constructor & Destructor Documentation

illiminable::libDSPlayDotNET::DSPlay::DSPlay void   ) 
 

Definition at line 52 of file DSPlay.cpp.

References debugLog, and mCMMLProxy.

illiminable::libDSPlayDotNET::DSPlay::DSPlay IntPtr  inWindowHandle,
Int32  inLeft,
Int32  inTop,
Int32  inWidth,
Int32  inHeight
 

Constructor takes a HWND and the video location/size wrt to the window the handle refers to.

Definition at line 91 of file DSPlay.cpp.

References debugLog, and mCMMLProxy.

illiminable::libDSPlayDotNET::DSPlay::~DSPlay void   ) 
 

Definition at line 150 of file DSPlay.cpp.

References debugLog, and releaseInterfaces().

Here is the call graph for this function:


Member Function Documentation

Int64 illiminable::libDSPlayDotNET::DSPlay::averageFrameRate  ) 
 

Gets the average frame rate in fps*100 (ie 29.97 fps = 2997).

Definition at line 884 of file DSPlay.cpp.

References mAvgTimePerFrame.

Int64 illiminable::libDSPlayDotNET::DSPlay::averageTimePerFrame  ) 
 

Gets the average time per frame in ds units. Returns 0 if unknown or no video.

Definition at line 879 of file DSPlay.cpp.

bool illiminable::libDSPlayDotNET::DSPlay::canStepFrame  ) 
 

Checks if the graph can step forward frame by frame.

Definition at line 798 of file DSPlay.cpp.

References mVideoFrameStep.

bool illiminable::libDSPlayDotNET::DSPlay::checkEvents  ) 
 

Triggers an event check, which if needed will fire the callbacks.

Definition at line 125 of file DSPlay.cpp.

References mDNMediaEvent, mEventHandle, and mMediaEvent.

Int64 illiminable::libDSPlayDotNET::DSPlay::fileDuration  ) 
 

Returns the duration of the file in 100 nanosecond units. ie 10 000 000 per second.

Definition at line 844 of file DSPlay.cpp.

References mIsLoaded, and mMediaSeeking.

Int64 illiminable::libDSPlayDotNET::DSPlay::fileSize  ) 
 

Returns the file size in bytes of the media file.

Definition at line 837 of file DSPlay.cpp.

long illiminable::libDSPlayDotNET::DSPlay::getBalance  ) 
 

Gets the balance of the channels. Divide by 100 to get attenuation. -10,000 = right channel silent.

Definition at line 182 of file DSPlay.cpp.

References mBasicAudio.

System::Drawing::Bitmap * illiminable::libDSPlayDotNET::DSPlay::GetImage  ) 
 

Returns a .NET Bitmap class of the current video frame. Requires Renderless mode.

Definition at line 683 of file DSPlay.cpp.

References debugLog, mVMR9Window, and VR_VMR9.

IDNMediaEvent * illiminable::libDSPlayDotNET::DSPlay::getMediaEventCallback  ) 
 

Returns a pointer to the current media event callback.

Definition at line 873 of file DSPlay.cpp.

void illiminable::libDSPlayDotNET::DSPlay::GetVideoInformation  )  [protected]
 

Internal method to get video information from the video renderer.

Definition at line 323 of file DSPlay.cpp.

References mAvgTimePerFrame, mVideoHeight, mVideoRenderFilter, and mVideoWidth.

Referenced by loadFile().

long illiminable::libDSPlayDotNET::DSPlay::getVolume  ) 
 

Gets the current volume setting 100 units per db ie 10,000 = 100db.

Definition at line 170 of file DSPlay.cpp.

References mBasicAudio.

bool illiminable::libDSPlayDotNET::DSPlay::isFileAnnodex String *  inFilename  )  [protected]
 

Definition at line 859 of file DSPlay.cpp.

Referenced by loadFile().

bool illiminable::libDSPlayDotNET::DSPlay::isLoaded  ) 
 

Returns if there is a file loaded.

Definition at line 737 of file DSPlay.cpp.

bool illiminable::libDSPlayDotNET::DSPlay::loadFile String *  inFileName  ) 
 

Load the named file into the player.

Definition at line 392 of file DSPlay.cpp.

References debugLog, GetVideoInformation(), inFileName, isFileAnnodex(), mBasicAudio, mCMMLAppControl, mCMMLProxy, mEventHandle, mFileSize, mGraphBuilder, mHeight, mIsLoaded, mLeft, mMediaControl, mMediaEvent, mMediaSeeking, mTop, mVideoFrameStep, mVideoRenderFilter, mVideoRenderType, mVideoWindow, mVMR7Window, mVMR9Window, mWidth, mWindowHandle, releaseInterfaces(), illiminable::libDSPlayDotNET::toWStr(), VR_VMR7, and VR_VMR9.

Here is the call graph for this function:

bool illiminable::libDSPlayDotNET::DSPlay::pause  ) 
 

Pause the media file.

Definition at line 753 of file DSPlay.cpp.

References mMediaControl.

bool illiminable::libDSPlayDotNET::DSPlay::play  ) 
 

Start playing the media file.

Definition at line 740 of file DSPlay.cpp.

References mMediaControl.

Int64 illiminable::libDSPlayDotNET::DSPlay::queryPosition  ) 
 

Queries the time in the media in 100ns units. Returns -1 if unknown or no file loaded.

Definition at line 822 of file DSPlay.cpp.

References mIsLoaded, and mMediaSeeking.

void illiminable::libDSPlayDotNET::DSPlay::releaseInterfaces  ) 
 

Releases all the interfaces in use and unloads the file.

Definition at line 221 of file DSPlay.cpp.

References debugLog, mBasicAudio, mCMMLAppControl, mGraphBuilder, mIsLoaded, mMediaControl, mMediaEvent, mMediaSeeking, mVideoFrameStep, mVideoRenderFilter, mVideoRenderType, mVideoWindow, mVMR7Window, and mVMR9Window.

Referenced by loadFile(), and ~DSPlay().

void illiminable::libDSPlayDotNET::DSPlay::repaint  ) 
 

Repaints the frame. Only needed for windowless rendering.

Definition at line 160 of file DSPlay.cpp.

References mVideoRenderType, mVMR9Window, and mWindowHandle.

Int64 illiminable::libDSPlayDotNET::DSPlay::seek Int64  inTime  ) 
 

Seek to the specified time in 100 nanoseconds units. ie 10 000 000 per second.

Definition at line 780 of file DSPlay.cpp.

References mIsLoaded, and mMediaSeeking.

Referenced by seekStart(), and stop().

Int64 illiminable::libDSPlayDotNET::DSPlay::seekStart  ) 
 

Seek to the start of the media file.

Definition at line 818 of file DSPlay.cpp.

References seek().

Here is the call graph for this function:

bool illiminable::libDSPlayDotNET::DSPlay::setBalance long  inBalance  ) 
 

Sets the current balance (-10,000 to 10,000).

Definition at line 209 of file DSPlay.cpp.

References mBasicAudio.

bool illiminable::libDSPlayDotNET::DSPlay::setCMMLCallbacks IDNCMMLCallbacks *  inCMMLCallbacks  ) 
 

Sets the callback for CMMLTags. Only valid for annodex files.

Definition at line 733 of file DSPlay.cpp.

References mCMMLProxy, and CMMLCallbackProxy::setManagedDelegate().

Here is the call graph for this function:

bool illiminable::libDSPlayDotNET::DSPlay::setMediaEventCallback IDNMediaEvent *  inMediaEventCallback  ) 
 

Sets the callback for media events. Notably EC_COMPLETE.

Definition at line 869 of file DSPlay.cpp.

References mDNMediaEvent.

bool illiminable::libDSPlayDotNET::DSPlay::setVolume long  inVolume  ) 
 

Sets the current volume (-10,000 to 10,000).

Definition at line 194 of file DSPlay.cpp.

References mBasicAudio.

bool illiminable::libDSPlayDotNET::DSPlay::stepFrame  ) 
 

Steps forward a single video frame. Check canStepFrame() to see if this is possible.

Definition at line 808 of file DSPlay.cpp.

References mVideoFrameStep.

bool illiminable::libDSPlayDotNET::DSPlay::stop  ) 
 

Stop the media file.

Definition at line 766 of file DSPlay.cpp.

References mMediaControl, and seek().

Here is the call graph for this function:

Int32 illiminable::libDSPlayDotNET::DSPlay::videoHeight  ) 
 

Gets the height of the video data. Not necessarily the same as the display size.

Definition at line 901 of file DSPlay.cpp.

Int32 illiminable::libDSPlayDotNET::DSPlay::videoWidth  ) 
 

Gets the width of the video data. Not necessarily the same as the display size.

Definition at line 896 of file DSPlay.cpp.


Member Data Documentation

fstream* illiminable::libDSPlayDotNET::DSPlay::debugLog [protected]
 

Definition at line 209 of file DSPlay.h.

Referenced by DSPlay(), GetImage(), loadFile(), releaseInterfaces(), and ~DSPlay().

__int64 illiminable::libDSPlayDotNET::DSPlay::mAvgTimePerFrame [protected]
 

Definition at line 211 of file DSPlay.h.

Referenced by averageFrameRate(), and GetVideoInformation().

IBasicAudio* illiminable::libDSPlayDotNET::DSPlay::mBasicAudio [protected]
 

Definition at line 175 of file DSPlay.h.

Referenced by getBalance(), getVolume(), loadFile(), releaseInterfaces(), setBalance(), and setVolume().

ICMMLAppControl* illiminable::libDSPlayDotNET::DSPlay::mCMMLAppControl [protected]
 

Definition at line 176 of file DSPlay.h.

Referenced by loadFile(), and releaseInterfaces().

CMMLCallbackProxy* illiminable::libDSPlayDotNET::DSPlay::mCMMLProxy [protected]
 

Definition at line 193 of file DSPlay.h.

Referenced by DSPlay(), loadFile(), and setCMMLCallbacks().

IDNMediaEvent* illiminable::libDSPlayDotNET::DSPlay::mDNMediaEvent [protected]
 

Definition at line 194 of file DSPlay.h.

Referenced by checkEvents(), and setMediaEventCallback().

HANDLE illiminable::libDSPlayDotNET::DSPlay::mEventHandle [protected]
 

Definition at line 189 of file DSPlay.h.

Referenced by checkEvents(), and loadFile().

__int64 illiminable::libDSPlayDotNET::DSPlay::mFileSize [protected]
 

Definition at line 197 of file DSPlay.h.

Referenced by loadFile().

IGraphBuilder* illiminable::libDSPlayDotNET::DSPlay::mGraphBuilder [protected]
 

Definition at line 171 of file DSPlay.h.

Referenced by loadFile(), and releaseInterfaces().

Int32 illiminable::libDSPlayDotNET::DSPlay::mHeight [protected]
 

Definition at line 187 of file DSPlay.h.

Referenced by loadFile().

bool illiminable::libDSPlayDotNET::DSPlay::mIsLoaded [protected]
 

Definition at line 196 of file DSPlay.h.

Referenced by fileDuration(), loadFile(), queryPosition(), releaseInterfaces(), and seek().

Int32 illiminable::libDSPlayDotNET::DSPlay::mLeft [protected]
 

Definition at line 184 of file DSPlay.h.

Referenced by loadFile().

IMediaControl* illiminable::libDSPlayDotNET::DSPlay::mMediaControl [protected]
 

Definition at line 172 of file DSPlay.h.

Referenced by loadFile(), pause(), play(), releaseInterfaces(), and stop().

IMediaEvent* illiminable::libDSPlayDotNET::DSPlay::mMediaEvent [protected]
 

Definition at line 174 of file DSPlay.h.

Referenced by checkEvents(), loadFile(), and releaseInterfaces().

IMediaSeeking* illiminable::libDSPlayDotNET::DSPlay::mMediaSeeking [protected]
 

Definition at line 173 of file DSPlay.h.

Referenced by fileDuration(), loadFile(), queryPosition(), releaseInterfaces(), and seek().

Int32 illiminable::libDSPlayDotNET::DSPlay::mTop [protected]
 

Definition at line 185 of file DSPlay.h.

Referenced by loadFile().

IVideoFrameStep* illiminable::libDSPlayDotNET::DSPlay::mVideoFrameStep [protected]
 

Definition at line 179 of file DSPlay.h.

Referenced by canStepFrame(), loadFile(), releaseInterfaces(), and stepFrame().

int illiminable::libDSPlayDotNET::DSPlay::mVideoHeight [protected]
 

Definition at line 213 of file DSPlay.h.

Referenced by GetVideoInformation().

IBaseFilter* illiminable::libDSPlayDotNET::DSPlay::mVideoRenderFilter [protected]
 

Definition at line 178 of file DSPlay.h.

Referenced by GetVideoInformation(), loadFile(), and releaseInterfaces().

eVideoRenderer illiminable::libDSPlayDotNET::DSPlay::mVideoRenderType [protected]
 

Definition at line 207 of file DSPlay.h.

Referenced by loadFile(), releaseInterfaces(), and repaint().

int illiminable::libDSPlayDotNET::DSPlay::mVideoWidth [protected]
 

Definition at line 212 of file DSPlay.h.

Referenced by GetVideoInformation().

IVideoWindow* illiminable::libDSPlayDotNET::DSPlay::mVideoWindow [protected]
 

Definition at line 177 of file DSPlay.h.

Referenced by loadFile(), and releaseInterfaces().

IVMRWindowlessControl* illiminable::libDSPlayDotNET::DSPlay::mVMR7Window [protected]
 

Definition at line 181 of file DSPlay.h.

Referenced by loadFile(), and releaseInterfaces().

IVMRWindowlessControl9* illiminable::libDSPlayDotNET::DSPlay::mVMR9Window [protected]
 

Definition at line 182 of file DSPlay.h.

Referenced by GetImage(), loadFile(), releaseInterfaces(), and repaint().

Int32 illiminable::libDSPlayDotNET::DSPlay::mWidth [protected]
 

Definition at line 186 of file DSPlay.h.

Referenced by loadFile().

IntPtr illiminable::libDSPlayDotNET::DSPlay::mWindowHandle [protected]
 

Definition at line 190 of file DSPlay.h.

Referenced by loadFile(), and repaint().


The documentation for this class was generated from the following files:
Generated on Tue Feb 15 15:06:21 2005 for oggdsf by  doxygen 1.3.9