[xiph-commits] r8351 - in trunk/oggdsf/src/lib: codecs/cmml/libCMMLTags codecs/cmml/libCMMLTagsDotNET player/libDSPlayDotNET

illiminable at motherfish-iii.xiph.org illiminable at motherfish-iii.xiph.org
Wed Dec 8 03:42:40 PST 2004


Author: illiminable
Date: 2004-12-08 03:42:40 -0800 (Wed, 08 Dec 2004)
New Revision: 8351

Modified:
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_AnchorTag.cpp
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLRootTag.cpp
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLTag.cpp
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLTag.h
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_ClipTag.cpp
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MappedTagList.cpp
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MappedTagList.h
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MetaTagList.cpp
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MetaTagList.h
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/ClipTag.cpp
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/HeadTag.cpp
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/MetaTagList.cpp
   trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/MetaTagList.h
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/AssemblyInfo.cpp
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/CMMLCallbackProxy.cpp
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/CMMLCallbackProxy.h
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/DSPlay.cpp
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/DSPlay.h
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/IDNCMMLCallbacks.h
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/IDNMediaEvent.h
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/Stdafx.cpp
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/Stdafx.h
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/libDSPlayDotNET.cpp
   trunk/oggdsf/src/lib/player/libDSPlayDotNET/libDSPlayDotNET.h
Log:
* Added a method to empty a tag list in CMML Tag library.
* Modified libDSPlay to allow embedded directdraw surfaces rather than floating video windows.
* CSIRO added to copyright holders of libDSPlayDotNET.

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_AnchorTag.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_AnchorTag.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_AnchorTag.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -79,19 +79,12 @@
 	 
 
 	wstring retStr =	L"<a";
-	//Put in the id element if there is one
-	if (mId.size() != 0) {
-		retStr += makeElement(L"id", mId);
-	}
 
+	retStr += makeElement(L"id", mId);
 	retStr += makeLangElements();
+	retStr += makeElement(L"class", mCls);
+	retStr += makeRequiredElement(L"href", mHref);
 
-	if (mCls.size() != 0) {
-		retStr += makeElement(L"class", mCls);
-	}
-
-	retStr += makeElement(L"href", mHref);
-
 	retStr += L">";
 	retStr += mText;
 	retStr += L"</a>\n";

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLRootTag.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLRootTag.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLRootTag.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -101,11 +101,11 @@
 wstring C_CMMLRootTag::toString() {
 	wstring retStr;
 	retStr = L"<cmml";
-	if (mId.size() != 0) {
-		retStr += makeElement(L"id", mId);
-	}
 
+	retStr += makeElement(L"id", mId);
 	retStr += makeLangElements();
+	//TODO::: This shouldn't be hardcoded here !
+	retStr += makeElement(L"xmlns", L"http://www.annodex.net/cmml");
 
 	
 	retStr += L">\n";

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLTag.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLTag.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLTag.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -54,6 +54,16 @@
 
 //Protected Helper Methods
 wstring C_CMMLTag::makeElement(wstring inElemName, wstring inElemContent) {
+	if (inElemContent != L"") {
+		wstring retStr;
+		retStr = L" " + inElemName + L"=\"" + inElemContent + L"\"";
+		return retStr;
+	} else {
+		return L"";
+	}
+}
+
+wstring C_CMMLTag::makeRequiredElement(wstring inElemName, wstring inElemContent) {
 	wstring retStr;
 	retStr = L" " + inElemName + L"=\"" + inElemContent + L"\"";
 	return retStr;

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLTag.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLTag.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_CMMLTag.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -86,5 +86,6 @@
 	//Protected Helper Methods
 	virtual void privateClone(C_CMMLTag* outTag);
 	wstring makeElement(wstring inElemName, wstring inElemContent);
+	wstring C_CMMLTag::makeRequiredElement(wstring inElemName, wstring inElemContent);
 	
 };

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_ClipTag.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_ClipTag.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_ClipTag.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -121,9 +121,23 @@
 	C_HumReadCMMLTag::privateClone(outTag);
 	C_ClipTag* locTag = reinterpret_cast<C_ClipTag*>(outTag);
 	locTag->mTrack = mTrack;
-	locTag->setAnchor(mAnchor->clone());
-	locTag->setImage(mImage->clone());
-	locTag->setDesc(mDesc->clone());
+	if (mAnchor != NULL) {
+		locTag->setAnchor(mAnchor->clone());
+	} else {
+		locTag->setAnchor(NULL);
+	}
+
+	if (mImage != NULL) {
+		locTag->setImage(mImage->clone());
+	} else {
+		locTag->setImage(NULL);
+	}
+
+	if (mDesc != NULL) {
+		locTag->setDesc(mDesc->clone());
+	} else {
+		locTag->setDesc(NULL);
+	}
 	locTag->setStart(mStart);
 	locTag->setEnd(mEnd);
 	//locTag->mMetaList = mMetaList->clone();

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MappedTagList.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MappedTagList.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MappedTagList.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -40,6 +40,10 @@
 
 C_MappedTagList::~C_MappedTagList(void)
 {
+	emptyList();
+}
+
+void C_MappedTagList::emptyList() {
 	for (unsigned long i = 0; i < mTagList.size(); i++) {
 		delete mTagList[i];
 	}

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MappedTagList.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MappedTagList.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MappedTagList.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -68,6 +68,7 @@
 	C_MappedTag* getTag(unsigned long inTagNo);
 	C_MappedTag* getTag(wstring mName);
 	void addTag(C_MappedTag* inTag);
+	void emptyList();
 
 
 	//Protected Helper Methods

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MetaTagList.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MetaTagList.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MetaTagList.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -48,7 +48,12 @@
 	C_MappedTagList::addTag(inTag);
 }
 
+void C_MetaTagList::emptyList() {
+	C_MappedTagList::emptyList();
 
+}
+
+
 void C_MetaTagList::addTag(wstring inName, wstring inContent) {
 	C_MetaTag* retTag = new C_MetaTag;
 	retTag->setName(inName);

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MetaTagList.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MetaTagList.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTags/C_MetaTagList.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -42,6 +42,7 @@
 	C_MetaTagList(void);
 	virtual ~C_MetaTagList(void);
 
+	void emptyList();
 	void addTag(C_MetaTag* inTag);
 	void addTag(wstring inName, wstring inContent);
 	//void removeTag ???

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/ClipTag.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/ClipTag.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/ClipTag.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -65,13 +65,28 @@
 		return new MetaTagList(getMe()->metaList(), false);
 	}
 	AnchorTag* ClipTag::anchor() {
-		return new AnchorTag(getMe()->anchor(),false);
+		C_AnchorTag* locAnchor = getMe()->anchor();
+		if (locAnchor != NULL) {
+			return new AnchorTag(locAnchor,false);
+		} else {
+			return NULL;
+		}
 	}
 	ImageTag* ClipTag::image() {
-		return new ImageTag(getMe()->image(), false);
+		C_ImageTag* locImage = getMe()->image();
+		if (locImage != NULL) {
+			return new ImageTag(locImage, false);
+		} else {
+			return NULL;
+		}
 	}
 	DescTag* ClipTag::desc() {
-		return new DescTag(getMe()->desc(), false);
+		C_DescTag* locDesc = getMe()->desc();
+		if (locDesc != NULL) {
+			return new DescTag(locDesc, false);
+		} else {
+			return NULL;
+		}
 	}
 
 	String* ClipTag::start() {

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/HeadTag.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/HeadTag.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/HeadTag.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -63,6 +63,7 @@
 		return Wrappers::WStrToNetStr( getMe()->profile().c_str());
 	}
 	TitleTag* HeadTag::title() {
+		//Title is gauranteed to exist.
 		return new TitleTag(getMe()->title()->clone());
 	}
 	BaseTag* HeadTag::base() {
@@ -87,6 +88,7 @@
 
 	}	
 	void HeadTag::setTitle(TitleTag* inTitle){
+		//TODO::: Maybe this needs code to handle a null pointer being passed in.
 		getMe()->setTitle(inTitle->getMe()->clone());
 	}
 	void HeadTag::setBase(BaseTag* inBase) {

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/MetaTagList.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/MetaTagList.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/MetaTagList.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -57,7 +57,11 @@
 		mBaseClass = NULL;
 	}
 
+	void MetaTagList::emptyList() {
+		getMe()->emptyList();
+	}
 
+
 	void MetaTagList::addTag(MetaTag* inTag) {
 		getMe()->addTag(inTag->getMe()->clone());
 

Modified: trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/MetaTagList.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/MetaTagList.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/codecs/cmml/libCMMLTagsDotNET/MetaTagList.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -57,6 +57,7 @@
 		MetaTagList(C_MetaTagList* inTag, bool inDeleteBase);
 		virtual ~MetaTagList(void);
 
+		void emptyList();
 		void addTag(MetaTag* inTag);
 		void addTag(String* inName, String* inContent);
 		//void removeTag ???

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/AssemblyInfo.cpp
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/AssemblyInfo.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/AssemblyInfo.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,3 +1,36 @@
+//===========================================================================
+//Copyright (C) 2004 Zentaro Kavanagh
+//
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
+//Redistribution and use in source and binary forms, with or without
+//modification, are permitted provided that the following conditions
+//are met:
+//
+//- Redistributions of source code must retain the above copyright
+//  notice, this list of conditions and the following disclaimer.
+//
+//- Redistributions in binary form must reproduce the above copyright
+//  notice, this list of conditions and the following disclaimer in the
+//  documentation and/or other materials provided with the distribution.
+//
+//- Neither the name of Zentaro Kavanagh nor the names of contributors 
+//  may be used to endorse or promote products derived from this software 
+//  without specific prior written permission.
+//
+//THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+//``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+//LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+//PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE ORGANISATION OR
+//CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+//EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+//PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+//PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+//LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+//NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+//SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+//===========================================================================
 #include "stdafx.h"
 
 using namespace System::Reflection;

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/CMMLCallbackProxy.cpp
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/CMMLCallbackProxy.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/CMMLCallbackProxy.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/CMMLCallbackProxy.h
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/CMMLCallbackProxy.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/CMMLCallbackProxy.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/DSPlay.cpp
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/DSPlay.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/DSPlay.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:
@@ -55,6 +58,13 @@
 	//,	mDNCMMLCallbacks(NULL)
 	,	mDNMediaEvent(NULL)
 	,	mCMMLAppControl(NULL)
+	,	mWindowHandle(NULL)
+	,	mVideoWindow(NULL)
+	,	mLeft(0)
+	,	mTop(0)
+	,	mWidth(0)
+	,	mHeight(0)
+
 {
 	CoInitialize(NULL);
 	mCMMLProxy = new CMMLCallbackProxy;			//Need to delete this !
@@ -62,6 +72,28 @@
 	debugLog->open("G:\\logs\\dsplay.log", ios_base::out);
 }
 
+DSPlay::DSPlay(IntPtr inWindowHandle, Int32 inLeft, Int32 inTop, Int32 inWidth, Int32 inHeight) 
+	:	mGraphBuilder(NULL)
+	,	mMediaControl(NULL)
+	,	mMediaSeeking(NULL)
+	,	mMediaEvent(NULL)
+	,	mEventHandle(INVALID_HANDLE_VALUE)
+	//,	mDNCMMLCallbacks(NULL)
+	,	mDNMediaEvent(NULL)
+	,	mCMMLAppControl(NULL)
+	,	mWindowHandle(inWindowHandle)
+	,	mVideoWindow(NULL)
+	,	mLeft(inLeft)
+	,	mTop(inTop)
+	,	mWidth(inWidth)
+	,	mHeight(inHeight)
+{
+	CoInitialize(NULL);
+	mCMMLProxy = new CMMLCallbackProxy;			//Need to delete this !
+	debugLog = new fstream;
+	debugLog->open("G:\\logs\\dsplay.log", ios_base::out);
+}
+
 bool DSPlay::checkEvents() {
 	const DWORD TIMEOUT_WAIT = 0;  //Wait this many ms for handle
 	long locEventCode = 0;
@@ -85,32 +117,8 @@
 	}
 	return true;
 }
-//IMediaEvent* locMediaEvent = NULL;
-//	locHR = locGraphBuilder->QueryInterface(IID_IMediaEvent, (void**)&locMediaEvent);
-//	
-//	HANDLE  hEvent; 
-//	long    evCode, param1, param2;
-//	BOOLEAN bDone = FALSE;
-//	HRESULT hr = S_OK;
-//	hr = locMediaEvent->GetEventHandle((OAEVENT*)&hEvent);
-//	if (FAILED(hr))
-//	{
-//	    /* Insert failure-handling code here. */
-//	}
-//	while(true) //!bDone) 
-//	{
-//	    if (WAIT_OBJECT_0 == WaitForSingleObject(hEvent, 100))
-//	    { 
-//			while (hr = locMediaEvent->GetEvent(&evCode, &param1, &param2, 0), SUCCEEDED(hr)) 
-//			{
-//	            //printf("Event code: %#04x\n Params: %d, %d\n", evCode, param1, param2);
-//				cout<<"Event : "<<evCode<<" Params : "<<param1<<", "<<param2<<endl;
-//				locMediaEvent->FreeEventParams(evCode, param1, param2);
-//				bDone = (EC_COMPLETE == evCode);
-//			}
-//		}
-//	} 
 
+
 DSPlay::~DSPlay(void) {
 	*debugLog<<"Killing DSPlay"<<endl;
 	debugLog->close();
@@ -162,7 +170,15 @@
 		mGraphBuilder = NULL;
 	}
 
+	if (mVideoWindow != NULL) {
+		numRef =
+            mVideoWindow->Release();
 
+		*debugLog<<"Video Window count = "<<numRef<<endl;
+		mVideoWindow = NULL;
+	}
+
+
 	*debugLog<<"After graph release>.."<<endl;
 	//TODO::: Release everything !
 }
@@ -288,6 +304,20 @@
 		mEventHandle = locEventHandle;
 	}
 
+	if (mWindowHandle != NULL) {
+		//Get the IVideoWindow interface.
+		IVideoWindow* locVideoWindow = NULL;
+		locHR = mGraphBuilder->QueryInterface(IID_IVideoWindow, (void**)&locVideoWindow);
+
+		if (locHR == S_OK) {
+			mVideoWindow = locVideoWindow;
+			mVideoWindow->put_Owner((int)mWindowHandle);
+			mVideoWindow->SetWindowPosition(mLeft, mTop, mWidth, mHeight);
+			mVideoWindow->put_WindowStyle(WS_CHILD | WS_CLIPCHILDREN);
+		}
+	}
+
+
 //	if (FAILED(hr))
 
 	return true;

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/DSPlay.h
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/DSPlay.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/DSPlay.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:
@@ -65,6 +68,7 @@
 	{
 	public:
 		DSPlay(void);
+		DSPlay(IntPtr inWindowHandle, Int32 inLeft, Int32 inTop, Int32 inWidth, Int32 inHeight);
 		~DSPlay(void);
 
 		bool loadFile(String* inFileName);
@@ -94,8 +98,15 @@
 		IMediaSeeking* mMediaSeeking;
 		IMediaEvent* mMediaEvent;
 		ICMMLAppControl* mCMMLAppControl;
+		IVideoWindow* mVideoWindow;
 
+		Int32 mLeft;
+		Int32 mTop;
+		Int32 mWidth;
+		Int32 mHeight;
+
 		HANDLE mEventHandle;
+		IntPtr mWindowHandle;
 
 		//IDNCMMLCallbacks* mDNCMMLCallbacks;
 		CMMLCallbackProxy* mCMMLProxy;

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/IDNCMMLCallbacks.h
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/IDNCMMLCallbacks.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/IDNCMMLCallbacks.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/IDNMediaEvent.h
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/IDNMediaEvent.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/IDNMediaEvent.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/Stdafx.cpp
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/Stdafx.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/Stdafx.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/Stdafx.h
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/Stdafx.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/Stdafx.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/libDSPlayDotNET.cpp
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/libDSPlayDotNET.cpp	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/libDSPlayDotNET.cpp	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:

Modified: trunk/oggdsf/src/lib/player/libDSPlayDotNET/libDSPlayDotNET.h
===================================================================
--- trunk/oggdsf/src/lib/player/libDSPlayDotNET/libDSPlayDotNET.h	2004-12-08 04:09:09 UTC (rev 8350)
+++ trunk/oggdsf/src/lib/player/libDSPlayDotNET/libDSPlayDotNET.h	2004-12-08 11:42:40 UTC (rev 8351)
@@ -1,6 +1,9 @@
 //===========================================================================
 //Copyright (C) 2004 Zentaro Kavanagh
 //
+//Copyright (C) 2004 Commonwealth Scientific and Industrial Research
+// Orgainisation (CSIRO) Australia
+//
 //Redistribution and use in source and binary forms, with or without
 //modification, are permitted provided that the following conditions
 //are met:



More information about the commits mailing list