#include <DSPlay.h>
Collaboration diagram for illiminable::libDSPlayDotNET::DSPlay:
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 |
CMMLCallbackProxy * | mCMMLProxy |
IDNMediaEvent * | mDNMediaEvent |
bool | mIsLoaded |
__int64 | mFileSize |
eVideoRenderer | mVideoRenderType |
fstream * | debugLog |
__int64 | mAvgTimePerFrame |
int | mVideoWidth |
int | mVideoHeight |
|
|
|
Definition at line 52 of file DSPlay.cpp. References debugLog, and mCMMLProxy. |
|
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. |
|
Definition at line 150 of file DSPlay.cpp. References debugLog, and releaseInterfaces(). |
Here is the call graph for this function:
|
Gets the average frame rate in fps*100 (ie 29.97 fps = 2997).
Definition at line 884 of file DSPlay.cpp. References mAvgTimePerFrame. |
|
Gets the average time per frame in ds units. Returns 0 if unknown or no video.
Definition at line 879 of file DSPlay.cpp. |
|
Checks if the graph can step forward frame by frame.
Definition at line 798 of file DSPlay.cpp. References mVideoFrameStep. |
|
Triggers an event check, which if needed will fire the callbacks.
Definition at line 125 of file DSPlay.cpp. References mDNMediaEvent, mEventHandle, and mMediaEvent. |
|
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. |
|
Returns the file size in bytes of the media file.
Definition at line 837 of file DSPlay.cpp. |
|
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. |
|
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. |
|
Returns a pointer to the current media event callback.
Definition at line 873 of file DSPlay.cpp. |
|
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(). |
|
Gets the current volume setting 100 units per db ie 10,000 = 100db.
Definition at line 170 of file DSPlay.cpp. References mBasicAudio. |
|
Definition at line 859 of file DSPlay.cpp. Referenced by loadFile(). |
|
Returns if there is a file loaded.
Definition at line 737 of file DSPlay.cpp. |
|
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:
|
Pause the media file.
Definition at line 753 of file DSPlay.cpp. References mMediaControl. |
|
Start playing the media file.
Definition at line 740 of file DSPlay.cpp. References mMediaControl. |
|
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. |
|
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(). |
|
Repaints the frame. Only needed for windowless rendering.
Definition at line 160 of file DSPlay.cpp. References mVideoRenderType, mVMR9Window, and mWindowHandle. |
|
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(). |
|
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:
|
Sets the current balance (-10,000 to 10,000).
Definition at line 209 of file DSPlay.cpp. References mBasicAudio. |
|
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:
|
Sets the callback for media events. Notably EC_COMPLETE.
Definition at line 869 of file DSPlay.cpp. References mDNMediaEvent. |
|
Sets the current volume (-10,000 to 10,000).
Definition at line 194 of file DSPlay.cpp. References mBasicAudio. |
|
Steps forward a single video frame. Check canStepFrame() to see if this is possible.
Definition at line 808 of file DSPlay.cpp. References mVideoFrameStep. |
|
Stop the media file.
Definition at line 766 of file DSPlay.cpp. References mMediaControl, and seek(). |
Here is the call graph for this function:
|
Gets the height of the video data. Not necessarily the same as the display size.
Definition at line 901 of file DSPlay.cpp. |
|
Gets the width of the video data. Not necessarily the same as the display size.
Definition at line 896 of file DSPlay.cpp. |
|
Definition at line 209 of file DSPlay.h. Referenced by DSPlay(), GetImage(), loadFile(), releaseInterfaces(), and ~DSPlay(). |
|
Definition at line 211 of file DSPlay.h. Referenced by averageFrameRate(), and GetVideoInformation(). |
|
Definition at line 175 of file DSPlay.h. Referenced by getBalance(), getVolume(), loadFile(), releaseInterfaces(), setBalance(), and setVolume(). |
|
Definition at line 176 of file DSPlay.h. Referenced by loadFile(), and releaseInterfaces(). |
|
Definition at line 193 of file DSPlay.h. Referenced by DSPlay(), loadFile(), and setCMMLCallbacks(). |
|
Definition at line 194 of file DSPlay.h. Referenced by checkEvents(), and setMediaEventCallback(). |
|
Definition at line 189 of file DSPlay.h. Referenced by checkEvents(), and loadFile(). |
|
Definition at line 197 of file DSPlay.h. Referenced by loadFile(). |
|
Definition at line 171 of file DSPlay.h. Referenced by loadFile(), and releaseInterfaces(). |
|
Definition at line 187 of file DSPlay.h. Referenced by loadFile(). |
|
Definition at line 196 of file DSPlay.h. Referenced by fileDuration(), loadFile(), queryPosition(), releaseInterfaces(), and seek(). |
|
Definition at line 184 of file DSPlay.h. Referenced by loadFile(). |
|
Definition at line 172 of file DSPlay.h. Referenced by loadFile(), pause(), play(), releaseInterfaces(), and stop(). |
|
Definition at line 174 of file DSPlay.h. Referenced by checkEvents(), loadFile(), and releaseInterfaces(). |
|
Definition at line 173 of file DSPlay.h. Referenced by fileDuration(), loadFile(), queryPosition(), releaseInterfaces(), and seek(). |
|
Definition at line 185 of file DSPlay.h. Referenced by loadFile(). |
|
Definition at line 179 of file DSPlay.h. Referenced by canStepFrame(), loadFile(), releaseInterfaces(), and stepFrame(). |
|
Definition at line 213 of file DSPlay.h. Referenced by GetVideoInformation(). |
|
Definition at line 178 of file DSPlay.h. Referenced by GetVideoInformation(), loadFile(), and releaseInterfaces(). |
|
Definition at line 207 of file DSPlay.h. Referenced by loadFile(), releaseInterfaces(), and repaint(). |
|
Definition at line 212 of file DSPlay.h. Referenced by GetVideoInformation(). |
|
Definition at line 177 of file DSPlay.h. Referenced by loadFile(), and releaseInterfaces(). |
|
Definition at line 181 of file DSPlay.h. Referenced by loadFile(), and releaseInterfaces(). |
|
Definition at line 182 of file DSPlay.h. Referenced by GetImage(), loadFile(), releaseInterfaces(), and repaint(). |
|
Definition at line 186 of file DSPlay.h. Referenced by loadFile(). |
|
Definition at line 190 of file DSPlay.h. Referenced by loadFile(), and repaint(). |