[xiph-cvs] r6702 - in trunk/oggdsf/src/lib: codecs/flac/libs/libflac/src/libFLAC/Debug_dynamic codecs/flac/libs/libflac/src/libFLAC++/Debug_dynamic codecs/vorbis/filters/dsfVorbisDecoder codecs/vorbis/libs/libvorbis/win32/Vorbis_Dynamic_Debug core/directshow/dsfAbstractAudioDecoder core/directshow/dsfOggDemux core/directshow/dsfSeeking core/ogg/libOOOggSeek core/ogg/libogg/win32/Dynamic_Debug

illiminable at xiph.org illiminable at xiph.org
Sun May 16 03:59:23 PDT 2004



Author: illiminable
Date: 2004-05-16 06:59:20 -0400 (Sun, 16 May 2004)
New Revision: 6702

Modified:
   trunk/oggdsf/src/lib/codecs/flac/libs/libflac/src/libFLAC++/Debug_dynamic/BuildLog.htm
   trunk/oggdsf/src/lib/codecs/flac/libs/libflac/src/libFLAC/Debug_dynamic/BuildLog.htm
   trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
   trunk/oggdsf/src/lib/codecs/vorbis/libs/libvorbis/win32/Vorbis_Dynamic_Debug/BuildLog.htm
   trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.h
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.h
   trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.cpp
   trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.h
   trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/OggSeekTable.cpp
   trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/OggSeekTable.h
   trunk/oggdsf/src/lib/core/ogg/libogg/win32/Dynamic_Debug/BuildLog.htm
Log:
Partially fixed seek, though first page after seek gets wild timestamps and it takes one page of audio to kick in... so seeking seems sluggish.

Modified: trunk/oggdsf/src/lib/codecs/flac/libs/libflac/src/libFLAC/Debug_dynamic/BuildLog.htm
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/libs/libflac/src/libFLAC/Debug_dynamic/BuildLog.htm	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/codecs/flac/libs/libflac/src/libFLAC/Debug_dynamic/BuildLog.htm	2004-05-16 10:59:20 UTC (rev 6702)
@@ -45,12 +45,12 @@
     VSCOMNTOOLS="C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\"
     windir=C:\WINDOWS
     _ACP_ATLPROV=C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin\ATLPROV.DLL
-    _ACP_INCLUDE="C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
+    _ACP_INCLUDE="C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
     _ACP_LIB=C:\DXSDK\Lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\lib;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
     _ACP_PATH=C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin;C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\bin\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio .NET\Common7\tools;C:\Program Files\Microsoft Visual Studio .NET\Common7\ide;C:\Program Files\HTML Help Workshop\;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\bin;C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel
 </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
 Command Lines
-</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Creating temporary file "C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\BAT000075.bat" with contents
+</font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Creating temporary file "C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\BAT0000D6.bat" with contents
 [
 @echo off
 echo on
@@ -62,8 +62,8 @@
 exit 1
 :VCEnd
 ]
-Creating command line "C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\BAT000075.bat"
-Creating temporary file "C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\RSP000076.rsp" with contents
+Creating command line "C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\BAT0000D6.bat"
+Creating temporary file "C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\RSP0000D7.rsp" with contents
 [
 /Od /I ".\include" /I "..\..\include" /D "_DEBUG" /D "FLAC_API_EXPORTS" /D "VERSION=\"1.1.0\"" /D "FLAC__CPU_IA32" /D "FLAC__HAS_NASM" /D "FLAC__USE_3DNOW" /D "_WINDOWS" /D "WIN32" /D "_USRDLL" /D "_WINDLL" /FD /EHsc /MDd /GR /Fp".\Debug_dynamic/libFLAC_dynamic.pch" /Fo".\Debug_dynamic/" /Fd".\Debug_dynamic/" /FR".\Debug_dynamic/" /W3 /c /ZI /Gd
 stream_encoder_framing.c
@@ -85,8 +85,8 @@
 bitmath.c
 bitbuffer.c
 ]
-Creating command line "cl.exe @C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\RSP000076.rsp /nologo"
-Creating temporary file "C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\RSP000077.rsp" with contents
+Creating command line "cl.exe @C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\RSP0000D7.rsp /nologo"
+Creating temporary file "C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\RSP0000D8.rsp" with contents
 [
 /OUT:"..\..\obj\debug\bin/libFLAC.dll" /INCREMENTAL /NOLOGO /DLL /DEBUG /PDB:".\..\..\obj\debug\lib/libFLAC.pdb" /SUBSYSTEM:WINDOWS /IMPLIB:".\..\..\obj\debug\lib/libFLAC.lib" /MACHINE:I386 odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
 Debug_dynamic\bitbuffer.obj
@@ -111,7 +111,7 @@
 ia32\fixed_asm.obj
 ia32\lpc_asm.obj
 ]
-Creating command line "link.exe @C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\RSP000077.rsp"
+Creating command line "link.exe @C:\DOCUME~1\ILLIMI~1\LOCALS~1\Temp\RSP0000D8.rsp"
 </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>
 Output Window
 </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre>Performing Custom Build Step

Modified: trunk/oggdsf/src/lib/codecs/flac/libs/libflac/src/libFLAC++/Debug_dynamic/BuildLog.htm
===================================================================
--- trunk/oggdsf/src/lib/codecs/flac/libs/libflac/src/libFLAC++/Debug_dynamic/BuildLog.htm	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/codecs/flac/libs/libflac/src/libFLAC++/Debug_dynamic/BuildLog.htm	2004-05-16 10:59:20 UTC (rev 6702)
@@ -45,7 +45,7 @@
     VSCOMNTOOLS="C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\"
     windir=C:\WINDOWS
     _ACP_ATLPROV=C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin\ATLPROV.DLL
-    _ACP_INCLUDE="C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
+    _ACP_INCLUDE="C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
     _ACP_LIB=C:\DXSDK\Lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\lib;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
     _ACP_PATH=C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin;C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\bin\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio .NET\Common7\tools;C:\Program Files\Microsoft Visual Studio .NET\Common7\ide;C:\Program Files\HTML Help Workshop\;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\bin;C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel
 </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>

Modified: trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/codecs/vorbis/filters/dsfVorbisDecoder/VorbisDecodeInputPin.cpp	2004-05-16 10:59:20 UTC (rev 6702)
@@ -109,9 +109,10 @@
         //REFERENCE_TIME locFrameStart = locThis->CurrentStartTime() + (((__int64)(locThis->mUptoFrame * UNITS)) / locThis->mSampleRate);
 
         //Start time hacks
-	REFERENCE_TIME locTimeBase = (locThis->mLastSeenStartGranPos * UNITS) / locThis->mSampleRate;
+	REFERENCE_TIME locTimeBase = ((locThis->mLastSeenStartGranPos * UNITS) / locThis->mSampleRate) - locThis->mSeekTimeBase;
         locThis->debugLog<<"Time Base  : " << locTimeBase << endl;
         locThis->debugLog<<"FrameCount : " <<locThis->mUptoFrame<<endl;
+	locThis->debugLog<<"Seek TB    : " <<locThis->mSeekTimeBase<<endl;
 
         //Temp - this will break seeking
         REFERENCE_TIME locFrameStart = locTimeBase + (((__int64)(locThis->mUptoFrame * UNITS)) / locThis->mSampleRate);

Modified: trunk/oggdsf/src/lib/codecs/vorbis/libs/libvorbis/win32/Vorbis_Dynamic_Debug/BuildLog.htm
===================================================================
--- trunk/oggdsf/src/lib/codecs/vorbis/libs/libvorbis/win32/Vorbis_Dynamic_Debug/BuildLog.htm	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/codecs/vorbis/libs/libvorbis/win32/Vorbis_Dynamic_Debug/BuildLog.htm	2004-05-16 10:59:20 UTC (rev 6702)
@@ -45,7 +45,7 @@
     VSCOMNTOOLS="C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\"
     windir=C:\WINDOWS
     _ACP_ATLPROV=C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin\ATLPROV.DLL
-    _ACP_INCLUDE="C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
+    _ACP_INCLUDE="C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
     _ACP_LIB=C:\DXSDK\Lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\lib;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
     _ACP_PATH=C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin;C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\bin\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio .NET\Common7\tools;C:\Program Files\Microsoft Visual Studio .NET\Common7\ide;C:\Program Files\HTML Help Workshop\;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\bin;C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel
 </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>

Modified: trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.cpp	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeFilter.cpp	2004-05-16 10:59:20 UTC (rev 6702)
@@ -68,6 +68,7 @@
 STDMETHODIMP AbstractAudioDecodeFilter::Stop() {
         CAutoLock locLock(m_pLock);
         mInputPin->ResetFrameCount();
+	mInputPin->ResetTimeBases();
         return CBaseFilter::Stop();
 }
 int AbstractAudioDecodeFilter::GetPinCount(void) {

Modified: trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.cpp	2004-05-16 10:59:20 UTC (rev 6702)
@@ -84,6 +84,9 @@
         mUptoFrame = 0;
         
 }
+void AbstractAudioDecodeInputPin::ResetTimeBases() {
+	mLastSeenStartGranPos = 0;
+}
 bool AbstractAudioDecodeInputPin::SetSampleParams(IMediaSample* outMediaSample, unsigned long inDataSize, REFERENCE_TIME* inStartTime, REFERENCE_TIME* inEndTime) 
 {
         outMediaSample->SetTime(inStartTime, inEndTime);

Modified: trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.h	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/directshow/dsfAbstractAudioDecoder/AbstractAudioDecodeInputPin.h	2004-05-16 10:59:20 UTC (rev 6702)
@@ -75,6 +75,7 @@
         virtual HRESULT SetMediaType(const CMediaType* inMediaType) = 0;
 
         virtual void ResetFrameCount();
+	virtual void ResetTimeBases();
 
         virtual STDMETHODIMP EndOfStream(void);
         virtual STDMETHODIMP BeginFlush();

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggDemuxSourceFilter.cpp	2004-05-16 10:59:20 UTC (rev 6702)
@@ -244,6 +244,7 @@
                 }
         
                 mSourceFile.seekg(mSeekTable->getStartPos(*pCurrent), ios_base::beg);
+		//*pCurrent = mSeekTable->getLastRealStartGranPos();
         
         
                 debugLog<<"       : Seek complete."<<endl;
@@ -255,6 +256,7 @@
                 }
                 for (unsigned long i = 0; i < mStreamMapper->numStreams(); i++) {
                         mStreamMapper->getOggStream(i)->setSendExcess(locSendExcess);	
+			mStreamMapper->getOggStream(i)->setLastEndGranPos(mSeekTable->getLastRealStartGranPos());
                 }
         } else {
                 return E_NOTIMPL;

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.cpp	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.cpp	2004-05-16 10:59:20 UTC (rev 6702)
@@ -207,6 +207,10 @@
         return true;
         
 }
+
+void OggStream::setLastEndGranPos(__int64 inGranPos) {
+	mLastEndGranulePos = inGranPos;
+}
 bool OggStream::acceptOggPage(OggPage* inOggPage) {
         //FIX::: Add proper error checking.
 

Modified: trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.h	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/directshow/dsfOggDemux/OggStream.h	2004-05-16 10:59:20 UTC (rev 6702)
@@ -48,6 +48,8 @@
         OggStream(OggPage* inBOSPage, OggDemuxSourceFilter* inOwningFilter);
         virtual ~OggStream(void);
 
+	//more hacks
+	virtual void setLastEndGranPos(__int64 inGranPos);
         unsigned long serialNo();
         //virtual bool IdentifyCodec(OggPacket* inOggPacket) = 0;
         virtual bool InitCodec(StampedOggPacket* inOggPacket) = 0;

Modified: trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.cpp	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.cpp	2004-05-16 10:59:20 UTC (rev 6702)
@@ -5,6 +5,7 @@
         //: CUnknown(NAME("Basic Seekable Thing"), NULL, &mHR)
 {
         mSeekDelegate = inDelegate;
+	mSeekTimeBase = 0;
 
                 mSeekingCap = 0;
         mSeekingCap =		AM_SEEKING_CanSeekAbsolute |
@@ -21,6 +22,7 @@
 BasicSeekable::BasicSeekable(void)
         //: CUnknown(NAME("Basic Seekable Thing"), NULL, &mHR) 
 {
+	mSeekTimeBase = 0;
         mSeekDelegate = NULL;	
         mSeekingCap =		AM_SEEKING_CanSeekAbsolute |
                                                 AM_SEEKING_CanSeekForwards |
@@ -209,7 +211,11 @@
 STDMETHODIMP BasicSeekable::SetPositions(LONGLONG* inoutCurrent, DWORD inCurrentFlags, LONGLONG* inStop, DWORD inStopFlags) {
         if (mSeekDelegate != NULL) {
                 seekDebug<<"Set pos : Passed on..."<<endl;
-		return mSeekDelegate->SetPositions(inoutCurrent, inCurrentFlags, inStop, inStopFlags);
+		HRESULT locHR = mSeekDelegate->SetPositions(inoutCurrent, inCurrentFlags, inStop, inStopFlags);
+		if (locHR == S_OK) {
+			mSeekTimeBase = *inoutCurrent;
+		}
+		return locHR;
         } else {
                 seekDebug<<"Set pos : NULL Delegate"<<endl;
                 //This is probably wrong.

Modified: trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.h
===================================================================
--- trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.h	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/directshow/dsfSeeking/BasicSeekable.h	2004-05-16 10:59:20 UTC (rev 6702)
@@ -73,6 +73,7 @@
 protected:
         IMediaSeeking* mSeekDelegate;
 
+	REFERENCE_TIME mSeekTimeBase;
         HRESULT mHR;
 
         fstream seekDebug;

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/OggSeekTable.cpp
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/OggSeekTable.cpp	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/OggSeekTable.cpp	2004-05-16 10:59:20 UTC (rev 6702)
@@ -34,6 +34,7 @@
 
 OggSeekTable::OggSeekTable(void)
         :	mEnabled(true)
+	,	mRealStartGranPos(0)
 {
         mSeekMap.clear();
         mSeekMap.empty();
@@ -51,8 +52,15 @@
         return true;
 
 }
+
+__int64 OggSeekTable::getLastRealStartGranPos() {
+	
+	return mRealStartGranPos;
+
+}
 unsigned long OggSeekTable::getStartPos(__int64 inTime) {
          pair<__int64, unsigned long> locValue = *(mSeekMap.lower_bound(inTime));
+	 mRealStartGranPos = locValue.first;
          return locValue.second;
         
 }

Modified: trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/OggSeekTable.h
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/OggSeekTable.h	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/ogg/libOOOggSeek/OggSeekTable.h	2004-05-16 10:59:20 UTC (rev 6702)
@@ -43,6 +43,7 @@
 
         bool addSeekPoint(__int64 inTime, unsigned long mStartPos);
         unsigned long getStartPos(__int64 inTime);
+	__int64 getLastRealStartGranPos();
 
         bool enabled();
 
@@ -50,6 +51,7 @@
         typedef map<__int64, unsigned long> tSeekMap;
         tSeekMap mSeekMap;
         tSeekMap::value_type mSeekValue;
+	__int64 mRealStartGranPos;
 
         bool mEnabled;
 };

Modified: trunk/oggdsf/src/lib/core/ogg/libogg/win32/Dynamic_Debug/BuildLog.htm
===================================================================
--- trunk/oggdsf/src/lib/core/ogg/libogg/win32/Dynamic_Debug/BuildLog.htm	2004-05-16 09:29:04 UTC (rev 6701)
+++ trunk/oggdsf/src/lib/core/ogg/libogg/win32/Dynamic_Debug/BuildLog.htm	2004-05-16 10:59:20 UTC (rev 6702)
@@ -45,7 +45,7 @@
     VSCOMNTOOLS="C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\"
     windir=C:\WINDOWS
     _ACP_ATLPROV=C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin\ATLPROV.DLL
-    _ACP_INCLUDE="C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
+    _ACP_INCLUDE="C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
     _ACP_LIB=C:\DXSDK\Lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\lib;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\lib;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\lib;"C:\DXSDK\Samples\C++\DirectShow\BaseClasses";C:\DXSDK\Include;..\..\ogg\libOOOgg;..\..\ogg\libOOOggSeek;..\dsfSeeking;C:\DXSDK\Include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\atlmfc\include;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Vc7\PlatformSDK\include;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\include
     _ACP_PATH=C:\Program Files\Microsoft Visual Studio .NET\Vc7\bin;C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\bin\prerelease;C:\Program Files\Microsoft Visual Studio .NET\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio .NET\Common7\tools;C:\Program Files\Microsoft Visual Studio .NET\Common7\ide;C:\Program Files\HTML Help Workshop\;C:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\bin;C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\ATI Technologies\ATI Control Panel
 </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2>

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the commits mailing list