[xiph-commits] r8103 - in trunk/oggdsf: sln/oggdsf_all src/lib/codecs/flac/filters/dsfNativeFLACSource

illiminable at motherfish-iii.xiph.org illiminable at motherfish-iii.xiph.org
Tue Oct 26 00:36:28 PDT 2004


Author: illiminable
Date: 2004-10-26 00:36:28 -0700 (Tue, 26 Oct 2004)
New Revision: 8103

Modified:
   trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/NativeFLACSourcePin.cpp
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/NativeFLACSourcePin.h
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/dsfNativeFLACSource.h
   trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/dsfNativeFLACSource.vcproj
Log:
* Add the seeking interface to the output pin of the flac native source.

Modified: trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln
===================================================================
--- trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-10-25 22:44:57 UTC (rev 8102)
+++ trunk/oggdsf/sln/oggdsf_all/oggdsf_all.sln	2004-10-26 07:36:28 UTC (rev 8103)
@@ -1212,6 +1212,7 @@
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsfNativeFLACSource", "..\..\src\lib\codecs\flac\filters\dsfNativeFLACSource\dsfNativeFLACSource.vcproj", "{43DEE58F-CEC6-49B4-BC06-3D28978BAB63}"
 	ProjectSection(ProjectDependencies) = postProject
 		{6B548F29-04A2-4F61-946F-72B86B4845DA} = {6B548F29-04A2-4F61-946F-72B86B4845DA}
+		{A882A968-3013-4A27-B653-E18CF5C791FE} = {A882A968-3013-4A27-B653-E18CF5C791FE}
 		{4CBC0173-27E6-4218-AE06-5EFDCA7B2547} = {4CBC0173-27E6-4218-AE06-5EFDCA7B2547}
 		{A0004AEB-B47C-4A0A-8FE7-4F65B5FD48FA} = {A0004AEB-B47C-4A0A-8FE7-4F65B5FD48FA}
 		{2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4} = {2DA569EC-3E22-4BC9-A242-C7A56EB9C6F4}

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/NativeFLACSourcePin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/NativeFLACSourcePin.cpp	2004-10-25 22:44:57 UTC (rev 8102)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/NativeFLACSourcePin.cpp	2004-10-26 07:36:28 UTC (rev 8103)
@@ -39,6 +39,13 @@
 {
 
 	debugLog.open("G:\\logs\\flacsourcepin_.log", ios_base::out);
+
+
+	//Subvert COM and do this directly... this way, the source filter won't expose the interface to the
+	// graph but we can still delegate to it.
+	IMediaSeeking* locSeeker = NULL;
+	locSeeker = (IMediaSeeking*)mParentFilter;
+	SetDelegate(locSeeker);
 }
 
 NativeFLACSourcePin::~NativeFLACSourcePin(void)
@@ -48,7 +55,11 @@
 
 STDMETHODIMP NativeFLACSourcePin::NonDelegatingQueryInterface(REFIID riid, void **ppv)
 {
-	
+	if (riid == IID_IMediaSeeking) {
+		*ppv = (IMediaSeeking*)this;
+		((IUnknown*)*ppv)->AddRef();
+		return NOERROR;
+	}
 	return CBaseOutputPin::NonDelegatingQueryInterface(riid, ppv); 
 }
 

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/NativeFLACSourcePin.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/NativeFLACSourcePin.h	2004-10-25 22:44:57 UTC (rev 8102)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/NativeFLACSourcePin.h	2004-10-26 07:36:28 UTC (rev 8103)
@@ -32,12 +32,14 @@
 #pragma once
 #include "dsfNativeFLACSource.h"
 //#include "NativeFLACSourceFilter.h"
+#include "BasicSeekable.h"
 #include <fstream>
 using namespace std;
 
 class NativeFLACSourceFilter;
 class NativeFLACSourcePin
 	:	public CBaseOutputPin
+	,	public BasicSeekable
 {
 public:
 

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/dsfNativeFLACSource.h
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/dsfNativeFLACSource.h	2004-10-25 22:44:57 UTC (rev 8102)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/dsfNativeFLACSource.h	2004-10-26 07:36:28 UTC (rev 8103)
@@ -69,7 +69,7 @@
 
 const REGFILTER2 NativeFLACSourceFilterReg = {
 		1,
-		MERIT_DO_NOT_USE,
+		MERIT_NORMAL,
 		0,
         FLACSourcePinReg
 		

Modified: trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/dsfNativeFLACSource.vcproj
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/dsfNativeFLACSource.vcproj	2004-10-25 22:44:57 UTC (rev 8102)
+++ trunk/oggdsf/src/lib/codecs/flac/filters/dsfNativeFLACSource/dsfNativeFLACSource.vcproj	2004-10-26 07:36:28 UTC (rev 8103)
@@ -19,7 +19,7 @@
 			<Tool
 				Name="VCCLCompilerTool"
 				Optimization="0"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\..\..\core\directshow\dsfSeeking"
 				PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;DSFNATIVEFLACSOURCE_EXPORTS"
 				MinimalRebuild="TRUE"
 				BasicRuntimeChecks="3"
@@ -72,7 +72,7 @@
 			CharacterSet="2">
 			<Tool
 				Name="VCCLCompilerTool"
-				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore"
+				AdditionalIncludeDirectories="&quot;C:\DXSDK\Samples\C++\DirectShow\BaseClasses&quot;;..\..\libs\libflac\include;..\..\..\..\helper\libilliCore;..\..\..\..\core\directshow\dsfSeeking"
 				PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;DSFNATIVEFLACSOURCE_EXPORTS"
 				RuntimeLibrary="2"
 				UsePrecompiledHeader="3"



More information about the commits mailing list