You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(12) |
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(4) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: scottwkurth <sco...@us...> - 2005-02-09 23:10:23
|
Update of /cvsroot/tyshow/TyShow/TySplitter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2346 Modified Files: TySplitter.cpp Log Message: Fixed another bug that prevented seeking in files over 4GB. Added more debug output for failure conditions. Index: TySplitter.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/TySplitter/TySplitter.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** TySplitter.cpp 29 Jan 2005 03:38:44 -0000 1.19 --- TySplitter.cpp 9 Feb 2005 23:10:14 -0000 1.20 *************** *** 631,635 **** --- 631,638 ---- DWORD id = 0; if( S_OK != m_pFile->Read(id) ) + { + DebugLogOutput(LOC, L"Read failed.\n"); return E_FAIL; + } if( bswap32(id) == TIVO_PART_MAGIC ) *************** *** 929,933 **** --- 932,939 ---- void* buffer = 0; if( FAILED(pSample->GetPointer((BYTE**)&buffer))) + { + DebugLogOutput(LOC, L"Failed on GetPointer().\n"); return E_FAIL; + } DWORD id = *(DWORD*)buffer; *************** *** 1230,1235 **** --- 1236,1244 ---- CLSID CLSID_Mpeg2Dec_Filter = { 0x39f498af, 0x1a09, 0x4275, {0xb1, 0x93, 0x67, 0x3b, 0x0b, 0xa3, 0xd4, 0x78} }; if(clsid != CLSID_Mpeg2Dec_Filter) + { + DebugLogOutput(LOC, L"Video output pin rejecting non MPEG2DecFilter connection.\n"); // if(clsid == CLSID_VideoMixingRenderer || clsid == CLSID_OverlayMixer || clsid == CLSID_FraunhoferVideoDecoder || clsid == CLSID_Elecard_MPEG2_Video_Decoder ) return E_FAIL; + } } else if( mt.majortype == MEDIATYPE_Audio && *************** *** 1239,1243 **** --- 1248,1255 ---- CLSID CLSID_MPEG_Audio_Codec = { 0x4a2286e0, 0x7bef, 0x11ce, {0x9b, 0xd9, 0x00, 0x00, 0xe2, 0x02, 0x59, 0x9c} }; if( clsid != CLSID_MPEG_Audio_Codec ) + { + DebugLogOutput(LOC, L"Audio output pin rejecting non MPEG Audio Codec connection.\n"); return E_FAIL; + } } *************** *** 1345,1349 **** m_qwLastRecordTime = INVALID_TIMESTAMP; ! QWORD pos = chunk * TIVO_CHUNK_SIZE; Seek(pos); --- 1357,1362 ---- m_qwLastRecordTime = INVALID_TIMESTAMP; ! // scottwkurth - chunk needs to be pre-casted to a QWORD otherwise it gets truncated. ! QWORD pos = static_cast<QWORD>(chunk) * TIVO_CHUNK_SIZE; Seek(pos); *************** *** 1422,1427 **** if( time == 0 && m_pReader == 0 ) return; ! DebugLogOutput(LOC, L"SeekTime called inappropriately\n"); ! ASSERT(0 && "SeekTime called inappropriately"); return; } --- 1435,1440 ---- if( time == 0 && m_pReader == 0 ) return; ! DebugLogOutput(LOC, L"FindTime called inappropriately\n"); ! ASSERT(0 && "FindTime called inappropriately"); return; } *************** *** 1663,1667 **** --- 1676,1683 ---- } else + { + DebugLogOutput(LOC, L"ValidateChunk failed for initial chunk.\n"); return E_FAIL; + } } *************** *** 1679,1682 **** --- 1695,1699 ---- if( hr == E_FAIL ) { + DebugLogOutput(LOC, L"Parse failed during Init() processing.\n"); try { *************** *** 1746,1750 **** --- 1763,1770 ---- numReads++; if( bswap32(partHeader.magic) != TIVO_PART_MAGIC ) + { + DebugLogOutput(LOC, L"Header does not contain magic number.\n"); return E_FAIL; + } m_qwDuration = 0; *************** *** 1801,1804 **** --- 1821,1825 ---- { m_len = qwOffset; + DebugLogOutput(LOC, L"Header does not contain magic number.\n"); break; // return E_FAIL; *************** *** 1807,1811 **** --- 1828,1835 ---- // Should this ever be a problem? if( bswap32(partHeader.chunkSize) != TIVO_CHUNK_SIZE ) + { + DebugLogOutput(LOC, L"Improper chunk size.\n"); return E_FAIL; + } if( bswap32(partHeader.sizeRecBitmap) == 8 && *************** *** 1816,1822 **** --- 1840,1849 ---- m_bIsPre31Stream = false; else + { // As an improvement in reliablity, instead of failing the stream, // we should just simply turn off seeking. + DebugLogOutput(LOC, L"Unexpected header information - seeking should be disabled.\n"); return E_FAIL; + } DWORD numRecords = (bswap32(partHeader.last_recidx) - 8) / *************** *** 1892,1900 **** --- 1919,1933 ---- numReads++; if( bswap32(partHeader.magic) != TIVO_PART_MAGIC ) + { + DebugLogOutput(LOC, L"Header does not contain magic number.\n"); return E_FAIL; + } // Should this ever be a problem? if( bswap32(partHeader.chunkSize) != TIVO_CHUNK_SIZE ) + { + DebugLogOutput(LOC, L"Improper chunk size.\n"); return E_FAIL; + } if( bswap32(partHeader.sizeRecBitmap) == 8 && *************** *** 2185,2189 **** --- 2218,2225 ---- } if( totalSize > TIVO_CHUNK_SIZE - (sizeof(tyChunkHeader) + chunkHeader->numRecs * sizeof(tyChunkRec))) + { + DebugLogOutput(LOC, L"totalSize exceeds expectations.\n"); return E_FAIL; + } if( firstTime == INVALID_TIMESTAMP ) *************** *** 2201,2217 **** --- 2237,2263 ---- return S_OK; else + { + DebugLogOutput(LOC, L"TimeAtChunk is not valid for range.\n"); return E_FAIL; + } } if( m_qwLastRecordTime != INVALID_TIMESTAMP ) { if( firstTime < m_qwLastRecordTime ) + { + DebugLogOutput(LOC, L"Time preceeds last record time.\n"); return E_FAIL; + } if( firstTime - m_qwLastRecordTime >= 5000000000 ) + { + DebugLogOutput(LOC, L"Time exceeds threshold.\n"); return E_FAIL; + } } } catch(...) { + DebugLogOutput(LOC, L"Caught an exception while validating.\n"); return E_FAIL; } |
From: scottwkurth <sco...@us...> - 2005-01-29 03:38:57
|
Update of /cvsroot/tyshow/TyShow/TySplitter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11982 Modified Files: TySplitter.cpp Log Message: Changed to fail out of parsing chunks that cannot be properly validated for compatibility with some streaming programs. Index: TySplitter.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/TySplitter/TySplitter.cpp,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** TySplitter.cpp 29 Jan 2005 02:58:20 -0000 1.18 --- TySplitter.cpp 29 Jan 2005 03:38:44 -0000 1.19 *************** *** 2008,2012 **** { DebugLogOutput(LOC, L"Chunk %d is not able to be parsed. Skipping...\n", chunkNumber); ! return S_OK; } --- 2008,2015 ---- { DebugLogOutput(LOC, L"Chunk %d is not able to be parsed. Skipping...\n", chunkNumber); ! // scottwkurth - From desh (http://www.dealdatabase.com/forum/showthread.php?t=27399&page=41&pp=15 ! // post #610), fail out chunks that cannot be validated to allow them to be skipped. ! // return S_OK; ! return E_FAIL; } *************** *** 2152,2156 **** { DebugLogOutput(LOC, L"Chunk %d had bad header.. skipping\n",chunkNumber); ! return S_OK; } if( chunkHeader->numRecs > 1000 ) --- 2155,2162 ---- { DebugLogOutput(LOC, L"Chunk %d had bad header.. skipping\n",chunkNumber); ! // scottwkurth - From desh (http://www.dealdatabase.com/forum/showthread.php?t=27399&page=41&pp=15 ! // post #610), fail out chunks that cannot be validated to allow them to be skipped. ! // return S_OK; ! return E_FAIL; } if( chunkHeader->numRecs > 1000 ) *************** *** 2158,2162 **** //1000 value borrowed from tydemux project DebugLogOutput(LOC, L"Chunk %d had records overflow skipping\n",chunkNumber); ! return S_OK; } --- 2164,2171 ---- //1000 value borrowed from tydemux project DebugLogOutput(LOC, L"Chunk %d had records overflow skipping\n",chunkNumber); ! // scottwkurth - From desh (http://www.dealdatabase.com/forum/showthread.php?t=27399&page=41&pp=15 ! // post #610), fail out chunks that cannot be validated to allow them to be skipped. ! // return S_OK; ! return E_FAIL; } |
From: scottwkurth <sco...@us...> - 2005-01-29 02:58:28
|
Update of /cvsroot/tyshow/TyShow/TySplitter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4458 Modified Files: TySplitter.cpp Log Message: Changed to fix 4GB barrier bug. Index: TySplitter.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/TySplitter/TySplitter.cpp,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** TySplitter.cpp 23 Sep 2004 15:35:47 -0000 1.17 --- TySplitter.cpp 29 Jan 2005 02:58:20 -0000 1.18 *************** *** 1838,1842 **** { BYTE bitmap = *pBitmap; ! while( bitmap ) { if( bitmap & 1 ) --- 1838,1844 ---- { BYTE bitmap = *pBitmap; ! // scottwkurth - Changed for consistency with other loop. ! // while( bitmap ) ! for( int iBit = 0; iBit < 8; iBit++ ) { if( bitmap & 1 ) *************** *** 1873,1877 **** DWORD realNumChunks = 0; ! for( DWORD iPart = 0, currChunk = 0, qwOffset = 0; iPart < m_dwNumParts; iPart++ ) { tyPartHeader partHeader; --- 1875,1888 ---- DWORD realNumChunks = 0; ! // scottwkurth - By placing the re-initialization of qwOffset inside ! // the for declaration, it was inadvertently being superceded by a ! // local qwOffset of type DWORD. ! // DWORD iPart = 0, currChunk = 0, qwOffset = 0; ! // is equivalent to ! // DWORD iPart = 0; ! // DWORD currChunk = 0; ! // DWORD qwOffset = 0; ! qwOffset = 0; ! for( DWORD iPart = 0, currChunk = 0/*, qwOffset = 0*/; iPart < m_dwNumParts; iPart++ ) { tyPartHeader partHeader; |
From: scottwkurth <sco...@us...> - 2005-01-29 02:52:41
|
Update of /cvsroot/tyshow/TyShow/TySplitter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3461 Modified Files: TyFile.cpp Log Message: Changed to reflect #include directory semantics. Index: TyFile.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/TySplitter/TyFile.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** TyFile.cpp 23 Sep 2004 15:35:47 -0000 1.1 --- TyFile.cpp 29 Jan 2005 02:52:30 -0000 1.2 *************** *** 1 **** ! #include <stdafx.h> \ No newline at end of file --- 1 ---- ! #include "stdafx.h" \ No newline at end of file |
From: scottwkurth <sco...@us...> - 2005-01-28 05:27:58
|
Update of /cvsroot/tyshow/TyShow/mpeg2decfilter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5607 Modified Files: Mpeg2DecFilter.cpp Log Message: Fixed filter MERIT value. Index: Mpeg2DecFilter.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/mpeg2decfilter/Mpeg2DecFilter.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Mpeg2DecFilter.cpp 23 Sep 2004 15:35:50 -0000 1.2 --- Mpeg2DecFilter.cpp 28 Jan 2005 05:27:48 -0000 1.3 *************** *** 80,84 **** const AMOVIESETUP_FILTER sudFilter[] = { ! {&__uuidof(CMpeg2DecFilter), L"Mpeg2Dec Filter", 0x40000002/*MERIT_PREFERRED*//*MERIT_DO_NOT_USE*/, sizeof(sudpPins)/sizeof(sudpPins[0]), sudpPins}, }; --- 80,86 ---- const AMOVIESETUP_FILTER sudFilter[] = { ! // scottwkurth - removed hardcoded merit value - MERIT_DO_NOT_USE is defined as 0x04000000, not 0x40000000 ! // {&__uuidof(CMpeg2DecFilter), L"Mpeg2Dec Filter", 0x40000002/*MERIT_PREFERRED*//*MERIT_DO_NOT_USE*/, sizeof(sudpPins)/sizeof(sudpPins[0]), sudpPins}, ! {&__uuidof(CMpeg2DecFilter), L"Mpeg2Dec Filter", MERIT_DO_NOT_USE + 0x02, sizeof(sudpPins)/sizeof(sudpPins[0]), sudpPins}, }; |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:39:43
|
Update of /cvsroot/tyshow/TyShow/util In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3364 Modified Files: Xfer.cpp Log Message: Update Index: Xfer.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/util/Xfer.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Xfer.cpp 21 Oct 2003 15:45:26 -0000 1.1 --- Xfer.cpp 23 Sep 2004 15:39:33 -0000 1.2 *************** *** 1,669 **** #include "StdAfx.h" ! #include <windows.h> ! #include <process.h> ! #include <vector> ! #include <assert.h> ! #include "Xfer.h" ! ! volatile LONG CShareMemXfer::cbInitialized = 0; ! ! CShareMemXfer::CShareMemXfer(bool bIsServer, bool& bInitialized) [...1312 lines suppressed...] ! buffer[i] = L'\0'; ! ! wsprintf(buffer + wcslen(buffer), L"(%d) %d:%d:%d.%06.6d -- ", line, st.wHour, st.wMinute, st.wSecond, st.wMilliseconds); ! va_list v; ! va_start(v, lpOutputString); ! DWORD len = wvsprintf(buffer + wcslen(buffer), lpOutputString, v); ! va_end(v); ! OutputDebugString(buffer); ! return xfer->WriteMessage(buffer, (wcslen(buffer)+1) * sizeof(wchar_t)); ! } ! ! void TerminateDebugLog() ! { ! if( xfer ) ! { ! delete xfer; ! xfer = 0; ! } } \ No newline at end of file |
Update of /cvsroot/tyshow/TyShow/DbgMon In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/DbgMon Modified Files: DbgMon.aps DbgMon.cpp DbgMon.rc DbgMon.vcproj DbgMonDoc.cpp DbgMonDoc.h DbgMonFrame.cpp DbgMonFrame.h DbgMonView.cpp DbgMonView.h Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes Index: DbgMonView.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/DbgMon/DbgMonView.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DbgMonView.h 16 Oct 2003 23:22:20 -0000 1.1 --- DbgMonView.h 23 Sep 2004 15:35:46 -0000 1.2 *************** *** 1,76 **** ! // DbgMonView.h : interface of the CDbgMonView class ! // ! ! ! #pragma once ! ! ! class CDbgMonView : public CScrollView ! { ! protected: // create from serialization only ! CDbgMonView(); ! DECLARE_DYNCREATE(CDbgMonView) ! ! // Attributes ! public: ! CDbgMonDoc* GetDocument() const; ! ! // Operations ! public: ! void OnClose(); ! ! // Overrides ! public: ! virtual void OnDraw(CDC* pDC); // overridden to draw this view ! virtual BOOL PreCreateWindow(CREATESTRUCT& cs); ! virtual void OnInitialUpdate(); ! protected: ! virtual BOOL OnPreparePrinting(CPrintInfo* pInfo); ! virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo); ! virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo); ! afx_msg void OnSize(UINT nType, int cx, int cy); ! afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); ! ! // Implementation ! public: ! virtual ~CDbgMonView(); ! #ifdef _DEBUG ! virtual void AssertValid() const; ! virtual void Dump(CDumpContext& dc) const; ! #endif ! ! protected: ! int m_iFontHeight; ! int m_iFontWidth; ! int m_iViewHeight; ! int m_iLastLine; ! double m_iScale; ! int m_iWndLines; ! int m_iFirstLine; ! int m_iCurrentLine; ! CFont *m_cfFixedFont; ! CFont *m_cfBoldFont; ! CFont *m_cfPrintFont; ! CFont *m_cfPrintBoldFont; ! bool m_bTrackingLastLine; ! virtual void UpdateScrollSizes(); ! virtual void UpdateScroll(unsigned __int64 orig, bool NewLine); ! virtual int GetTotalLines(); ! ! void AddMessage(wchar_t* text); ! HANDLE m_hThread; ! HANDLE m_hExitEvent; ! ! static DWORD WINAPI ThunkMessageThread(LPVOID); ! DWORD MessageThread(); ! ! // Generated message map functions ! protected: ! DECLARE_MESSAGE_MAP() ! }; ! ! #ifndef _DEBUG // debug version in DbgMonView.cpp ! inline CDbgMonDoc* CDbgMonView::GetDocument() const ! { return reinterpret_cast<CDbgMonDoc*>(m_pDocument); } ! #endif ! --- 1,76 ---- ! // DbgMonView.h : interface of the CDbgMonView class ! // ! ! ! #pragma once ! ! ! class CDbgMonView : public CScrollView ! { ! protected: // create from serialization only ! CDbgMonView(); ! DECLARE_DYNCREATE(CDbgMonView) ! ! // Attributes ! public: ! CDbgMonDoc* GetDocument() const; ! ! // Operations ! public: ! void OnClose(); ! ! // Overrides ! public: ! virtual void OnDraw(CDC* pDC); // overridden to draw this view ! virtual BOOL PreCreateWindow(CREATESTRUCT& cs); ! virtual void OnInitialUpdate(); ! protected: ! virtual BOOL OnPreparePrinting(CPrintInfo* pInfo); ! virtual void OnBeginPrinting(CDC* pDC, CPrintInfo* pInfo); ! virtual void OnEndPrinting(CDC* pDC, CPrintInfo* pInfo); ! afx_msg void OnSize(UINT nType, int cx, int cy); ! afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar); ! ! // Implementation ! public: ! virtual ~CDbgMonView(); ! #ifdef _DEBUG ! virtual void AssertValid() const; ! virtual void Dump(CDumpContext& dc) const; ! #endif ! ! protected: ! int m_iFontHeight; ! int m_iFontWidth; ! int m_iViewHeight; ! int m_iLastLine; ! double m_iScale; ! int m_iWndLines; ! int m_iFirstLine; ! int m_iCurrentLine; ! CFont *m_cfFixedFont; ! CFont *m_cfBoldFont; ! CFont *m_cfPrintFont; ! CFont *m_cfPrintBoldFont; ! bool m_bTrackingLastLine; ! virtual void UpdateScrollSizes(); ! virtual void UpdateScroll(unsigned __int64 orig, bool NewLine); ! virtual int GetTotalLines(); ! ! void AddMessage(wchar_t* text); ! HANDLE m_hThread; ! HANDLE m_hExitEvent; ! ! static DWORD WINAPI ThunkMessageThread(LPVOID); ! DWORD MessageThread(); ! ! // Generated message map functions ! protected: ! DECLARE_MESSAGE_MAP() ! }; ! ! #ifndef _DEBUG // debug version in DbgMonView.cpp ! inline CDbgMonDoc* CDbgMonView::GetDocument() const ! { return reinterpret_cast<CDbgMonDoc*>(m_pDocument); } ! #endif ! Index: DbgMonView.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/DbgMon/DbgMonView.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DbgMonView.cpp 16 Oct 2003 23:22:20 -0000 1.1 --- DbgMonView.cpp 23 Sep 2004 15:35:46 -0000 1.2 *************** *** 1,405 **** ! // DbgMonView.cpp : implementation of the CDbgMonView class ! // ! ! #include "stdafx.h" ! #include "DbgMon.h" ! ! #include "DbgMonDoc.h" ! #include "DbgMonView.h" ! #include "..\util\xfer.h" ! #include ".\dbgmonview.h" ! ! #ifdef _DEBUG ! #define new DEBUG_NEW ! #endif ! ! ! // CDbgMonView ! CShareMemXfer* xfer; ! ! IMPLEMENT_DYNCREATE(CDbgMonView, CScrollView) ! ! BEGIN_MESSAGE_MAP(CDbgMonView, CScrollView) ! ON_WM_SIZE() ! ON_WM_VSCROLL() ! // Standard printing commands ! ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint) ! ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint) ! ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview) ! END_MESSAGE_MAP() ! ! // CDbgMonView construction/destruction ! ! CDbgMonView::CDbgMonView() ! { ! m_cfFixedFont = new(CFont); ! m_cfFixedFont->CreateStockObject(ANSI_FIXED_FONT); ! m_cfBoldFont = new CFont; ! ! // try and create the new font for the list box ! // it should be the same as the old but without the BOLD weight ! LOGFONT oldFont; ! m_cfFixedFont->GetObject(sizeof(LOGFONT), &oldFont); ! ! oldFont.lfUnderline = TRUE; ! ! m_cfBoldFont->CreateFontIndirect(&oldFont); ! m_cfPrintFont = NULL; ! m_cfPrintBoldFont = NULL; ! ! m_iLastLine = 0; ! m_iWndLines = 0; ! m_iFirstLine = 0; ! ! m_iCurrentLine = 0; ! m_bTrackingLastLine = true; ! ! xfer = NULL; ! ! DWORD id; ! m_hExitEvent = CreateEvent(NULL, FALSE, FALSE, NULL); ! m_hThread = CreateThread(NULL, 0, ThunkMessageThread, this, 0, &id); ! } ! ! CDbgMonView::~CDbgMonView() ! { ! if( m_cfFixedFont ) ! delete m_cfFixedFont; ! if( m_cfBoldFont ) ! delete m_cfBoldFont; ! if( m_cfPrintFont ) ! delete m_cfPrintFont; ! ! CloseHandle(m_hThread); ! } ! ! void CDbgMonView::OnClose() ! { ! SetEvent(m_hExitEvent); ! WaitForSingleObject(m_hThread, 60*1000); ! if( xfer ) ! { ! delete xfer; ! xfer = 0; ! } ! } ! ! void CDbgMonView::AddMessage(wchar_t* text) ! { ! CDbgMonDoc* pDoc = GetDocument(); ! if( pDoc ) ! { ! pDoc->AddMessage(text); ! ! UpdateScrollSizes(); ! if( m_bTrackingLastLine ) ! { ! int old = m_iFirstLine; ! m_iFirstLine = pDoc->GetNumLines() - 1; ! UpdateScroll(old, true); ! } ! } ! } ! ! DWORD CDbgMonView::ThunkMessageThread(LPVOID param) ! { ! CDbgMonView* This = (CDbgMonView*)param; ! return This->MessageThread(); ! ! } ! ! DWORD CDbgMonView::MessageThread() ! { ! wchar_t buffer[1024]; ! ! bool bInitialized = false; ! xfer = new CShareMemXfer(false, bInitialized); ! if( xfer && !bInitialized ) ! { ! delete xfer; ! xfer = 0; ! } ! ! bool bMustExit = false; ! while( !bMustExit ) ! { ! if( xfer ) ! { ! bool bConnected = false; ! while(!bConnected && !bMustExit) ! { ! std::vector<DWORD> list; ! xfer->GetServerList(list); ! for( std::vector<DWORD>::iterator i = list.begin(); i != list.end(); i++ ) ! { ! if( xfer->Connect(*i) ) ! { ! bConnected = true; ! break; ! } ! } ! if( !bConnected ) ! bMustExit = WaitForSingleObject(m_hExitEvent, 1000) != WAIT_TIMEOUT; ! } ! } ! ! while( !bMustExit ) ! { ! bool bMustDisconnect = false; ! bool bGotMessage = xfer->WaitForMessage(1000, bMustDisconnect); ! if( WaitForSingleObject(m_hExitEvent, 0) != WAIT_TIMEOUT ) ! { ! bMustExit = true; ! break; ! } ! if( bMustDisconnect ) ! break; ! ! if( bGotMessage ) ! { ! DWORD len = xfer->ReadMessage(buffer, 1024); ! if( len ) ! AddMessage(buffer); ! } ! } ! xfer->Disconnect(); ! } ! return 0; ! } ! ! BOOL CDbgMonView::PreCreateWindow(CREATESTRUCT& cs) ! { ! // TODO: Modify the Window class or styles here by modifying ! // the CREATESTRUCT cs ! ! return CScrollView::PreCreateWindow(cs); ! } ! ! // CDbgMonView drawing ! ! void CDbgMonView::OnDraw(CDC* pDC) ! { ! CDbgMonDoc* pDoc = GetDocument(); ! ASSERT_VALID(pDoc); ! if (!pDoc) ! return; ! ! CFont* pOldFont = pDC->SelectObject(m_cfFixedFont); ! ! for( int i = 0; i < m_iWndLines; i++ ) ! { ! wchar_t buffer[256]; ! wsprintf(buffer, L"Line: %d", i+m_iFirstLine); ! pDC->TextOut(10, m_iFontHeight * (i+m_iFirstLine), pDoc->GetLine(i+m_iFirstLine)); ! } ! pDC->SelectObject(pOldFont); ! } ! ! ! // CDbgMonView printing ! ! BOOL CDbgMonView::OnPreparePrinting(CPrintInfo* pInfo) ! { ! // default preparation ! return DoPreparePrinting(pInfo); ! } ! ! void CDbgMonView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) ! { ! // TODO: add extra initialization before printing ! } ! ! void CDbgMonView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) ! { ! // TODO: add cleanup after printing ! } ! ! ! // CDbgMonView diagnostics ! ! #ifdef _DEBUG ! void CDbgMonView::AssertValid() const ! { ! CScrollView::AssertValid(); ! } ! ! void CDbgMonView::Dump(CDumpContext& dc) const ! { ! CScrollView::Dump(dc); ! } ! ! CDbgMonDoc* CDbgMonView::GetDocument() const // non-debug version is inline ! { ! ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CDbgMonDoc))); ! return (CDbgMonDoc*)m_pDocument; ! } ! #endif //_DEBUG ! ! void CDbgMonView::OnInitialUpdate() ! { ! m_iLastLine = 0; ! m_iWndLines = 0; ! m_iFirstLine = 0; ! ! CScrollView::OnInitialUpdate(); ! ! UpdateScrollSizes(); ! } ! void CDbgMonView::UpdateScrollSizes() ! { ! // UpdateScrollSizes() is called when it is necessary to adjust the ! // scrolling range or page/line sizes. There are two occassions ! // where this is necessary: (1) when a new row is added-- see ! // UpdateRow()-- and (2) when the window size changes-- see OnSize(). ! CRect rectClient; ! GetClientRect(&rectClient); ! ! CClientDC dc(this); ! TEXTMETRIC tm; ! dc.GetTextMetrics(&tm); ! m_iFontHeight = tm.tmHeight + tm.tmExternalLeading; ! m_iFontWidth = tm.tmAveCharWidth; ! ! CSize sz; ! sz.cx = m_iFontWidth * 80; ! CDbgMonDoc* pDoc = GetDocument(); ! sz.cy = m_iViewHeight = GetTotalLines(); ! ! m_iLastLine = m_iViewHeight; ! ! // The vert scrolling range is the total display height of all ! // of the rows. ! CSize sizeTotal(sz.cx, ! m_iFontHeight * (min(m_iViewHeight, INT_MAX / m_iFontHeight - 1))); ! ! m_iWndLines = rectClient.bottom/m_iFontHeight; ! if( rectClient.bottom % m_iFontHeight ) ! m_iWndLines++; ! // The vertical per-page scrolling distance is equal to the ! // how many rows can be displayed in the current window, less ! // one row for paging overlap. ! CSize sizePage(sz.cx, (m_iWndLines-1) * m_iFontHeight); ! ! // The vertical per-line scrolling distance is equal to the ! // height of the row. ! CSize sizeLine(sz.cx, m_iFontHeight); ! ! SetScrollSizes(MM_TEXT, sizeTotal, sizePage, sizeLine); ! ! if (sizePage.cy >= sizeTotal.cy) ! { ! m_iFirstLine = 0; ! SetScrollPos(SB_VERT, 0, TRUE); ! } ! else ! { ! int iPos = 0; ! if ((m_iLastLine - m_iWndLines) * m_iFontHeight) // No divide by 0 ! iPos = (m_iViewHeight * m_iFirstLine) / (m_iLastLine - m_iWndLines) * m_iFontHeight; ! SetScrollPos(SB_VERT, iPos, TRUE); ! } ! } ! ! void CDbgMonView::OnSize(UINT nType, int cx, int cy) ! { ! UpdateScrollSizes(); ! CScrollView::OnSize(nType, cx, cy); ! } ! ! ! void CDbgMonView::OnVScroll(UINT nSBCode, UINT _nPos, CScrollBar* pScrollBar) ! { ! unsigned __int64 oldLine = m_iFirstLine; ! unsigned __int64 nPos = _nPos; ! ! switch (nSBCode) ! { ! case SB_TOP: ! m_iFirstLine = 0; ! m_bTrackingLastLine = false; ! break; ! ! case SB_BOTTOM: ! if( m_iLastLine < m_iWndLines ) ! m_iLastLine = 0; ! else ! m_iFirstLine = m_iLastLine - m_iWndLines; ! m_bTrackingLastLine = true; ! break; ! ! case SB_LINEUP: ! if( m_iFirstLine != 0 ) ! m_iFirstLine--; ! m_bTrackingLastLine = false; ! break; ! ! case SB_PAGEUP: ! if( m_iFirstLine < m_iWndLines ) ! m_iFirstLine = 0; ! else ! m_iFirstLine -= m_iWndLines; ! m_bTrackingLastLine = false; ! break; ! ! case SB_LINEDOWN: ! m_iFirstLine++; ! break; ! ! case SB_PAGEDOWN: ! m_iFirstLine += m_iWndLines; ! break; ! ! case SB_THUMBPOSITION: ! case SB_THUMBTRACK: ! SCROLLINFO lpScrollInfo; ! GetScrollInfo(SB_VERT, &lpScrollInfo); ! nPos = lpScrollInfo.nTrackPos; ! m_iFirstLine = (int)(((unsigned __int64)nPos) / ((unsigned __int64)m_iFontHeight)); ! m_bTrackingLastLine = false; ! break; ! ! default: ! return; ! } ! ! UpdateScroll(oldLine, false); ! } ! ! void CDbgMonView::UpdateScroll(unsigned __int64 orig, bool newLine) ! { ! if (m_iFirstLine >= m_iLastLine - m_iWndLines && m_iLastLine > m_iWndLines) ! { ! m_bTrackingLastLine = true; ! m_iFirstLine = m_iLastLine - m_iWndLines; ! } ! if (m_iFirstLine < 0) m_iFirstLine = 0; ! if (m_iWndLines >= m_iLastLine) ! { ! m_iFirstLine = 0; ! if( newLine ) ! Invalidate(TRUE); ! } ! ! if( orig != m_iFirstLine ) ! { ! int iPos = 0; ! if (m_iWndLines < m_iLastLine) ! iPos = m_iFirstLine * m_iFontHeight; ! ! SetScrollPos(SB_VERT, iPos, TRUE); ! Invalidate(TRUE); ! } ! } ! ! int CDbgMonView::GetTotalLines() ! { ! CDbgMonDoc* pDoc = GetDocument(); ! if (!pDoc) ! return 0; ! ! return pDoc->GetNumLines(); ! } ! ! ! // CDbgMonView message handlers ! --- 1,405 ---- ! // DbgMonView.cpp : implementation of the CDbgMonView class ! // ! ! #include "stdafx.h" ! #include "DbgMon.h" ! ! #include "DbgMonDoc.h" ! #include "DbgMonView.h" ! #include "..\util\xfer.h" ! #include ".\dbgmonview.h" ! ! #ifdef _DEBUG ! #define new DEBUG_NEW ! #endif ! ! ! // CDbgMonView ! CShareMemXfer* xfer; ! ! IMPLEMENT_DYNCREATE(CDbgMonView, CScrollView) ! ! BEGIN_MESSAGE_MAP(CDbgMonView, CScrollView) ! ON_WM_SIZE() ! ON_WM_VSCROLL() ! // Standard printing commands ! ON_COMMAND(ID_FILE_PRINT, CScrollView::OnFilePrint) ! ON_COMMAND(ID_FILE_PRINT_DIRECT, CScrollView::OnFilePrint) ! ON_COMMAND(ID_FILE_PRINT_PREVIEW, CScrollView::OnFilePrintPreview) ! END_MESSAGE_MAP() ! ! // CDbgMonView construction/destruction ! ! CDbgMonView::CDbgMonView() ! { ! m_cfFixedFont = new(CFont); ! m_cfFixedFont->CreateStockObject(ANSI_FIXED_FONT); ! m_cfBoldFont = new CFont; ! ! // try and create the new font for the list box ! // it should be the same as the old but without the BOLD weight ! LOGFONT oldFont; ! m_cfFixedFont->GetObject(sizeof(LOGFONT), &oldFont); ! ! oldFont.lfUnderline = TRUE; ! ! m_cfBoldFont->CreateFontIndirect(&oldFont); ! m_cfPrintFont = NULL; ! m_cfPrintBoldFont = NULL; ! ! m_iLastLine = 0; ! m_iWndLines = 0; ! m_iFirstLine = 0; ! ! m_iCurrentLine = 0; ! m_bTrackingLastLine = true; ! ! xfer = NULL; ! ! DWORD id; ! m_hExitEvent = CreateEvent(NULL, FALSE, FALSE, NULL); ! m_hThread = CreateThread(NULL, 0, ThunkMessageThread, this, 0, &id); ! } ! ! CDbgMonView::~CDbgMonView() ! { ! if( m_cfFixedFont ) ! delete m_cfFixedFont; ! if( m_cfBoldFont ) ! delete m_cfBoldFont; ! if( m_cfPrintFont ) ! delete m_cfPrintFont; ! ! CloseHandle(m_hThread); ! } ! ! void CDbgMonView::OnClose() ! { ! SetEvent(m_hExitEvent); ! WaitForSingleObject(m_hThread, 60*1000); ! if( xfer ) ! { ! delete xfer; ! xfer = 0; ! } ! } ! ! void CDbgMonView::AddMessage(wchar_t* text) ! { ! CDbgMonDoc* pDoc = GetDocument(); ! if( pDoc ) ! { ! pDoc->AddMessage(text); ! ! UpdateScrollSizes(); ! if( m_bTrackingLastLine ) ! { ! int old = m_iFirstLine; ! m_iFirstLine = pDoc->GetNumLines() - 1; ! UpdateScroll(old, true); ! } ! } ! } ! ! DWORD CDbgMonView::ThunkMessageThread(LPVOID param) ! { ! CDbgMonView* This = (CDbgMonView*)param; ! return This->MessageThread(); ! ! } ! ! DWORD CDbgMonView::MessageThread() ! { ! wchar_t buffer[1024]; ! ! bool bInitialized = false; ! xfer = new CShareMemXfer(false, bInitialized); ! if( xfer && !bInitialized ) ! { ! delete xfer; ! xfer = 0; ! } ! ! bool bMustExit = false; ! while( !bMustExit ) ! { ! if( xfer ) ! { ! bool bConnected = false; ! while(!bConnected && !bMustExit) ! { ! std::vector<DWORD> list; ! xfer->GetServerList(list); ! for( std::vector<DWORD>::iterator i = list.begin(); i != list.end(); i++ ) ! { ! if( xfer->Connect(*i) ) ! { ! bConnected = true; ! break; ! } ! } ! if( !bConnected ) ! bMustExit = WaitForSingleObject(m_hExitEvent, 1000) != WAIT_TIMEOUT; ! } ! } ! ! while( !bMustExit ) ! { ! bool bMustDisconnect = false; ! bool bGotMessage = xfer->WaitForMessage(1000, bMustDisconnect); ! if( WaitForSingleObject(m_hExitEvent, 0) != WAIT_TIMEOUT ) ! { ! bMustExit = true; ! break; ! } ! if( bMustDisconnect ) ! break; ! ! if( bGotMessage ) ! { ! DWORD len = xfer->ReadMessage(buffer, 1024); ! if( len ) ! AddMessage(buffer); ! } ! } ! xfer->Disconnect(); ! } ! return 0; ! } ! ! BOOL CDbgMonView::PreCreateWindow(CREATESTRUCT& cs) ! { ! // TODO: Modify the Window class or styles here by modifying ! // the CREATESTRUCT cs ! ! return CScrollView::PreCreateWindow(cs); ! } ! ! // CDbgMonView drawing ! ! void CDbgMonView::OnDraw(CDC* pDC) ! { ! CDbgMonDoc* pDoc = GetDocument(); ! ASSERT_VALID(pDoc); ! if (!pDoc) ! return; ! ! CFont* pOldFont = pDC->SelectObject(m_cfFixedFont); ! ! for( int i = 0; i < m_iWndLines; i++ ) ! { ! wchar_t buffer[256]; ! wsprintf(buffer, L"Line: %d", i+m_iFirstLine); ! pDC->TextOut(10, m_iFontHeight * (i+m_iFirstLine), pDoc->GetLine(i+m_iFirstLine)); ! } ! pDC->SelectObject(pOldFont); ! } ! ! ! // CDbgMonView printing ! ! BOOL CDbgMonView::OnPreparePrinting(CPrintInfo* pInfo) ! { ! // default preparation ! return DoPreparePrinting(pInfo); ! } ! ! void CDbgMonView::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) ! { ! // TODO: add extra initialization before printing ! } ! ! void CDbgMonView::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/) ! { ! // TODO: add cleanup after printing ! } ! ! ! // CDbgMonView diagnostics ! ! #ifdef _DEBUG ! void CDbgMonView::AssertValid() const ! { ! CScrollView::AssertValid(); ! } ! ! void CDbgMonView::Dump(CDumpContext& dc) const ! { ! CScrollView::Dump(dc); ! } ! ! CDbgMonDoc* CDbgMonView::GetDocument() const // non-debug version is inline ! { ! ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CDbgMonDoc))); ! return (CDbgMonDoc*)m_pDocument; ! } ! #endif //_DEBUG ! ! void CDbgMonView::OnInitialUpdate() ! { ! m_iLastLine = 0; ! m_iWndLines = 0; ! m_iFirstLine = 0; ! ! CScrollView::OnInitialUpdate(); ! ! UpdateScrollSizes(); ! } ! void CDbgMonView::UpdateScrollSizes() ! { ! // UpdateScrollSizes() is called when it is necessary to adjust the ! // scrolling range or page/line sizes. There are two occassions ! // where this is necessary: (1) when a new row is added-- see ! // UpdateRow()-- and (2) when the window size changes-- see OnSize(). ! CRect rectClient; ! GetClientRect(&rectClient); ! ! CClientDC dc(this); ! TEXTMETRIC tm; ! dc.GetTextMetrics(&tm); ! m_iFontHeight = tm.tmHeight + tm.tmExternalLeading; ! m_iFontWidth = tm.tmAveCharWidth; ! ! CSize sz; ! sz.cx = m_iFontWidth * 80; ! CDbgMonDoc* pDoc = GetDocument(); ! sz.cy = m_iViewHeight = GetTotalLines(); ! ! m_iLastLine = m_iViewHeight; ! ! // The vert scrolling range is the total display height of all ! // of the rows. ! CSize sizeTotal(sz.cx, ! m_iFontHeight * (min(m_iViewHeight, INT_MAX / m_iFontHeight - 1))); ! ! m_iWndLines = rectClient.bottom/m_iFontHeight; ! if( rectClient.bottom % m_iFontHeight ) ! m_iWndLines++; ! // The vertical per-page scrolling distance is equal to the ! // how many rows can be displayed in the current window, less ! // one row for paging overlap. ! CSize sizePage(sz.cx, (m_iWndLines-1) * m_iFontHeight); ! ! // The vertical per-line scrolling distance is equal to the ! // height of the row. ! CSize sizeLine(sz.cx, m_iFontHeight); ! ! SetScrollSizes(MM_TEXT, sizeTotal, sizePage, sizeLine); ! ! if (sizePage.cy >= sizeTotal.cy) ! { ! m_iFirstLine = 0; ! SetScrollPos(SB_VERT, 0, TRUE); ! } ! else ! { ! int iPos = 0; ! if ((m_iLastLine - m_iWndLines) * m_iFontHeight) // No divide by 0 ! iPos = (m_iViewHeight * m_iFirstLine) / (m_iLastLine - m_iWndLines) * m_iFontHeight; ! SetScrollPos(SB_VERT, iPos, TRUE); ! } ! } ! ! void CDbgMonView::OnSize(UINT nType, int cx, int cy) ! { ! UpdateScrollSizes(); ! CScrollView::OnSize(nType, cx, cy); ! } ! ! ! void CDbgMonView::OnVScroll(UINT nSBCode, UINT _nPos, CScrollBar* pScrollBar) ! { ! unsigned __int64 oldLine = m_iFirstLine; ! unsigned __int64 nPos = _nPos; ! ! switch (nSBCode) ! { ! case SB_TOP: ! m_iFirstLine = 0; ! m_bTrackingLastLine = false; ! break; ! ! case SB_BOTTOM: ! if( m_iLastLine < m_iWndLines ) ! m_iLastLine = 0; ! else ! m_iFirstLine = m_iLastLine - m_iWndLines; ! m_bTrackingLastLine = true; ! break; ! ! case SB_LINEUP: ! if( m_iFirstLine != 0 ) ! m_iFirstLine--; ! m_bTrackingLastLine = false; ! break; ! ! case SB_PAGEUP: ! if( m_iFirstLine < m_iWndLines ) ! m_iFirstLine = 0; ! else ! m_iFirstLine -= m_iWndLines; ! m_bTrackingLastLine = false; ! break; ! ! case SB_LINEDOWN: ! m_iFirstLine++; ! break; ! ! case SB_PAGEDOWN: ! m_iFirstLine += m_iWndLines; ! break; ! ! case SB_THUMBPOSITION: ! case SB_THUMBTRACK: ! SCROLLINFO lpScrollInfo; ! GetScrollInfo(SB_VERT, &lpScrollInfo); ! nPos = lpScrollInfo.nTrackPos; ! m_iFirstLine = (int)(((unsigned __int64)nPos) / ((unsigned __int64)m_iFontHeight)); ! m_bTrackingLastLine = false; ! break; ! ! default: ! return; ! } ! ! UpdateScroll(oldLine, false); ! } ! ! void CDbgMonView::UpdateScroll(unsigned __int64 orig, bool newLine) ! { ! if (m_iFirstLine >= m_iLastLine - m_iWndLines && m_iLastLine > m_iWndLines) ! { ! m_bTrackingLastLine = true; ! m_iFirstLine = m_iLastLine - m_iWndLines; ! } ! if (m_iFirstLine < 0) m_iFirstLine = 0; ! if (m_iWndLines >= m_iLastLine) ! { ! m_iFirstLine = 0; ! if( newLine ) ! Invalidate(TRUE); ! } ! ! if( orig != m_iFirstLine ) ! { ! int iPos = 0; ! if (m_iWndLines < m_iLastLine) ! iPos = m_iFirstLine * m_iFontHeight; ! ! SetScrollPos(SB_VERT, iPos, TRUE); ! Invalidate(TRUE); ! } ! } ! ! int CDbgMonView::GetTotalLines() ! { ! CDbgMonDoc* pDoc = GetDocument(); ! if (!pDoc) ! return 0; ! ! return pDoc->GetNumLines(); ! } ! ! ! // CDbgMonView message handlers ! Index: DbgMonFrame.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/DbgMon/DbgMonFrame.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DbgMonFrame.cpp 16 Oct 2003 23:22:20 -0000 1.1 --- DbgMonFrame.cpp 23 Sep 2004 15:35:46 -0000 1.2 *************** *** 1,84 **** ! // DbgMonFrame.cpp : implementation of the CDbgMonFrame class ! // ! ! #include "stdafx.h" ! #include "DbgMon.h" ! ! #include "DbgMonFrame.h" ! #include "DbgMonDoc.h" ! #include "DbgMonView.h" ! ! #ifdef _DEBUG ! #define new DEBUG_NEW ! #endif ! ! ! // CDbgMonFrame ! ! IMPLEMENT_DYNCREATE(CDbgMonFrame, CFrameWnd) ! ! BEGIN_MESSAGE_MAP(CDbgMonFrame, CFrameWnd) ! ON_WM_CREATE() ! ON_WM_CLOSE() ! END_MESSAGE_MAP() ! ! // CDbgMonFrame construction/destruction ! ! CDbgMonFrame::CDbgMonFrame() ! { ! // TODO: add member initialization code here ! } ! ! CDbgMonFrame::~CDbgMonFrame() ! { ! } ! ! ! int CDbgMonFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) ! { ! if (CFrameWnd::OnCreate(lpCreateStruct) == -1) ! return -1; ! ! return 0; ! } ! ! void CDbgMonFrame::OnClose() ! { ! if( m_pViewActive ) ! { ! ASSERT(m_pViewActive->IsKindOf(RUNTIME_CLASS(CDbgMonView))); ! CDbgMonView* view = (CDbgMonView*)m_pViewActive; ! view->OnClose(); ! } ! __super::OnClose(); ! } ! ! BOOL CDbgMonFrame::PreCreateWindow(CREATESTRUCT& cs) ! { ! if( !CFrameWnd::PreCreateWindow(cs) ) ! return FALSE; ! // TODO: Modify the Window class or styles here by modifying ! // the CREATESTRUCT cs ! ! return TRUE; ! } ! ! ! // CDbgMonFrame diagnostics ! ! #ifdef _DEBUG ! void CDbgMonFrame::AssertValid() const ! { ! CFrameWnd::AssertValid(); ! } ! ! void CDbgMonFrame::Dump(CDumpContext& dc) const ! { ! CFrameWnd::Dump(dc); ! } ! ! #endif //_DEBUG ! ! ! // CDbgMonFrame message handlers ! --- 1,84 ---- ! // DbgMonFrame.cpp : implementation of the CDbgMonFrame class ! // ! ! #include "stdafx.h" ! #include "DbgMon.h" ! ! #include "DbgMonFrame.h" ! #include "DbgMonDoc.h" ! #include "DbgMonView.h" ! ! #ifdef _DEBUG ! #define new DEBUG_NEW ! #endif ! ! ! // CDbgMonFrame ! ! IMPLEMENT_DYNCREATE(CDbgMonFrame, CFrameWnd) ! ! BEGIN_MESSAGE_MAP(CDbgMonFrame, CFrameWnd) ! ON_WM_CREATE() ! ON_WM_CLOSE() ! END_MESSAGE_MAP() ! ! // CDbgMonFrame construction/destruction ! ! CDbgMonFrame::CDbgMonFrame() ! { ! // TODO: add member initialization code here ! } ! ! CDbgMonFrame::~CDbgMonFrame() ! { ! } ! ! ! int CDbgMonFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) ! { ! if (CFrameWnd::OnCreate(lpCreateStruct) == -1) ! return -1; ! ! return 0; ! } ! ! void CDbgMonFrame::OnClose() ! { ! if( m_pViewActive ) ! { ! ASSERT(m_pViewActive->IsKindOf(RUNTIME_CLASS(CDbgMonView))); ! CDbgMonView* view = (CDbgMonView*)m_pViewActive; ! view->OnClose(); ! } ! __super::OnClose(); ! } ! ! BOOL CDbgMonFrame::PreCreateWindow(CREATESTRUCT& cs) ! { ! if( !CFrameWnd::PreCreateWindow(cs) ) ! return FALSE; ! // TODO: Modify the Window class or styles here by modifying ! // the CREATESTRUCT cs ! ! return TRUE; ! } ! ! ! // CDbgMonFrame diagnostics ! ! #ifdef _DEBUG ! void CDbgMonFrame::AssertValid() const ! { ! CFrameWnd::AssertValid(); ! } ! ! void CDbgMonFrame::Dump(CDumpContext& dc) const ! { ! CFrameWnd::Dump(dc); ! } ! ! #endif //_DEBUG ! ! ! // CDbgMonFrame message handlers ! Index: DbgMonFrame.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/DbgMon/DbgMonFrame.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DbgMonFrame.h 16 Oct 2003 23:22:20 -0000 1.1 --- DbgMonFrame.h 23 Sep 2004 15:35:46 -0000 1.2 *************** *** 1,40 **** ! // MainFrm.h : interface of the CMainFrame class ! // ! ! ! #pragma once ! class CDbgMonFrame : public CFrameWnd ! { ! ! protected: // create from serialization only ! CDbgMonFrame(); ! DECLARE_DYNCREATE(CDbgMonFrame) ! ! // Attributes ! public: ! ! // Operations ! public: ! ! // Overrides ! public: ! virtual BOOL PreCreateWindow(CREATESTRUCT& cs); ! ! // Implementation ! public: ! virtual ~CDbgMonFrame(); ! #ifdef _DEBUG ! virtual void AssertValid() const; ! virtual void Dump(CDumpContext& dc) const; ! #endif ! ! protected: // control bar embedded members ! ! // Generated message map functions ! protected: ! afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); ! afx_msg void OnClose(); ! DECLARE_MESSAGE_MAP() ! }; ! ! --- 1,40 ---- ! // MainFrm.h : interface of the CMainFrame class ! // ! ! ! #pragma once ! class CDbgMonFrame : public CFrameWnd ! { ! ! protected: // create from serialization only ! CDbgMonFrame(); ! DECLARE_DYNCREATE(CDbgMonFrame) ! ! // Attributes ! public: ! ! // Operations ! public: ! ! // Overrides ! public: ! virtual BOOL PreCreateWindow(CREATESTRUCT& cs); ! ! // Implementation ! public: ! virtual ~CDbgMonFrame(); ! #ifdef _DEBUG ! virtual void AssertValid() const; ! virtual void Dump(CDumpContext& dc) const; ! #endif ! ! protected: // control bar embedded members ! ! // Generated message map functions ! protected: ! afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct); ! afx_msg void OnClose(); ! DECLARE_MESSAGE_MAP() ! }; ! ! Index: DbgMonDoc.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/DbgMon/DbgMonDoc.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DbgMonDoc.h 16 Oct 2003 23:22:20 -0000 1.1 --- DbgMonDoc.h 23 Sep 2004 15:35:46 -0000 1.2 *************** *** 1,58 **** ! // DbgMonDoc.h : interface of the CDbgMonDoc class ! // ! ! ! #pragma once ! ! class CDbgMonDoc : public CDocument ! { ! protected: // create from serialization only ! CDbgMonDoc(); ! DECLARE_DYNCREATE(CDbgMonDoc) ! ! // Attributes ! public: ! ! // Operations ! public: ! ! // Overrides ! public: ! virtual BOOL OnNewDocument(); ! virtual void Serialize(CArchive& ar); ! ! ! // Implementation ! public: ! virtual ~CDbgMonDoc(); ! #ifdef _DEBUG ! virtual void AssertValid() const; ! virtual void Dump(CDumpContext& dc) const; ! #endif ! void AddMessage(wchar_t* _text); ! DWORD GetNumLines(); ! CString GetLine(DWORD); ! ! protected: ! class Line { ! public: ! CString text; ! Line* pNextLine; ! Line() { ! pNextLine = 0; ! } ! }; ! Line* m_pFirstLine; ! DWORD m_dwNumLines; ! CRITICAL_SECTION m_cs; ! Line* m_pCurrLine; ! DWORD m_dwCurrLine; ! ! void ClearLines(bool bCompletely); ! ! // Generated message map functions ! protected: ! DECLARE_MESSAGE_MAP() ! }; ! ! --- 1,58 ---- ! // DbgMonDoc.h : interface of the CDbgMonDoc class ! // ! ! ! #pragma once ! ! class CDbgMonDoc : public CDocument ! { ! protected: // create from serialization only ! CDbgMonDoc(); ! DECLARE_DYNCREATE(CDbgMonDoc) ! ! // Attributes ! public: ! ! // Operations ! public: ! ! // Overrides ! public: ! virtual BOOL OnNewDocument(); ! virtual void Serialize(CArchive& ar); ! ! ! // Implementation ! public: ! virtual ~CDbgMonDoc(); ! #ifdef _DEBUG ! virtual void AssertValid() const; ! virtual void Dump(CDumpContext& dc) const; ! #endif ! void AddMessage(wchar_t* _text); ! DWORD GetNumLines(); ! CString GetLine(DWORD); ! ! protected: ! class Line { ! public: ! CString text; ! Line* pNextLine; ! Line() { ! pNextLine = 0; ! } ! }; ! Line* m_pFirstLine; ! DWORD m_dwNumLines; ! CRITICAL_SECTION m_cs; ! Line* m_pCurrLine; ! DWORD m_dwCurrLine; ! ! void ClearLines(bool bCompletely); ! ! // Generated message map functions ! protected: ! DECLARE_MESSAGE_MAP() ! }; ! ! Index: DbgMon.aps =================================================================== RCS file: /cvsroot/tyshow/TyShow/DbgMon/DbgMon.aps,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvs2nTuAW and /tmp/cvssELpeH differ Index: DbgMon.rc =================================================================== RCS file: /cvsroot/tyshow/TyShow/DbgMon/DbgMon.rc,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DbgMon.rc 16 Oct 2003 23:22:20 -0000 1.1 --- DbgMon.rc 23 Sep 2004 15:35:46 -0000 1.2 *************** *** 1,363 **** ! // Microsoft Visual C++ generated resource script. ! // ! #include "resource.h" ! ! #define APSTUDIO_READONLY_SYMBOLS ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Generated from the TEXTINCLUDE 2 resource. ! // ! #include "afxres.h" ! ! ///////////////////////////////////////////////////////////////////////////// ! #undef APSTUDIO_READONLY_SYMBOLS ! ! ///////////////////////////////////////////////////////////////////////////// ! // English (U.S.) resources ! ! #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) ! #ifdef _WIN32 ! LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US ! #pragma code_page(1252) ! #endif //_WIN32 ! ! #ifdef APSTUDIO_INVOKED ! ///////////////////////////////////////////////////////////////////////////// ! // ! // TEXTINCLUDE ! // ! ! 1 TEXTINCLUDE ! BEGIN ! "resource.h\0" ! END ! ! 2 TEXTINCLUDE ! BEGIN ! "#include ""afxres.h""\r\n" ! "\0" ! END ! ! 3 TEXTINCLUDE ! BEGIN ! "#define _AFX_NO_SPLITTER_RESOURCES\r\n" ! "#define _AFX_NO_OLE_RESOURCES\r\n" ! "#define _AFX_NO_TRACKER_RESOURCES\r\n" ! "#define _AFX_NO_PROPERTY_RESOURCES\r\n" ! "\r\n" ! "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" ! "LANGUAGE 9, 1\r\n" ! "#pragma code_page(1252)\r\n" ! "#include ""res\\DbgMon.rc2"" // non-Microsoft Visual C++ edited resources\r\n" ! "#include ""afxres.rc"" // Standard components\r\n" ! "#include ""afxprint.rc"" // printing/print preview resources\r\n" ! "#endif\r\n" ! "\0" ! END ! ! #endif // APSTUDIO_INVOKED ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Icon ! // ! ! // Icon with lowest ID value placed first to ensure application icon ! // remains consistent on all systems. ! IDR_MAINFRAME ICON "res\\DbgMon.ico" ! IDR_DbgMonTYPE ICON "res\\DbgMonDoc.ico" ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Bitmap ! // ! ! IDR_MAINFRAME BITMAP "res\\Toolbar.bmp" ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Toolbar ! // ! ! IDR_MAINFRAME TOOLBAR 16, 15 ! BEGIN ! BUTTON ID_FILE_NEW ! BUTTON ID_FILE_SAVE ! SEPARATOR ! BUTTON ID_APP_ABOUT ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Menu ! // ! ! IDR_MAINFRAME MENU ! BEGIN ! POPUP "&File" ! BEGIN ! MENUITEM "&New\tCtrl+N", ID_FILE_NEW ! MENUITEM "&Save\tCtrl+S", ID_FILE_SAVE ! MENUITEM "Save &As...", ID_FILE_SAVE_AS ! MENUITEM SEPARATOR ! MENUITEM "E&xit", ID_APP_EXIT ! END ! POPUP "&View" ! BEGIN ! MENUITEM "&Toolbar", ID_VIEW_TOOLBAR ! MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR ! END ! POPUP "&Help" ! BEGIN ! MENUITEM "&About DbgMon...", ID_APP_ABOUT ! END ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Accelerator ! // ! ! IDR_MAINFRAME ACCELERATORS ! BEGIN ! "N", ID_FILE_NEW, VIRTKEY, CONTROL ! "O", ID_FILE_OPEN, VIRTKEY, CONTROL ! "S", ID_FILE_SAVE, VIRTKEY, CONTROL ! "P", ID_FILE_PRINT, VIRTKEY, CONTROL ! "Z", ID_EDIT_UNDO, VIRTKEY, CONTROL ! "X", ID_EDIT_CUT, VIRTKEY, CONTROL ! "C", ID_EDIT_COPY, VIRTKEY, CONTROL ! "V", ID_EDIT_PASTE, VIRTKEY, CONTROL ! VK_BACK, ID_EDIT_UNDO, VIRTKEY, ALT ! VK_DELETE, ID_EDIT_CUT, VIRTKEY, SHIFT ! VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL ! VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT ! VK_F6, ID_NEXT_PANE, VIRTKEY ! VK_F6, ID_PREV_PANE, VIRTKEY, SHIFT ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Dialog ! // ! ! IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55 ! STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | ! WS_SYSMENU ! CAPTION "About DbgMon" ! FONT 8, "MS Shell Dlg", 0, 0, 0x1 ! BEGIN ! ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20 ! LTEXT "DbgMon Version 1.0",IDC_STATIC,40,10,119,8,SS_NOPREFIX ! LTEXT "Copyright (C) 2003",IDC_STATIC,40,25,119,8 ! DEFPUSHBUTTON "OK",IDOK,178,7,50,16,WS_GROUP ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Version ! // ! ! VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,0,0,1 ! PRODUCTVERSION 1,0,0,1 ! FILEFLAGSMASK 0x3fL ! #ifdef _DEBUG ! FILEFLAGS 0x1L ! #else ! FILEFLAGS 0x0L ! #endif ! FILEOS 0x4L ! FILETYPE 0x1L ! FILESUBTYPE 0x0L ! BEGIN ! BLOCK "StringFileInfo" ! BEGIN ! BLOCK "040904e4" ! BEGIN ! VALUE "CompanyName", "TODO: <Company name>" ! VALUE "FileDescription", "TODO: <File description>" ! VALUE "FileVersion", "1.0.0.1" ! VALUE "InternalName", "DbgMon.exe" ! VALUE "LegalCopyright", "TODO: (c) <Company name>. All rights reserved." ! VALUE "OriginalFilename", "DbgMon.exe" ! VALUE "ProductName", "TODO: <Product name>" ! VALUE "ProductVersion", "1.0.0.1" ! END ! END ! BLOCK "VarFileInfo" ! BEGIN ! VALUE "Translation", 0x409, 1252 ! END ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // DESIGNINFO ! // ! ! #ifdef APSTUDIO_INVOKED ! GUIDELINES DESIGNINFO ! BEGIN ! IDD_ABOUTBOX, DIALOG ! BEGIN ! LEFTMARGIN, 7 ! RIGHTMARGIN, 228 ! TOPMARGIN, 7 ! BOTTOMMARGIN, 48 ! END ! END ! #endif // APSTUDIO_INVOKED ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // String Table ! // ! ! STRINGTABLE ! BEGIN ! IDR_MAINFRAME "DbgMon\n\nDbgMon\n\n.txt\nDbgMon.Document\nDbgMon.Document" ! END ! ! STRINGTABLE ! BEGIN ! AFX_IDS_APP_TITLE "DbgMon" ! AFX_IDS_IDLEMESSAGE "Ready" ! END ! ! STRINGTABLE ! BEGIN ! ID_INDICATOR_EXT "EXT" ! ID_INDICATOR_CAPS "CAP" ! ID_INDICATOR_NUM "NUM" ! ID_INDICATOR_SCRL "SCRL" ! ID_INDICATOR_OVR "OVR" ! ID_INDICATOR_REC "REC" ! END ! ! STRINGTABLE ! BEGIN ! ID_FILE_NEW "Create a new document\nNew" ! ID_FILE_OPEN "Open an existing document\nOpen" ! ID_FILE_CLOSE "Close the active document\nClose" ! ID_FILE_SAVE "Save the active document\nSave" ! ID_FILE_SAVE_AS "Save the active document with a new name\nSave As" ! ID_FILE_PAGE_SETUP "Change the printing options\nPage Setup" ! ID_FILE_PRINT_SETUP "Change the printer and printing options\nPrint Setup" ! ID_FILE_PRINT "Print the active document\nPrint" ! ID_FILE_PRINT_PREVIEW "Display full pages\nPrint Preview" ! END ! ! STRINGTABLE ! BEGIN ! ID_APP_ABOUT "Display program information, version number and copyright\nAbout" ! ID_APP_EXIT "Quit the application; prompts to save documents\nExit" ! END ! ! STRINGTABLE ! BEGIN ! ID_FILE_MRU_FILE1 "Open this document" ! ID_FILE_MRU_FILE2 "Open this document" ! ID_FILE_MRU_FILE3 "Open this document" ! ID_FILE_MRU_FILE4 "Open this document" ! ID_FILE_MRU_FILE5 "Open this document" ! ID_FILE_MRU_FILE6 "Open this document" ! ID_FILE_MRU_FILE7 "Open this document" ! ID_FILE_MRU_FILE8 "Open this document" ! ID_FILE_MRU_FILE9 "Open this document" ! ID_FILE_MRU_FILE10 "Open this document" ! ID_FILE_MRU_FILE11 "Open this document" ! ID_FILE_MRU_FILE12 "Open this document" ! ID_FILE_MRU_FILE13 "Open this document" ! ID_FILE_MRU_FILE14 "Open this document" ! ID_FILE_MRU_FILE15 "Open this document" ! ID_FILE_MRU_FILE16 "Open this document" ! END ! ! STRINGTABLE ! BEGIN ! ID_NEXT_PANE "Switch to the next window pane\nNext Pane" ! ID_PREV_PANE "Switch back to the previous window pane\nPrevious Pane" ! END ! ! STRINGTABLE ! BEGIN ! ID_WINDOW_SPLIT "Split the active window into panes\nSplit" ! END ! ! STRINGTABLE ! BEGIN ! ID_EDIT_CLEAR "Erase the selection\nErase" ! ID_EDIT_CLEAR_ALL "Erase everything\nErase All" ! ID_EDIT_COPY "Copy the selection and put it on the Clipboard\nCopy" ! ID_EDIT_CUT "Cut the selection and put it on the Clipboard\nCut" ! ID_EDIT_FIND "Find the specified text\nFind" ! ID_EDIT_PASTE "Insert Clipboard contents\nPaste" ! ID_EDIT_REPEAT "Repeat the last action\nRepeat" ! ID_EDIT_REPLACE "Replace specific text with different text\nReplace" ! ID_EDIT_SELECT_ALL "Select the entire document\nSelect All" ! ID_EDIT_UNDO "Undo the last action\nUndo" ! ID_EDIT_REDO "Redo the previously undone action\nRedo" ! END ! ! STRINGTABLE ! BEGIN ! ID_VIEW_TOOLBAR "Show or hide the toolbar\nToggle ToolBar" ! ID_VIEW_STATUS_BAR "Show or hide the status bar\nToggle StatusBar" ! END ! ! STRINGTABLE ! BEGIN ! AFX_IDS_SCSIZE "Change the window size" ! AFX_IDS_SCMOVE "Change the window position" ! AFX_IDS_SCMINIMIZE "Reduce the window to an icon" ! AFX_IDS_SCMAXIMIZE "Enlarge the window to full size" ! AFX_IDS_SCNEXTWINDOW "Switch to the next document window" ! AFX_IDS_SCPREVWINDOW "Switch to the previous document window" ! AFX_IDS_SCCLOSE "Close the active window and prompts to save the documents" ! END ! ! STRINGTABLE ! BEGIN ! AFX_IDS_SCRESTORE "Restore the window to normal size" ! AFX_IDS_SCTASKLIST "Activate Task List" ! END ! ! STRINGTABLE ! BEGIN ! AFX_IDS_PREVIEW_CLOSE "Close print preview mode\nCancel Preview" ! END ! ! #endif // English (U.S.) resources ! ///////////////////////////////////////////////////////////////////////////// ! ! ! ! #ifndef APSTUDIO_INVOKED ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Generated from the TEXTINCLUDE 3 resource. ! // ! #define _AFX_NO_SPLITTER_RESOURCES ! #define _AFX_NO_OLE_RESOURCES ! #define _AFX_NO_TRACKER_RESOURCES ! #define _AFX_NO_PROPERTY_RESOURCES ! ! #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) ! LANGUAGE 9, 1 ! #pragma code_page(1252) ! #include "res\DbgMon.rc2" // non-Microsoft Visual C++ edited resources ! #include "afxres.rc" // Standard components ! #include "afxprint.rc" // printing/print preview resources ! #endif ! ! ///////////////////////////////////////////////////////////////////////////// ! #endif // not APSTUDIO_INVOKED ! --- 1,363 ---- ! // Microsoft Visual C++ generated resource script. ! // ! #include "resource.h" ! ! #define APSTUDIO_READONLY_SYMBOLS ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Generated from the TEXTINCLUDE 2 resource. ! // ! #include "afxres.h" ! ! ///////////////////////////////////////////////////////////////////////////// ! #undef APSTUDIO_READONLY_SYMBOLS ! ! ///////////////////////////////////////////////////////////////////////////// ! // English (U.S.) resources ! ! #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) ! #ifdef _WIN32 ! LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US ! #pragma code_page(1252) ! #endif //_WIN32 ! ! #ifdef APSTUDIO_INVOKED ! ///////////////////////////////////////////////////////////////////////////// ! // ! // TEXTINCLUDE ! // ! ! 1 TEXTINCLUDE ! BEGIN ! "resource.h\0" ! END ! ! 2 TEXTINCLUDE ! BEGIN ! "#include ""afxres.h""\r\n" ! "\0" ! END ! ! 3 TEXTINCLUDE ! BEGIN ! "#define _AFX_NO_SPLITTER_RESOURCES\r\n" ! "#define _AFX_NO_OLE_RESOURCES\r\n" ! "#define _AFX_NO_TRACKER_RESOURCES\r\n" ! "#define _AFX_NO_PROPERTY_RESOURCES\r\n" ! "\r\n" ! "#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)\r\n" ! "LANGUAGE 9, 1\r\n" ! "#pragma code_page(1252)\r\n" ! "#include ""res\\DbgMon.rc2"" // non-Microsoft Visual C++ edited resources\r\n" ! "#include ""afxres.rc"" // Standard components\r\n" ! "#include ""afxprint.rc"" // printing/print preview resources\r\n" ! "#endif\r\n" ! "\0" ! END ! ! #endif // APSTUDIO_INVOKED ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Icon ! // ! ! // Icon with lowest ID value placed first to ensure application icon ! // remains consistent on all systems. ! IDR_MAINFRAME ICON "res\\DbgMon.ico" ! IDR_DbgMonTYPE ICON "res\\DbgMonDoc.ico" ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Bitmap ! // ! ! IDR_MAINFRAME BITMAP "res\\Toolbar.bmp" ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Toolbar ! // ! ! IDR_MAINFRAME TOOLBAR 16, 15 ! BEGIN ! BUTTON ID_FILE_NEW ! BUTTON ID_FILE_SAVE ! SEPARATOR ! BUTTON ID_APP_ABOUT ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Menu ! // ! ! IDR_MAINFRAME MENU ! BEGIN ! POPUP "&File" ! BEGIN ! MENUITEM "&New\tCtrl+N", ID_FILE_NEW ! MENUITEM "&Save\tCtrl+S", ID_FILE_SAVE ! MENUITEM "Save &As...", ID_FILE_SAVE_AS ! MENUITEM SEPARATOR ! MENUITEM "E&xit", ID_APP_EXIT ! END ! POPUP "&View" ! BEGIN ! MENUITEM "&Toolbar", ID_VIEW_TOOLBAR ! MENUITEM "&Status Bar", ID_VIEW_STATUS_BAR ! END ! POPUP "&Help" ! BEGIN ! MENUITEM "&About DbgMon...", ID_APP_ABOUT ! END ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Accelerator ! // ! ! IDR_MAINFRAME ACCELERATORS ! BEGIN ! "N", ID_FILE_NEW, VIRTKEY, CONTROL ! "O", ID_FILE_OPEN, VIRTKEY, CONTROL ! "S", ID_FILE_SAVE, VIRTKEY, CONTROL ! "P", ID_FILE_PRINT, VIRTKEY, CONTROL ! "Z", ID_EDIT_UNDO, VIRTKEY, CONTROL ! "X", ID_EDIT_CUT, VIRTKEY, CONTROL ! "C", ID_EDIT_COPY, VIRTKEY, CONTROL ! "V", ID_EDIT_PASTE, VIRTKEY, CONTROL ! VK_BACK, ID_EDIT_UNDO, VIRTKEY, ALT ! VK_DELETE, ID_EDIT_CUT, VIRTKEY, SHIFT ! VK_INSERT, ID_EDIT_COPY, VIRTKEY, CONTROL ! VK_INSERT, ID_EDIT_PASTE, VIRTKEY, SHIFT ! VK_F6, ID_NEXT_PANE, VIRTKEY ! VK_F6, ID_PREV_PANE, VIRTKEY, SHIFT ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Dialog ! // ! ! IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55 ! STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | ! WS_SYSMENU ! CAPTION "About DbgMon" ! FONT 8, "MS Shell Dlg", 0, 0, 0x1 ! BEGIN ! ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20 ! LTEXT "DbgMon Version 1.0",IDC_STATIC,40,10,119,8,SS_NOPREFIX ! LTEXT "Copyright (C) 2003",IDC_STATIC,40,25,119,8 ! DEFPUSHBUTTON "OK",IDOK,178,7,50,16,WS_GROUP ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Version ! // ! ! VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,0,0,1 ! PRODUCTVERSION 1,0,0,1 ! FILEFLAGSMASK 0x3fL ! #ifdef _DEBUG ! FILEFLAGS 0x1L ! #else ! FILEFLAGS 0x0L ! #endif ! FILEOS 0x4L ! FILETYPE 0x1L ! FILESUBTYPE 0x0L ! BEGIN ! BLOCK "StringFileInfo" ! BEGIN ! BLOCK "040904e4" ! BEGIN ! VALUE "CompanyName", "TODO: <Company name>" ! VALUE "FileDescription", "TODO: <File description>" ! VALUE "FileVersion", "1.0.0.1" ! VALUE "InternalName", "DbgMon.exe" ! VALUE "LegalCopyright", "TODO: (c) <Company name>. All rights reserved." ! VALUE "OriginalFilename", "DbgMon.exe" ! VALUE "ProductName", "TODO: <Product name>" ! VALUE "ProductVersion", "1.0.0.1" ! END ! END ! BLOCK "VarFileInfo" ! BEGIN ! VALUE "Translation", 0x409, 1252 ! END ! END ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // DESIGNINFO ! // ! ! #ifdef APSTUDIO_INVOKED ! GUIDELINES DESIGNINFO ! BEGIN ! IDD_ABOUTBOX, DIALOG ! BEGIN ! LEFTMARGIN, 7 ! RIGHTMARGIN, 228 ! TOPMARGIN, 7 ! BOTTOMMARGIN, 48 ! END ! END ! #endif // APSTUDIO_INVOKED ! ! ! ///////////////////////////////////////////////////////////////////////////// ! // ! // String Table ! // ! ! STRINGTABLE ! BEGIN ! IDR_MAINFRAME "DbgMon\n\nDbgMon\n\n.txt\nDbgMon.Document\nDbgMon.Document" ! END ! ! STRINGTABLE ! BEGIN ! AFX_IDS_APP_TITLE "DbgMon" ! AFX_IDS_IDLEMESSAGE "Ready" ! END ! ! STRINGTABLE ! BEGIN ! ID_INDICATOR_EXT "EXT" ! ID_INDICATOR_CAPS "CAP" ! ID_INDICATOR_NUM "NUM" ! ID_INDICATOR_SCRL "SCRL" ! ID_INDICATOR_OVR "OVR" ! ID_INDICATOR_REC "REC" ! END ! ! STRINGTABLE ! BEGIN ! ID_FILE_NEW "Create a new document\nNew" ! ID_FILE_OPEN "Open an existing document\nOpen" ! ID_FILE_CLOSE "Close the active document\nClose" ! ID_FILE_SAVE "Save the active document\nSave" ! ID_FILE_SAVE_AS "Save the active document with a new name\nSave As" ! ID_FILE_PAGE_SETUP "Change the printing options\nPage Setup" ! ID_FILE_PRINT_SETUP "Change the printer and printing options\nPrint Setup" ! ID_FILE_PRINT "Print the active document\nPrint" ! ID_FILE_PRINT_PREVIEW "Display full pages\nPrint Preview" ! END ! ! STRINGTABLE ! BEGIN ! ID_APP_ABOUT "Display program information, version number and copyright\nAbout" ! ID_APP_EXIT "Quit the application; prompts to save documents\nExit" ! END ! ! STRINGTABLE ! BEGIN ! ID_FILE_MRU_FILE1 "Open this document" ! ID_FILE_MRU_FILE2 "Open this document" ! ID_FILE_MRU_FILE3 "Open this document" ! ID_FILE_MRU_FILE4 "Open this document" ! ID_FILE_MRU_FILE5 "Open this document" ! ID_FILE_MRU_FILE6 "Open this document" ! ID_FILE_MRU_FILE7 "Open this document" ! ID_FILE_MRU_FILE8 "Open this document" ! ID_FILE_MRU_FILE9 "Open this document" ! ID_FILE_MRU_FILE10 "Open this document" ! ID_FILE_MRU_FILE11 "Open this document" ! ID_FILE_MRU_FILE12 "Open this document" ! ID_FILE_MRU_FILE13 "Open this document" ! ID_FILE_MRU_FILE14 "Open this document" ! ID_FILE_MRU_FILE15 "Open this document" ! ID_FILE_MRU_FILE16 "Open this document" ! END ! ! STRINGTABLE ! BEGIN ! ID_NEXT_PANE "Switch to the next window pane\nNext Pane" ! ID_PREV_PANE "Switch back to the previous window pane\nPrevious Pane" ! END ! ! STRINGTABLE ! BEGIN ! ID_WINDOW_SPLIT "Split the active window into panes\nSplit" ! END ! ! STRINGTABLE ! BEGIN ! ID_EDIT_CLEAR "Erase the selection\nErase" ! ID_EDIT_CLEAR_ALL "Erase everything\nErase All" ! ID_EDIT_COPY "Copy the selection and put it on the Clipboard\nCopy" ! ID_EDIT_CUT "Cut the selection and put it on the Clipboard\nCut" ! ID_EDIT_FIND "Find the specified text\nFind" ! ID_EDIT_PASTE "Insert Clipboard contents\nPaste" ! ID_EDIT_REPEAT "Repeat the last action\nRepeat" ! ID_EDIT_REPLACE "Replace specific text with different text\nReplace" ! ID_EDIT_SELECT_ALL "Select the entire document\nSelect All" ! ID_EDIT_UNDO "Undo the last action\nUndo" ! ID_EDIT_REDO "Redo the previously undone action\nRedo" ! END ! ! STRINGTABLE ! BEGIN ! ID_VIEW_TOOLBAR "Show or hide the toolbar\nToggle ToolBar" ! ID_VIEW_STATUS_BAR "Show or hide the status bar\nToggle StatusBar" ! END ! ! STRINGTABLE ! BEGIN ! AFX_IDS_SCSIZE "Change the window size" ! AFX_IDS_SCMOVE "Change the window position" ! AFX_IDS_SCMINIMIZE "Reduce the window to an icon" ! AFX_IDS_SCMAXIMIZE "Enlarge the window to full size" ! AFX_IDS_SCNEXTWINDOW "Switch to the next document window" ! AFX_IDS_SCPREVWINDOW "Switch to the previous document window" ! AFX_IDS_SCCLOSE "Close the active window and prompts to save the documents" ! END ! ! STRINGTABLE ! BEGIN ! AFX_IDS_SCRESTORE "Restore the window to normal size" ! AFX_IDS_SCTASKLIST "Activate Task List" ! END ! ! STRINGTABLE ! BEGIN ! AFX_IDS_PREVIEW_CLOSE "Close print preview mode\nCancel Preview" ! END ! ! #endif // English (U.S.) resources ! ///////////////////////////////////////////////////////////////////////////// ! ! ! ! #ifndef APSTUDIO_INVOKED ! ///////////////////////////////////////////////////////////////////////////// ! // ! // Generated from the TEXTINCLUDE 3 resource. ! // ! #define _AFX_NO_SPLITTER_RESOURCES ! #define _AFX_NO_OLE_RESOURCES ! #define _AFX_NO_TRACKER_RESOURCES ! #define _AFX_NO_PROPERTY_RESOURCES ! ! #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) ! LANGUAGE 9, 1 ! #pragma code_page(1252) ! #include "res\DbgMon.rc2" // non-Microsoft Visual C++ edited resources ! #include "afxres.rc" // Standard components ! #include "afxprint.rc" // printing/print preview resources ! #endif ! ! ///////////////////////////////////////////////////////////////////////////// ! #endif // not APSTUDIO_INVOKED ! Index: DbgMonDoc.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/DbgMon/DbgMonDoc.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** DbgMonDoc.cpp 16 Oct 2003 23:22:20 -0000 1.1 --- DbgMonDoc.cpp 23 Sep 2004 15:35:46 -0000 1.2 *************** *** 1,169 **** ! // DbgMonDoc.cpp : implementation of the CDbgMonDoc class ! // ! ! #include "stdafx.h" ! #include "DbgMon.h" ! ! #include "DbgMonDoc.h" ! ! #ifdef _DEBUG ! #define new DEBUG_NEW ! #endif ! ! ! // CDbgMonDoc ! ! IMPLEMENT_DYNCREATE(CDbgMonDoc, CDocument) ! ! BEGIN_MESSAGE_MAP(CDbgMonDoc, CDocument) ! END_MESSAGE_MAP() ! ! ! // CDbgMonDoc construction/destruction ! ! CDbgMonDoc::CDbgMonDoc() ! { ! InitializeCriticalSection(&m_cs); ! m_dwNumLines = 1; ! m_dwCurrLine = 0; ! m_pFirstLine = m_pCurrLine = new Line(); ! } ! ! CDbgMonDoc::~CDbgMonDoc() ! { ! ClearLines(true); ! DeleteCriticalSection(&m_cs); ! } ! ! BOOL CDbgMonDoc::OnNewDocument() ! { ! if (!CDocument::OnNewDocument()) ! return FALSE; ! ! ClearLines(false); ! ! return TRUE; ! } ! ! void CDbgMonDoc::AddMessage(wchar_t* _text) ! { ! EnterCriticalSection(&m_cs); ! ! Line* curr = m_pFirstLine; ! while( curr && curr->pNextLine ) curr = curr->pNextLine; ! CString text(_text); ! int offset; ! ! while( text.GetLength() ) ! { ! if( (offset = text.Find(L"\n")) < 0 ) ! curr->text = curr->text + text; ! else ! { ! CString substr = text.Mid(0, offset); ! text = text.Mid(offset + 1); ! curr->text = curr->text + substr; ! curr->pNextLine = new Line(); ! curr = curr->pNextLine; ! m_dwNumLines++; ! } ! } ! LeaveCriticalSection(&m_cs); ! } ! ! ! // CDbgMonDoc serialization ! ! void CDbgMonDoc::Serialize(CArchive& ar) ! { ! if (ar.IsStoring()) ! { ! EnterCriticalSection(&m_cs); ! Line* curr = m_pFirstLine; ! for(; curr; curr = curr->pNextLine) ! { ! CString& text = curr->text; ! for(int i = 0; i < text.GetLength(); i++) ! ar << (char)text.GetAt(i); ! ar << '\n'; ! } ! LeaveCriticalSection(&m_cs); ! } ! else ! { ! // TODO: add loading code here ! } ! } ! ! ! // CDbgMonDoc diagnostics ! ! #ifdef _DEBUG ! void CDbgMonDoc::AssertValid() const ! { ! CDocument::AssertValid(); ! } ! ! void CDbgMonDoc::Dump(CDumpContext& dc) const ! { ! CDocument::Dump(dc); ! } ! #endif //_DEBUG ! ! ! // CDbgMonDoc commands ! void CDbgMonDoc::ClearLines(bool bCompletely) ! { ! EnterCriticalSection(&m_cs); ! while( m_pFirstLine ) ! { ! Line* next = m_pFirstLine->pNextLine; ! delete m_pFirstLine; ! m_pFirstLine = next; ! } ! if( !bCompletely ) ! { ! m_pFirstLine = m_pCurrLine = new Line(); ! m_dwNumLines = 1; ! m_dwCurrLine = 0; ! } ! else ! m_dwNumLines = 0; ! LeaveCriticalSection(&m_cs); ! } ! ! DWORD CDbgMonDoc::GetNumLines() ! { ! DWORD lines; ! EnterCriticalSection(&m_cs); ! lines = m_dwNumLines; ! LeaveCriticalSection(&m_cs); ! return lines; ! } ! ! CString CDbgMonDoc::GetLine(DWORD line) ! { ! CString text; ! EnterCriticalSection(&m_cs); ! if( line < m_dwCurrLine ) ! { ! m_dwCurrLine = 0; ! m_pCurrLine = m_pFirstLine; ! } ! while( m_dwCurrLine < line ) ! { ! if( m_dwCurrLine >= m_dwNumLines ) ! break; ! m_dwCurrLine++; ! m_pCurrLine = m_pCurrLine->pNextLine; ! } ! if( m_dwCurrLine >= m_dwNumLines ) ! text = CString(""); ! else ! { ! ASSERT(m_pCurrLine); ! text = m_pCurrLine->text; ! } ! LeaveCriticalSection(&m_cs); ! return text; } \ No newline at end of file --- 1,169 ---- ! // DbgMonDoc.cpp : implementation of the CDbgMonDoc class ! // ! ! #include "stdafx.h" ! #include "DbgMon.h" ! ! #include "DbgMonDoc.h" ! ! #ifdef _DEBUG ! #define new DEBUG_NEW ! #endif ! ! ! // CDbgMonDoc ! ! IMPLEMENT_DYNCREATE(CDbgMonDoc, CDocument) ! ! BEGIN_MESSAGE_MAP(CDbgMonDoc, CDocument) ! END_MESSAGE_MAP() ! ! ! // CDbgMonDoc construction/destruction ! ! CDbgMonDoc::CDbgMonDoc() ! { ! InitializeCriticalSection(&m_cs); ! m_dwNumLines = 1; ! m_dwCurrLine = 0; ! m_pFirstLine = m_pCurrLine = new Line(); ! } ! ! CDbgMonDoc::~CDbgMonDoc() ! { ! ClearLines(true); ! DeleteCriticalSection(&m_cs); ! } ! ! BOOL CDbgMonDoc::OnNewDocument() ! { ! if (!CDocument::OnNewDocument()) ! return FALSE; ! ! ClearLines(false); ! ! return TRUE; ! } ! ! void CDbgMonDoc::AddMessage(wchar_t* _text) ! { ! EnterCriticalSection(&m_cs); ! ! Line* curr = m_pFirstLine; ! while( curr && curr->pNextLine ) curr = curr->pNextLine; ! CString text(_text); ! int offset; ! ! while( text.GetLength() ) ! { ! if( (offset = text.Find(L"\n")) < 0 ) ! curr->text = curr->text + text; ! else ! { ! CString substr = text.Mid(0, offset); ! text = text.Mid(offset + 1); ! curr->text = curr->text + substr; ! curr->pNextLine = new Line(); ! curr = curr->pNextLine; ! m_dwNumLines++; ! } ! } ! LeaveCriticalSection(&m_cs); ! } ! ! ! // CDbgMonDoc serialization ! ! void CDbgMonDoc::Serialize(CArchive& ar) ! { ! if (ar.IsStoring()) ! { ! EnterCriticalSection(&m_cs); ! Line* curr = m_pFirstLine; ! for(; curr; curr = curr->pNextLine) ! { ! CString& text = curr->text; ! for(int i = 0; i < text.GetLength(); i++) ! ar << (char)text.GetAt(i); ! ar << '\n'; ! } ! LeaveCriticalSection(&m_cs); ! } ! else ! { ! // TODO: add loading code here ! } ! } ! ! ! // CDbgMonDoc diagnostics ! ! #ifdef _DEBUG ! void CDbgMonDoc::AssertValid() const ! { ! CDocument::AssertValid(); ! } ! ! void CDbgMonDoc::Dump(CDumpContext& dc) const ! { ! CDocument::Dump(dc); ! } ! #endif //_DEBUG ! ! ! // CDbgMonDoc commands ! void CDbgMonDoc::ClearLines(bool bCompletely) ! { ! EnterCriticalSection(&m_cs); ! while( m_pFirstLine ) ! { ! Line* next = m_pFirstLine->pNextLine; ! delete m_pFirstLine; ! m_pFirstLine = next; ! } ! if( !bCompletely ) ! { ! m_pFirstLine = m_pCurrLine = new Line(); ! m_dwNumLines = 1; ! m_dwCurrLine = 0; ! } ! else ! m_dwNumLines = 0; ! LeaveCrit... [truncated message content] |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:36:40
|
Update of /cvsroot/tyshow/TyShow/VsrvSrc In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/VsrvSrc Modified Files: VsrvSrc.cpp VsrvSrc.h VsrvSrc.vcproj stdafx.h Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes Index: stdafx.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/stdafx.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** stdafx.h 31 Oct 2003 16:37:59 -0000 1.2 --- stdafx.h 23 Sep 2004 15:35:48 -0000 1.3 *************** *** 1,10 **** ! // stdafx.h : include file for standard system include files, ! // or project specific include files that are used frequently, but ! // are changed infrequently ! // ! ! #pragma once ! ! #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit --- 1,10 ---- ! // stdafx.h : include file for standard system include files, ! // or project specific include files that are used frequently, but ! // are changed infrequently ! // ! ! #pragma once ! ! #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers #define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // some CString constructors will be explicit Index: VsrvSrc.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/VsrvSrc.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** VsrvSrc.cpp 31 Oct 2003 16:37:59 -0000 1.2 --- VsrvSrc.cpp 23 Sep 2004 15:35:48 -0000 1.3 *************** *** 1,6 **** ! // VsrvSrc.cpp : Defines the entry point for the DLL application. ! // ! ! #include "stdafx.h" #include <mmreg.h> #include <atlutil.h> --- 1,6 ---- ! // VsrvSrc.cpp : Defines the entry point for the DLL application. ! // ! ! #include "stdafx.h" #include <mmreg.h> #include <atlutil.h> *************** *** 11,14 **** --- 11,15 ---- #include <initguid.h> #include "..\include\ty.h" + #include <windows.h> #include <winsock2.h> #include "mfs\mfs.h" *************** *** 16,24 **** extern "C" { int vstream_start( char *ipaddress ); ! int vstream_fsidtoparts( char *fsid ); u64 vstream_streamsize( ); ! int vstream_load_chunk( char *fsid, unsigned char *buff, int size, u64 foffset ); } #ifdef REGISTER_FILTER --- 17,56 ---- extern "C" { int vstream_start( char *ipaddress ); ! int vstream_fsidtoparts( char *fsid, int isStreaming ); ! int vstream_reload_fsidtoparts( char* fsid ); u64 vstream_streamsize( ); ! void vstream_getpart( int part, int* fileNo, u64* fileSize, int* chunks ); ! int vstream_load_chunk( char *fsid, unsigned char *buff, int size, u64 foffset, int isStreaming ); ! void vstream_terminate(); ! int vstream_is_live_fsid( u32 fsid ); ! } ! ! ! class CSafeExitException ! { ! int m_code; ! public: ! CSafeExitException(int code) ! { ! m_code = code; ! } ! int Code() ! { ! return m_code; ! } ! }; ! ! void _safe_exit(int value) ! { ! throw CSafeExitException(value); ! } ! ! extern "C" void safe_exit(int value) ! { ! _safe_exit(value); } + const ULONG TIVO_CHUNK_SIZE = (128*1024); + #ifdef REGISTER_FILTER *************** *** 79,108 **** extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID); ! const int WIN_SOCK_MAJOR_VER = 2; ! const int WIN_SOCK_MINOR_VER = 2; ! const int WIN_SOCK_MAJOR_VER_MIN = 2; ! const int WIN_SOCK_MINOR_VER_MIN = 0; ! BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { if(ul_reason_for_call == DLL_PROCESS_ATTACH) { ! WSADATA WinSockInfo; ! WORD wVersionRequested = MAKEWORD( WIN_SOCK_MAJOR_VER, WIN_SOCK_MINOR_VER ); ! int iRet = WSAStartup( wVersionRequested, &WinSockInfo ); ! if (iRet) ! { ! // If WinSock version expected is not less than our minimum, accept it ! if (iRet == WSAVERNOTSUPPORTED && ! (LOBYTE(WinSockInfo.wVersion ) >= WIN_SOCK_MAJOR_VER_MIN && HIBYTE(WinSockInfo.wVersion) >= WIN_SOCK_MINOR_VER_MIN)) ! { ! wVersionRequested = WinSockInfo.wVersion; ! iRet = WSAStartup( wVersionRequested, &WinSockInfo ); ! if (iRet) ! return FALSE; ! } ! else ! return FALSE; ! } } else if(ul_reason_for_call == DLL_PROCESS_DETACH) --- 111,140 ---- extern "C" BOOL WINAPI DllEntryPoint(HINSTANCE, ULONG, LPVOID); ! const int WIN_SOCK_MAJOR_VER = 2; ! const int WIN_SOCK_MINOR_VER = 2; ! const int WIN_SOCK_MAJOR_VER_MIN = 2; ! const int WIN_SOCK_MINOR_VER_MIN = 0; ! BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) { if(ul_reason_for_call == DLL_PROCESS_ATTACH) { ! WSADATA WinSockInfo; ! WORD wVersionRequested = MAKEWORD( WIN_SOCK_MAJOR_VER, WIN_SOCK_MINOR_VER ); ! int iRet = WSAStartup( wVersionRequested, &WinSockInfo ); ! if (iRet) ! { ! // If WinSock version expected is not less than our minimum, accept it ! if (iRet == WSAVERNOTSUPPORTED && ! (LOBYTE(WinSockInfo.wVersion ) >= WIN_SOCK_MAJOR_VER_MIN && HIBYTE(WinSockInfo.wVersion) >= WIN_SOCK_MINOR_VER_MIN)) ! { ! wVersionRequested = WinSockInfo.wVersion; ! iRet = WSAStartup( wVersionRequested, &WinSockInfo ); ! if (iRet) ! return FALSE; ! } ! else ! return FALSE; ! } } else if(ul_reason_for_call == DLL_PROCESS_DETACH) *************** *** 113,118 **** } // ! // CShoutcastSource // --- 145,195 ---- } + class CListingWindow : public CBaseWindow + { + public: + BOOL bAllDone; + + CListingWindow() : + CBaseWindow() + { + bAllDone = FALSE; + } + virtual ~CListingWindow() {} + + virtual LPTSTR GetClassWindowStyles( + DWORD *pClassStyles, // Class styles + DWORD *pWindowStyles, // Window styles + DWORD *pWindowStylesEx) // Extended styles + { + if( pClassStyles ) + *pClassStyles = CS_HREDRAW | CS_VREDRAW; + if( pWindowStyles ) + *pWindowStyles = WS_OVERLAPPEDWINDOW; + if( pWindowStylesEx ) + *pWindowStylesEx = 0; + return L"VsrvSrc Listing"; + } + BOOL OnClose() + { + CBaseWindow::OnClose(); + bAllDone = TRUE; + return TRUE; + } + + LRESULT OnReceiveMessage(HWND hwnd, // Window handle + UINT uMsg, // Message ID + WPARAM wParam, // First parameter + LPARAM lParam) // Other parameter + { + switch (uMsg) { + case WM_CREATE: + default: + return CBaseWindow::OnReceiveMessage(hwnd, uMsg, wParam, lParam); + }; + } + }; + // ! // CTySourceFilter // *************** *** 151,154 **** --- 228,281 ---- } + CString CTySourceFilter::RetrieveNowShowingSelection() + { + #if 0 + HINSTANCE hInstance = (HINSTANCE)GetModuleHandle(NULL); + + WNDCLASSEX wndclass; + wndclass.cbSize = sizeof( wndclass ); + wndclass.style = CS_HREDRAW | CS_VREDRAW; + wndclass.lpfnWndProc = WndProc; + wndclass.cbClsExtra = 0; + wndclass.cbWndExtra = 0; + wndclass.hInstance = hInstance; + wndclass.hCursor = LoadCursor( NULL, IDC_ARROW ); + wndclass.hIcon = LoadIcon( NULL, IDI_APPLICATION ); + wndclass.hbrBackground = (HBRUSH) GetStockObject( WHITE_BRUSH ); + wndclass.lpszMenuName = NULL; + wndclass.lpszClassName = L"VsrvSrc Selection"; + wndclass.hIconSm = LoadIcon( NULL, IDI_APPLICATION ); + RegisterClassEx(&wndclass); + + HWND hwnd = CreateWindow( L"VsrvSrc Selection", L"Choose a movie to watch", + WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, CW_USEDEFAULT, + CW_USEDEFAULT, CW_USEDEFAULT, + NULL, NULL, hInstance, NULL); + + ShowWindow(hwnd, SW_SHOW); + UpdateWindow(hwnd); + + return L"Hi"; + #else + CListingWindow wnd; + if( FAILED(wnd.PrepareWindow()) ) + return L""; + wnd.ActivateWindow(); + wnd.DoShowWindow(SW_SHOW); + + // Run a pump while our window is active + MSG msg; + while( GetMessage(&msg, NULL, 0, 0) && !wnd.bAllDone ) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + wnd.DoneWithWindow(); + + return L"Hi"; + #endif + } + // IFileSourceFilter *************** *** 210,213 **** --- 337,343 ---- , m_strHostName(NULL) , m_strPath(NULL) + , m_bIsPushFilter(true) + , m_bNeedStartPosition(false) + , m_llPushPosition(0) { ASSERT(phr); *************** *** 242,250 **** *p = '\0'; ! if( !vstream_start(m_strHostName) ) ! return; ! if( !vstream_fsidtoparts(m_strPath) ) return; *phr = S_OK; --- 372,399 ---- *p = '\0'; ! int fsid = atoi(m_strPath); ! try ! { ! if( !vstream_start(m_strHostName) ) ! return; ! ! if( vstream_is_live_fsid( fsid ) == 0 ) ! m_bIsPushFilter = false; ! else ! m_bIsPushFilter = true; ! ! if( !vstream_fsidtoparts(m_strPath, m_bIsPushFilter?1:0 ) ) ! return; ! } ! catch(...) ! { return; + } + + m_ReadThread.SetPath(m_strPath); + m_ReadThread.Create(); + m_ReadThread.CallWorker(CReadThread::CMD_INIT); + m_ReadThread.CallWorker(CReadThread::CMD_RUN); *phr = S_OK; *************** *** 253,260 **** --- 402,423 ---- CVserverStream::~CVserverStream() { + CReadThread::Element e; + e.pSample = static_cast<IMediaSample*>((void*)-1); + e.hr = VFW_E_TIMEOUT; + m_ReadThread.m_PendingQueue.PutQueueObject(e); + + m_ReadThread.CallWorker(CReadThread::CMD_EXIT); if( m_strHostName ) delete[] m_strHostName; if( m_strPath ) delete[] m_strPath; + try + { + vstream_terminate(); + } + catch(...) + { + return; + } } *************** *** 267,273 **** static const int BUFFERS = 2; ! static const int MAXFRAMESIZE = 128*1024; ! pProperties->cBuffers = BUFFERS; pProperties->cbBuffer = MAXFRAMESIZE; --- 430,436 ---- static const int BUFFERS = 2; ! static const int MAXFRAMESIZE = TIVO_CHUNK_SIZE; ! pProperties->cBuffers = max( pProperties->cBuffers, BUFFERS); pProperties->cbBuffer = MAXFRAMESIZE; *************** *** 281,295 **** } - HRESULT CVserverStream::FillBuffer(IMediaSample* pSample) - { - HRESULT hr; - - BYTE* pData = NULL; - if(FAILED(hr = pSample->GetPointer(&pData)) || !pData) - return S_FALSE; - - return S_OK; - } - HRESULT CVserverStream::GetMediaType(int iPosition, CMediaType* pmt) { --- 444,447 ---- *************** *** 328,346 **** { CheckPointer(ppv, E_POINTER); ! return ! QI(IAsyncReader) ! __super::NonDelegatingQueryInterface(riid, ppv); } // IAsyncReader STDMETHODIMP CVserverStream::SyncRead(LONGLONG llPosition, LONG lLength, BYTE* pBuffer) { ! if(llPosition+lLength > vstream_streamsize()) return E_FAIL; // strangly the Seek below can return llPosition even if the file is not that big (?) ! // assert( (llPosition % 512) == 0 ); ! if( !vstream_load_chunk( m_strPath, pBuffer, lLength, llPosition ) ) return E_FAIL; return S_OK; --- 480,727 ---- { CheckPointer(ppv, E_POINTER); + if( riid == __uuidof(IPreRead) && m_bIsPushFilter ) + return GetInterface((IPreRead*)this, ppv); + if( riid == __uuidof(IAsyncReader) && !m_bIsPushFilter ) + return GetInterface((IAsyncReader*)this, ppv); ! return __super::NonDelegatingQueryInterface(riid, ppv); ! } ! ! HRESULT CVserverStream::Active(void) ! { ! ! CAutoLock lock(m_pFilter->pStateLock()); ! ! HRESULT hr; ! ! if (m_pFilter->IsActive()) { ! return S_FALSE; // succeeded, but did not allocate resources (they already exist...) ! } ! ! // do nothing if not connected - its ok not to connect to ! // all pins of a source filter ! if (!IsConnected()) { ! return NOERROR; ! } ! ! hr = CBaseOutputPin::Active(); ! if (FAILED(hr)) { ! return hr; ! } ! ! if( m_bIsPushFilter ) ! { ! ASSERT(!ThreadExists()); ! ! m_bNeedStartPosition = true; ! // start the thread ! if (!Create()) { ! return E_FAIL; ! } ! ! // Tell thread to initialize. If OnThreadCreate Fails, so does this. ! hr = Init(); ! if (FAILED(hr)) ! return hr; ! ! return Pause(); ! } ! return hr; ! } ! ! HRESULT CVserverStream::Inactive(void) { ! ! CAutoLock lock(m_pFilter->pStateLock()); ! ! HRESULT hr; ! ! // do nothing if not connected - its ok not to connect to ! // all pins of a source filter ! if (!IsConnected()) { ! return NOERROR; ! } ! ! // !!! need to do this before trying to stop the thread, because ! // we may be stuck waiting for our own allocator!!! ! ! hr = CBaseOutputPin::Inactive(); // call this first to Decommit the allocator ! if (FAILED(hr)) { ! return hr; ! } ! ! if (ThreadExists()) { ! hr = Stop(); ! ! if (FAILED(hr)) { ! return hr; ! } ! ! hr = Exit(); ! if (FAILED(hr)) { ! return hr; ! } ! ! Close(); // Wait for the thread to exit, then tidy up. ! } ! ! // hr = CBaseOutputPin::Inactive(); // call this first to Decommit the allocator ! //if (FAILED(hr)) { ! // return hr; ! //} ! ! return NOERROR; ! } ! ! // FillBuffer is called once for every sample in the stream. ! HRESULT CVserverStream::FillBuffer(IMediaSample *pSample) ! { ! PBYTE pBuffer = 0; ! ! if( FAILED(pSample->GetPointer(&pBuffer) ) || !pBuffer ) ! return E_FAIL; ! ! return PreRead(pBuffer); ! } ! ! STDMETHODIMP CVserverStream::PreRead(PBYTE pBuffer) ! { ! REFERENCE_TIME curPos = m_llPushPosition; ! REFERENCE_TIME endPos = curPos + (TIVO_CHUNK_SIZE * 10000000LL); ! LONGLONG llPosition = curPos / 10000000; ! LONG lLength = (LONG)((endPos - curPos) / 10000000); ! ! if(llPosition+lLength > vstream_streamsize()) ! { ! // Get the fileno we are currently at ! int fileNo = 0; ! int index; ! ! while(1) ! { ! try ! { ! vstream_getpart(-1, &fileNo, 0, 0); ! vstream_reload_fsidtoparts( m_strPath ); ! llPosition = 0; ! for( index = 0; index < 255; index++ ) ! { ! u64 fileSize; ! int fileNum; ! vstream_getpart(index, &fileNum, &fileSize, 0); ! if( fileNum == 0 && fileSize == 0 ) ! return E_FAIL; ! ! llPosition += fileSize; ! if( fileNo == fileNum ) ! { ! curPos = llPosition * 1000000LL; ! endPos = curPos + (TIVO_CHUNK_SIZE * 10000000LL); ! lLength = TIVO_CHUNK_SIZE; ! break; ! } ! } ! break; ! } ! catch(...) ! { ! continue; ! } ! } ! } ! ! try ! { ! if( !vstream_load_chunk( m_strPath, pBuffer, lLength, llPosition, 1 ) ) ! return E_FAIL; ! } ! catch(...) ! { ! return E_FAIL; ! } ! ! m_llPushPosition = endPos; ! ! return S_OK; } // IAsyncReader + STDMETHODIMP CVserverStream::Request(IMediaSample* pSample, DWORD_PTR dwUser) + { + REFERENCE_TIME llPosition; + REFERENCE_TIME llEndPos; + + HRESULT hr = pSample->GetTime(&llPosition, &llEndPos); + if( FAILED(hr) ) + return VFW_E_SAMPLE_TIME_NOT_SET; + + llPosition /= 10000000; + llEndPos /= 10000000; + + try + { + if( llPosition >= vstream_streamsize() || + llEndPos > vstream_streamsize() ) + return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF); + } + catch(...) + { + return HRESULT_FROM_WIN32(ERROR_HANDLE_EOF); + } + + CReadThread::Element e; + e.pSample = pSample; + e.pUser = dwUser; + e.hr = S_OK; + m_ReadThread.m_PendingQueue.PutQueueObject(e); + + return S_OK; + } + + STDMETHODIMP CVserverStream::WaitForNext(DWORD dwTimeout, IMediaSample** ppSample, DWORD_PTR* pdwUser) + { + CReadThread::Element e = m_ReadThread.m_FinishedQueue.GetQueueObject(); + + if( e.pSample == static_cast<IMediaSample*>((void*)-1) ) + { + *ppSample = NULL; + return VFW_E_TIMEOUT; + } + + *ppSample = e.pSample; + *pdwUser = e.pUser; + return e.hr; + } + + STDMETHODIMP CVserverStream::BeginFlush() + { + CReadThread::Element e; + e.pSample = static_cast<IMediaSample*>((void*)-1); + e.hr = VFW_E_TIMEOUT; + m_ReadThread.m_PendingQueue.PutQueueObject(e); + m_ReadThread.CallWorker(CReadThread::CMD_FLUSH); + return S_OK; + } + + STDMETHODIMP CVserverStream::EndFlush() + { + m_ReadThread.CallWorker(CMD_RUN); + return S_OK; + } + STDMETHODIMP CVserverStream::SyncRead(LONGLONG llPosition, LONG lLength, BYTE* pBuffer) { ! try ! { ! if(llPosition+lLength > vstream_streamsize()) return E_FAIL; // strangly the Seek below can return llPosition even if the file is not that big (?) ! // assert( (llPosition % 512) == 0 ); ! if( !vstream_load_chunk( m_strPath, pBuffer, lLength, llPosition, 0 ) ) ! return E_FAIL; ! } ! catch(...) ! { return E_FAIL; + } return S_OK; *************** *** 354,355 **** --- 735,857 ---- } + CVserverStream::CReadThread::CReadThread() + : m_PendingQueue(20) + , m_FinishedQueue(20) + { + } + + CVserverStream::CReadThread::~CReadThread() + { + } + + void CVserverStream::CReadThread::SetPath(CStringA strPath) + { + m_strPath = strPath; + } + + DWORD CVserverStream::CReadThread::ThreadProc() + { + Command com; + + do { + com = (Command)GetRequest(); + if (com != CMD_INIT) + { + DbgLog((LOG_ERROR, 1, TEXT("Thread expected init command"))); + Reply((DWORD) E_UNEXPECTED); + } + } while (com != CMD_INIT); + + DbgLog((LOG_TRACE, 1, TEXT("CSourceStream worker thread initializing"))); + + // Initialisation suceeded + Reply(NOERROR); + + Command cmd; + do { + cmd = (Command)GetRequest(); + + switch (cmd) { + + case CMD_EXIT: + Reply(NOERROR); + break; + + case CMD_RUN: + Reply(NOERROR); + DoBufferProcessingLoop(); + break; + + case CMD_FLUSH: + Reply(NOERROR); + DoBufferFlush(); + break; + + case CMD_STOP: + Reply(NOERROR); + break; + + default: + DbgLog((LOG_ERROR, 1, TEXT("Unknown command %d received!"), cmd)); + Reply((DWORD) E_NOTIMPL); + break; + } + } while (cmd != CMD_EXIT); + + return 0; + } + + void CVserverStream::CReadThread::DoBufferProcessingLoop() + { + while( !CheckRequest(NULL) ) + { + Element e = m_PendingQueue.GetQueueObject(); + if( e.pSample == static_cast<IMediaSample*>((void*)-1) ) + { + // Leave our flush marker in the queue so that we + // can retrieve it later... + m_PendingQueue.PutQueueObject(e); + break; + } + + REFERENCE_TIME llPosition; + REFERENCE_TIME llEndPos; + BYTE* pBuffer; + + e.pSample->GetTime(&llPosition, &llEndPos); + e.pSample->GetPointer(&pBuffer); + + llPosition /= 10000000; + llEndPos /= 10000000; + + DWORD lLength = (DWORD)(llEndPos - llPosition); + + try + { + if( !vstream_load_chunk( m_strPath.GetBuffer(), pBuffer, lLength, llPosition, 0 ) ) + e.hr = E_FAIL; + else + e.hr = S_OK; + } + catch(...) + { + e.hr = E_FAIL; + } + + m_FinishedQueue.PutQueueObject(e); + } + } + + void CVserverStream::CReadThread::DoBufferFlush() + { + while(1) + { + Element e = m_PendingQueue.GetQueueObject(); + + e.hr = VFW_E_TIMEOUT; + m_FinishedQueue.PutQueueObject(e); + + if( e.pSample == static_cast<IMediaSample*>((void*)-1) ) + break; + } + } Index: VsrvSrc.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/VsrvSrc.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** VsrvSrc.h 31 Oct 2003 22:14:15 -0000 1.1 --- VsrvSrc.h 23 Sep 2004 15:35:48 -0000 1.2 *************** *** 22,25 **** --- 22,27 ---- #pragma once + #include "IPreRead.h" + typedef unsigned __int64 QWORD; typedef unsigned long DWORD; *************** *** 40,43 **** --- 42,47 ---- CVserverStream* m_pStream; + CString RetrieveNowShowingSelection(); + public: CTySourceFilter(LPUNKNOWN lpunk, HRESULT* phr); *************** *** 63,67 **** }; ! class CVserverStream : public CSourceStream, public IAsyncReader { private: --- 67,73 ---- }; ! class CVserverStream : public CSourceStream ! , public IAsyncReader ! , public IPreRead { private: *************** *** 69,75 **** --- 75,113 ---- char* m_strPath; DWORD m_dwPort; + bool m_bIsPushFilter; + bool m_bNeedStartPosition; + REFERENCE_TIME m_llPushPosition; char* ConvertLocal(CString&) const; + class CReadThread : public CAMThread + { + public: + typedef struct { + IMediaSample* pSample; + DWORD_PTR pUser; + HRESULT hr; + } Element; + CQueue<Element> m_PendingQueue; + CQueue<Element> m_FinishedQueue; + + protected: + virtual DWORD ThreadProc(); + void DoBufferProcessingLoop(void); + void DoBufferFlush(void); + CStringA m_strPath; + + public: + CReadThread(); + virtual ~CReadThread(); + + void SetPath(CStringA strPath); + + enum Command {CMD_INIT, CMD_FLUSH, CMD_RUN, CMD_STOP, CMD_EXIT}; + }; + CReadThread m_ReadThread; + HRESULT Active(void); + HRESULT Inactive(void); + public: CVserverStream(CString wfn, CTySourceFilter* pParent, HRESULT* phr); *************** *** 79,82 **** --- 117,122 ---- STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv); + STDMETHODIMP PreRead(PBYTE pBuffer); + HRESULT DecideBufferSize(IMemAllocator* pIMemAlloc, ALLOCATOR_PROPERTIES* pProperties); HRESULT FillBuffer(IMediaSample* pSample); *************** *** 89,98 **** STDMETHODIMP RequestAllocator(IMemAllocator* pPreferred, ALLOCATOR_PROPERTIES* pProps, IMemAllocator** ppActual) {return E_NOTIMPL;} ! STDMETHODIMP Request(IMediaSample* pSample, DWORD_PTR dwUser) {return E_NOTIMPL;} ! STDMETHODIMP WaitForNext(DWORD dwTimeout, IMediaSample** ppSample, DWORD_PTR* pdwUser) {return E_NOTIMPL;} STDMETHODIMP SyncReadAligned(IMediaSample* pSample) {return E_NOTIMPL;} STDMETHODIMP SyncRead(LONGLONG llPosition, LONG lLength, BYTE* pBuffer); STDMETHODIMP Length(LONGLONG* pTotal, LONGLONG* pAvailable); ! STDMETHODIMP BeginFlush() {return E_NOTIMPL;} ! STDMETHODIMP EndFlush() {return E_NOTIMPL;} }; --- 129,138 ---- STDMETHODIMP RequestAllocator(IMemAllocator* pPreferred, ALLOCATOR_PROPERTIES* pProps, IMemAllocator** ppActual) {return E_NOTIMPL;} ! STDMETHODIMP Request(IMediaSample* pSample, DWORD_PTR dwUser); ! STDMETHODIMP WaitForNext(DWORD dwTimeout, IMediaSample** ppSample, DWORD_PTR* pdwUser); STDMETHODIMP SyncReadAligned(IMediaSample* pSample) {return E_NOTIMPL;} STDMETHODIMP SyncRead(LONGLONG llPosition, LONG lLength, BYTE* pBuffer); STDMETHODIMP Length(LONGLONG* pTotal, LONGLONG* pAvailable); ! STDMETHODIMP BeginFlush(); ! STDMETHODIMP EndFlush(); }; Index: VsrvSrc.vcproj =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/VsrvSrc.vcproj,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** VsrvSrc.vcproj 31 Oct 2003 16:37:59 -0000 1.2 --- VsrvSrc.vcproj 23 Sep 2004 15:35:48 -0000 1.3 *************** *** 1,458 **** ! <?xml version="1.0" encoding="Windows-1252"?> ! <VisualStudioProject ! ProjectType="Visual C++" ! Version="7.10" ! Name="VsrvSrc" ! ProjectGUID="{C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}" ! RootNamespace="VsrvSrc" ! Keyword="Win32Proj"> ! <Platforms> ! <Platform ! Name="Win32"/> ! </Platforms> ! <Configurations> ! <Configuration ! Name="Debug|Win32" ! OutputDirectory="Debug" ! IntermediateDirectory="Debug" ! ConfigurationType="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;_DEBUG" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="4"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="basesplitterDU.lib strmbaseDU.lib dsutilDU.lib winmm.lib" ! OutputFile="$(OutDir)/VsrvSrc.ax" ! LinkIncremental="0" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="TRUE" ! ProgramDatabaseFile="$(OutDir)/VsrvSrc.pdb" ! SubSystem="2" ! ImportLibrary="$(OutDir)/VsrvSrc.lib" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release|Win32" ! OutputDirectory="Release" ! IntermediateDirectory="Release" ! ConfigurationType="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;VSRVSRC_EXPORTS" ! RuntimeLibrary="0" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="TRUE" ! DebugInformationFormat="3"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! OutputFile="$(OutDir)/VsrvSrc.dll" ! LinkIncremental="1" ! GenerateDebugInformation="TRUE" ! SubSystem="2" ! OptimizeReferences="2" ! EnableCOMDATFolding="2" ! ImportLibrary="$(OutDir)/VsrvSrc.lib" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Debug Unicode|Win32" ! OutputDirectory="Debug Unicode" ! IntermediateDirectory="Debug Unicode" ! ConfigurationType="2" ! UseOfMFC="2" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;_DEBUG" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="1" ! BrowseInformation="1" ! WarningLevel="3" ! DebugInformationFormat="4" ! CompileAs="0"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="wsock32.lib winmm.lib" ! OutputFile="$(OutDir)/$(ProjectName).ax" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="libcmtd" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="TRUE" ! SubSystem="2" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release Unicode|Win32" ! OutputDirectory="$(ConfigurationName)" ! IntermediateDirectory="$(ConfigurationName)" ! ConfigurationType="2" ! UseOfMFC="1" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="2" ! InlineFunctionExpansion="1" ! OmitFramePointers="TRUE" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;NDEBUG" ! StringPooling="TRUE" ! MinimalRebuild="FALSE" ! BasicRuntimeChecks="0" ! RuntimeLibrary="0" ! EnableFunctionLevelLinking="TRUE" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="1" ! WarningLevel="3" ! DebugInformationFormat="3" ! CompileAs="0"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="wsock32.lib winmm.lib" ! OutputFile="$(OutDir)/$(ProjectName).ax" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="FALSE" ! GenerateMapFile="TRUE" ! MapFileName="$(OutDir)\$(TargetName).map" ! SubSystem="2" ! OptimizeReferences="2" ! EnableCOMDATFolding="2" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! </Configurations> ! <References> ! </References> ! <Files> ! <Filter ! Name="Source Files" ! Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" ! UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> ! <File ! RelativePath=".\stdafx.cpp"> ! <FileConfiguration ! Name="Debug|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\VsrvSrc.cpp"> ! </File> ! <File ! RelativePath=".\VsrvSrc.def"> ! </File> ! </Filter> ! <Filter ! Name="Header Files" ! Filter="h;hpp;hxx;hm;inl;inc;xsd" ! UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> ! <File ! RelativePath=".\stdafx.h"> ! </File> ! <File ! RelativePath=".\VsrvSrc.h"> ! </File> ! </Filter> ! <Filter ! Name="Resource Files" ! Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" ! UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> ! </Filter> ! <Filter ! Name="mfs" ! Filter=""> ! <File ! RelativePath=".\mfs\bitmap.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\crc.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\darwin_dlfcn.h"> ! </File> ! <File ! RelativePath=".\mfs\darwin_getopt.h"> ! </File> ! <File ! RelativePath=".\mfs\darwin_unistd.h"> ! </File> ! <File ! RelativePath=".\mfs\io.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\mfs.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\mfs.h"> ! </File> ! <File ! RelativePath=".\mfs\objects.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\partition.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\preload_schema.h"> ! </File> ! <File ! RelativePath=".\mfs\proto.h"> ! </File> ! <File ! RelativePath=".\mfs\query.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\schema.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\util.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\vstream.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! </Filter> ! <File ! RelativePath=".\ReadMe.txt"> ! </File> ! </Files> ! <Globals> ! </Globals> ! </VisualStudioProject> --- 1,458 ---- ! <?xml version="1.0" encoding="Windows-1252"?> ! <VisualStudioProject ! ProjectType="Visual C++" ! Version="7.10" ! Name="VsrvSrc" ! ProjectGUID="{C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}" ! RootNamespace="VsrvSrc" ! Keyword="Win32Proj"> ! <Platforms> ! <Platform ! Name="Win32"/> ! </Platforms> ! <Configurations> ! <Configuration ! Name="Debug|Win32" ! OutputDirectory="Debug" ! IntermediateDirectory="Debug" ! ConfigurationType="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;_DEBUG" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="4"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="basesplitterDU.lib strmbaseDU.lib dsutilDU.lib winmm.lib" ! OutputFile="$(OutDir)/VsrvSrc.ax" ! LinkIncremental="0" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="TRUE" ! ProgramDatabaseFile="$(OutDir)/VsrvSrc.pdb" ! SubSystem="2" ! ImportLibrary="$(OutDir)/VsrvSrc.lib" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release|Win32" ! OutputDirectory="Release" ! IntermediateDirectory="Release" ! ConfigurationType="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;VSRVSRC_EXPORTS" ! RuntimeLibrary="0" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="TRUE" ! DebugInformationFormat="3"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! OutputFile="$(OutDir)/VsrvSrc.dll" ! LinkIncremental="1" ! GenerateDebugInformation="TRUE" ! SubSystem="2" ! OptimizeReferences="2" ! EnableCOMDATFolding="2" ! ImportLibrary="$(OutDir)/VsrvSrc.lib" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Debug Unicode|Win32" ! OutputDirectory="Debug Unicode" ! IntermediateDirectory="Debug Unicode" ! ConfigurationType="2" ! UseOfMFC="2" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! AdditionalIncludeDirectories="..\include;"c:\dxsdk\samples\c++\directshow\baseclasses"" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;_DEBUG" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="1" ! BrowseInformation="1" ! WarningLevel="3" ! DebugInformationFormat="4" ! CompileAs="0"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="wsock32.lib winmm.lib" ! OutputFile="$(OutDir)/$(ProjectName).ax" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="libcmtd" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="TRUE" ! SubSystem="2" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release Unicode|Win32" ! OutputDirectory="$(ConfigurationName)" ! IntermediateDirectory="$(ConfigurationName)" ! ConfigurationType="2" ! UseOfMFC="1" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="2" ! InlineFunctionExpansion="1" ! OmitFramePointers="TRUE" ! AdditionalIncludeDirectories="..\include;"c:\dxsdk\samples\c++\directshow\baseclasses"" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;NDEBUG" ! StringPooling="TRUE" ! MinimalRebuild="FALSE" ! BasicRuntimeChecks="0" ! RuntimeLibrary="0" ! EnableFunctionLevelLinking="TRUE" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="1" ! WarningLevel="3" ! DebugInformationFormat="3" ! CompileAs="0"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="wsock32.lib winmm.lib" ! OutputFile="$(OutDir)/$(ProjectName).ax" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="FALSE" ! GenerateMapFile="TRUE" ! MapFileName="$(OutDir)\$(TargetName).map" ! SubSystem="2" ! OptimizeReferences="2" ! EnableCOMDATFolding="2" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! </Configurations> ! <References> ! </References> ! <Files> ! <Filter ! Name="Source Files" ! Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" ! UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> ! <File ! RelativePath=".\stdafx.cpp"> ! <FileConfiguration ! Name="Debug|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\VsrvSrc.cpp"> ! </File> ! <File ! RelativePath=".\VsrvSrc.def"> ! </File> ! </Filter> ! <Filter ! Name="Header Files" ! Filter="h;hpp;hxx;hm;inl;inc;xsd" ! UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> ! <File ! RelativePath=".\stdafx.h"> ! </File> ! <File ! RelativePath=".\VsrvSrc.h"> ! </File> ! </Filter> ! <Filter ! Name="Resource Files" ! Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" ! UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> ! </Filter> ! <Filter ! Name="mfs" ! Filter=""> ! <File ! RelativePath=".\mfs\bitmap.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\crc.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\darwin_dlfcn.h"> ! </File> ! <File ! RelativePath=".\mfs\darwin_getopt.h"> ! </File> ! <File ! RelativePath=".\mfs\darwin_unistd.h"> ! </File> ! <File ! RelativePath=".\mfs\io.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\mfs.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\mfs.h"> ! </File> ! <File ! RelativePath=".\mfs\objects.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\partition.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\preload_schema.h"> ! </File> ! <File ! RelativePath=".\mfs\proto.h"> ! </File> ! <File ! RelativePath=".\mfs\query.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\schema.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\util.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\mfs\vstream.c"> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="0"/> ! </FileConfiguration> ! </File> ! </Filter> ! <File ! RelativePath=".\ReadMe.txt"> ! </File> ! </Files> ! <Globals> ! </Globals> ! </VisualStudioProject> |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:36:40
|
Update of /cvsroot/tyshow/TyShow/ReleaseFiles In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/ReleaseFiles Modified Files: CreateDebugRelease.bat CreateRelease.bat ReleaseFiles.vcproj TyShow.nsi register.bat unregister.bat Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes Index: TyShow.nsi =================================================================== RCS file: /cvsroot/tyshow/TyShow/ReleaseFiles/TyShow.nsi,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TyShow.nsi 11 Nov 2003 18:22:09 -0000 1.2 --- TyShow.nsi 23 Sep 2004 15:35:47 -0000 1.3 *************** *** 1,151 **** ! ;NSIS Modern User Interface version 1.63 ! ;Basic Example Script ! ;Written by Joost Verburg ! ! !define MUI_PRODUCT "TyShow" ;Define your own software name here ! !define MUI_VERSION "BETA 0.13" ;Define your own software version here ! ! !include "MUI.nsh" ! ! ;-------------------------------- ! ;Configuration ! ! ;General ! OutFile "TyShow.exe" ! ! ;Folder selection page ! InstallDir "C:\Program Files\TyShow" ! ! ;Remember install folder ! InstallDirRegKey HKCU "Software\${MUI_PRODUCT}" "" ! ! ;-------------------------------- ! ;Modern UI Configuration ! ! !define MUI_LICENSEPAGE ! !define MUI_COMPONENTSPAGE ! !define MUI_DIRECTORYPAGE ! ! !define MUI_ABORTWARNING ! ! !define MUI_UNINSTALLER ! !define MUI_UNCONFIRMPAGE ! ! ;-------------------------------- ! ;Languages ! ! !insertmacro MUI_LANGUAGE "English" ! ! ;-------------------------------- ! ;Language Strings ! ! ;Description ! LangString DESC_SecCopyUI ${LANG_ENGLISH} "Install the tyshow filters." ! LangString DESC_SecRegTyUI ${LANG_ENGLISH} "Register .ty extension." ! LangString DESC_SecWmpExtUI ${LANG_ENGLISH} "Add WMP extensions for .ty files." ! ! ;-------------------------------- ! ;Data ! ! LicenseData "License.txt" ! ! ;-------------------------------- ! ;Installer Sections ! ! Section "Filters" SecCopyUI ! ! ;adds the files to install ! SetOutPath "$INSTDIR" ! File "Mpeg2DecFilter.ax" ! File "TySplitter.ax" ! File "VsrvSrc.ax" ! File "register.bat" ! File "unregister.bat" ! ! ;Store install folder ! WriteRegStr HKCU "Software\${MUI_PRODUCT}" "" $INSTDIR ! ! ;registers the filters ! Execwait "$INSTDIR\register.bat" ! ! ! ;Create uninstaller ! WriteUninstaller "$INSTDIR\untyshow.exe" ! ! SectionEnd ! ! Section "Register .ty Extension" SecRegTyUI ! ;ADD YOUR OWN STUFF HERE! ! ! SetOutPath "$INSTDIR" ! ! ;Store install folder ! WriteRegStr HKCR ".ty" "PerceivedType" "video" ! WriteRegStr HKCR ".ty" "Content Type" "video/ty" ! WriteRegStr HKCR ".ty" "" "mpegfile" ! WriteRegStr HKCR ".ty\OpenWithList\wmplayer.exe" "" "" ! WriteRegStr HKCR ".ty\PersistentHandler" "" "{098f2470-bae0-11cd-b579-08002b30bfeb}" ! WriteRegStr HKCR ".ty\OpenWithProgIds" "mpegfile" $1 ! WriteRegStr HKCR ".ty\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}" "" "{c5a40261-cd64-4ccf-84cb-c394da41d590}" ! ! ! ;Create uninstaller ! WriteUninstaller "$INSTDIR\untyshow.exe" ! ! SectionEnd ! ! Section "Register WMP Extension" SecWmpExtUI ! ;ADD YOUR OWN STUFF HERE! ! ! SetOutPath "$INSTDIR" ! ! WriteRegDWORD HKLM "SOFTWARE\Microsoft\Multimedia\WMPlayer\Schemes\tivo" "Runtime" 7 ! WriteRegDWORD HKLM "SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.ty" "Runtime" 7 ! WriteRegDWORD HKLM "SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.ty" "Permissions" 15 ! ! ;Create uninstaller ! WriteUninstaller "$INSTDIR\untyshow.exe" ! ! SectionEnd ! ! ;Display the Finish header ! ;Insert this macro after the sections if you are not using a finish page ! !insertmacro MUI_SECTIONS_FINISHHEADER ! ! ;-------------------------------- ! ;Descriptions ! ! !insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN ! !insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI) ! !insertmacro MUI_DESCRIPTION_TEXT ${SecRegTyUI} $(DESC_SecRegTyUI) ! !insertmacro MUI_DESCRIPTION_TEXT ${SecWmpExtUI} $(DESC_SecWmpExtUI) ! !insertmacro MUI_FUNCTIONS_DESCRIPTION_END ! ! ;-------------------------------- ! ;Uninstaller Section ! ! Section "Uninstall" ! ! ;ADD YOUR OWN STUFF HERE! ! Execwait "$INSTDIR\unregister.bat" ! Delete "$INSTDIR\register.bat" ! Delete "$INSTDIR\unregister.bat" ! Delete "$INSTDIR\Mpeg2DecFilter.ax" ! Delete "$INSTDIR\TySplitter.ax" ! Delete "$INSTDIR\VsrvSrc.ax" ! Delete "$INSTDIR\untyshow.exe" ! ! RMDir "$INSTDIR" ! ! DeleteRegKey /ifempty HKCU "Software\${MUI_PRODUCT}" ! ! DeleteRegKey HKCR ".ty\PersistentHandler" ! ! DeleteRegKey HKCR ".ty\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}" ! DeleteRegKey HKCR ".ty\OpenWithList\wmplayer.exe" ! DeleteRegKey HKCR ".ty" ! ;Display the Finish header ! !insertmacro MUI_UNFINISHHEADER ! ! SectionEnd ! --- 1,153 ---- ! ;NSIS Modern User Interface version 1.63 ! ;Basic Example Script ! ;Written by Joost Verburg ! ! !define MUI_PRODUCT "TyShow" ;Define your own software name here ! !define MUI_VERSION "BETA 0.13" ;Define your own software version here ! ! !include "MUI.nsh" ! ! ;-------------------------------- ! ;Configuration ! ! ;General ! OutFile "TyShow.exe" ! ! ;Folder selection page ! InstallDir "C:\Program Files\TyShow" ! ! ;Remember install folder ! InstallDirRegKey HKCU "Software\${MUI_PRODUCT}" "" ! ! ;-------------------------------- ! ;Modern UI Configuration ! ! !define MUI_LICENSEPAGE ! !define MUI_COMPONENTSPAGE ! !define MUI_DIRECTORYPAGE ! ! !define MUI_ABORTWARNING ! ! !define MUI_UNINSTALLER ! !define MUI_UNCONFIRMPAGE ! ! ;-------------------------------- ! ;Languages ! ! !insertmacro MUI_LANGUAGE "English" ! ! ;-------------------------------- ! ;Language Strings ! ! ;Description ! LangString DESC_SecCopyUI ${LANG_ENGLISH} "Install the tyshow filters." ! LangString DESC_SecRegTyUI ${LANG_ENGLISH} "Register .ty extension." ! LangString DESC_SecWmpExtUI ${LANG_ENGLISH} "Add WMP extensions for .ty files." ! ! ;-------------------------------- ! ;Data ! ! LicenseData "License.txt" ! ! ;-------------------------------- ! ;Installer Sections ! ! Section "Filters" SecCopyUI ! ! ;adds the files to install ! SetOutPath "$INSTDIR" ! File "Mpeg2DecFilter.ax" ! File "TySplitter.ax" ! File "VsrvSrc.ax" ! ! ;Store install folder ! WriteRegStr HKCU "Software\${MUI_PRODUCT}" "" $INSTDIR ! ! RegDLL "$INSTDIR\Mpeg2DecFilter.ax" ! RegDLL "$INSTDIR\TySplitter.ax" ! RegDLL "$INSTDIR\VsrvSrc.ax" ! ! ;Create uninstaller ! WriteUninstaller "$INSTDIR\uninstall.exe" ! ! SectionEnd ! ! Section "Register .ty Extension" SecRegTyUI ! ;ADD YOUR OWN STUFF HERE! ! ! SetOutPath "$INSTDIR" ! ! ;Store install folder ! WriteRegStr HKCR ".ty" "PerceivedType" "video" ! WriteRegStr HKCR ".ty" "Content Type" "video/ty" ! WriteRegStr HKCR ".ty" "" "mpegfile" ! WriteRegStr HKCR ".ty\OpenWithList\wmplayer.exe" "" "" ! WriteRegStr HKCR ".ty\PersistentHandler" "" "{098f2470-bae0-11cd-b579-08002b30bfeb}" ! WriteRegStr HKCR ".ty\OpenWithProgIds" "mpegfile" $1 ! WriteRegStr HKCR ".ty\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}" "" "{c5a40261-cd64-4ccf-84cb-c394da41d590}" ! ! ! ;Create uninstaller ! WriteUninstaller "$INSTDIR\uninstall.exe" ! ! SectionEnd ! ! Section "Register WMP Extension" SecWmpExtUI ! ;ADD YOUR OWN STUFF HERE! ! ! SetOutPath "$INSTDIR" ! ! WriteRegDWORD HKLM "SOFTWARE\Microsoft\Multimedia\WMPlayer\Schemes\tivo" "Runtime" 7 ! WriteRegDWORD HKLM "SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.ty" "Runtime" 7 ! WriteRegDWORD HKLM "SOFTWARE\Microsoft\Multimedia\WMPlayer\Extensions\.ty" "Permissions" 15 ! ! ;Create uninstaller ! WriteUninstaller "$INSTDIR\uninstall.exe" ! ! SectionEnd ! ! ;Display the Finish header ! ;Insert this macro after the sections if you are not using a finish page ! !insertmacro MUI_SECTIONS_FINISHHEADER ! ! ;-------------------------------- ! ;Descriptions ! ! !insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN ! !insertmacro MUI_DESCRIPTION_TEXT ${SecCopyUI} $(DESC_SecCopyUI) ! !insertmacro MUI_DESCRIPTION_TEXT ${SecRegTyUI} $(DESC_SecRegTyUI) ! !insertmacro MUI_DESCRIPTION_TEXT ${SecWmpExtUI} $(DESC_SecWmpExtUI) ! !insertmacro MUI_FUNCTIONS_DESCRIPTION_END ! ! ;-------------------------------- ! ;Uninstaller Section ! ! Section "Uninstall" ! ! ;ADD YOUR OWN STUFF HERE! ! ! UnRegDLL "$INSTDIR\Mpeg2DecFilter.ax" ! UnRegDLL "$INSTDIR\TySplitter.ax" ! UnRegDLL "$INSTDIR\VsrvSrc.ax" ! ! Delete "$INSTDIR\Mpeg2DecFilter.ax" ! Delete "$INSTDIR\TySplitter.ax" ! Delete "$INSTDIR\VsrvSrc.ax" ! ! Delete "$INSTDIR\uninstall.exe" ! ! RMDir "$INSTDIR" ! ! DeleteRegKey /ifempty HKCU "Software\${MUI_PRODUCT}" ! ! DeleteRegKey HKCR ".ty\PersistentHandler" ! ! DeleteRegKey HKCR ".ty\ShellEx\{BB2E617C-0920-11d1-9A0B-00C04FC2D6C1}" ! DeleteRegKey HKCR ".ty\OpenWithList\wmplayer.exe" ! DeleteRegKey HKCR ".ty" ! ! ;Display the Finish header ! !insertmacro MUI_UNFINISHHEADER ! ! SectionEnd ! Index: ReleaseFiles.vcproj =================================================================== RCS file: /cvsroot/tyshow/TyShow/ReleaseFiles/ReleaseFiles.vcproj,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ReleaseFiles.vcproj 16 Oct 2003 23:22:20 -0000 1.2 --- ReleaseFiles.vcproj 23 Sep 2004 15:35:47 -0000 1.3 *************** *** 1,60 **** ! <?xml version="1.0" encoding="Windows-1252"?> ! <VisualStudioProject ! ProjectType="Visual C++" ! Version="7.10" ! Name="ReleaseFiles" ! ProjectGUID="{BDF96B6B-9AEB-4FE1-8E75-3772623D168D}" ! Keyword="MakeFileProj"> ! <Platforms> ! <Platform ! Name="Win32"/> ! </Platforms> ! <Configurations> ! <Configuration ! Name="Debug|Win32" ! OutputDirectory="Debug" ! IntermediateDirectory="Debug" ! ConfigurationType="0"> ! <Tool ! Name="VCNMakeTool" ! BuildCommandLine="CreateDebugRelease.bat" ! CleanCommandLine="CreateDebugRelease.bat clean" ! Output="TyShow.rar"/> ! </Configuration> ! <Configuration ! Name="Release|Win32" ! OutputDirectory="Release" ! IntermediateDirectory="Release" ! ConfigurationType="0"> ! <Tool ! Name="VCNMakeTool" ! BuildCommandLine="CreateRelease.bat" ! CleanCommandLine="CreateRelease.bat clean" ! Output="TyShow.rar"/> ! </Configuration> ! </Configurations> ! <References> ! </References> ! <Files> ! <Filter ! Name="Source Files" ! Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" ! UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> ! </Filter> ! <Filter ! Name="Header Files" ! Filter="h;hpp;hxx;hm;inl;inc;xsd" ! UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> ! </Filter> ! <Filter ! Name="Resource Files" ! Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" ! UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> ! </Filter> ! <File ! RelativePath=".\readme.txt"> ! </File> ! </Files> ! <Globals> ! </Globals> ! </VisualStudioProject> --- 1,60 ---- ! <?xml version="1.0" encoding="Windows-1252"?> ! <VisualStudioProject ! ProjectType="Visual C++" ! Version="7.10" ! Name="ReleaseFiles" ! ProjectGUID="{BDF96B6B-9AEB-4FE1-8E75-3772623D168D}" ! Keyword="MakeFileProj"> ! <Platforms> ! <Platform ! Name="Win32"/> ! </Platforms> ! <Configurations> ! <Configuration ! Name="Debug|Win32" ! OutputDirectory="Debug" ! IntermediateDirectory="Debug" ! ConfigurationType="0"> ! <Tool ! Name="VCNMakeTool" ! BuildCommandLine="CreateDebugRelease.bat" ! CleanCommandLine="CreateDebugRelease.bat clean" ! Output="TyShow.rar"/> ! </Configuration> ! <Configuration ! Name="Release|Win32" ! OutputDirectory="Release" ! IntermediateDirectory="Release" ! ConfigurationType="0"> ! <Tool ! Name="VCNMakeTool" ! BuildCommandLine="CreateRelease.bat" ! CleanCommandLine="CreateRelease.bat clean" ! Output="TyShow.rar"/> ! </Configuration> ! </Configurations> ! <References> ! </References> ! <Files> ! <Filter ! Name="Source Files" ! Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" ! UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> ! </Filter> ! <Filter ! Name="Header Files" ! Filter="h;hpp;hxx;hm;inl;inc;xsd" ! UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> ! </Filter> ! <Filter ! Name="Resource Files" ! Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" ! UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> ! </Filter> ! <File ! RelativePath=".\readme.txt"> ! </File> ! </Files> ! <Globals> ! </Globals> ! </VisualStudioProject> Index: CreateDebugRelease.bat =================================================================== RCS file: /cvsroot/tyshow/TyShow/ReleaseFiles/CreateDebugRelease.bat,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** CreateDebugRelease.bat 31 Oct 2003 22:29:08 -0000 1.1 --- CreateDebugRelease.bat 23 Sep 2004 15:35:46 -0000 1.2 *************** *** 1 **** ! echo Nothing to do for debug release --- 1 ---- ! echo Nothing to do for debug release Index: CreateRelease.bat =================================================================== RCS file: /cvsroot/tyshow/TyShow/ReleaseFiles/CreateRelease.bat,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** CreateRelease.bat 11 Nov 2003 18:11:09 -0000 1.6 --- CreateRelease.bat 23 Sep 2004 15:35:47 -0000 1.7 *************** *** 1,28 **** ! @echo off ! ! if "%1" == "clean" goto clean ! ! copy /y ..\License.txt ! copy /y ..\Readme.txt ! copy /y "..\TySplitter\Release Unicode\TySplitter.ax" ! copy /y "..\mpeg2decfilter\Release Unicode\Mpeg2DecFilter.ax" ! copy /y "..\VsrvSrc\Release Unicode\VsrvSrc.ax" ! copy /y "..\DbgMon\Release Unicode\DbgMon.exe" ! "c:\Program Files\WinRAR\rar.exe" a Release\TyShow.rar register.bat unregister.bat *.txt *.ax *.reg DbgMon.exe ! "%NSIS%\makensis.exe" TyShow.nsi ! copy /y TyShow.exe Release\ ! goto done ! ! :clean ! if exist License.txt del License.txt ! if exist Readme.txt del Readme.txt ! if exist TySplitter.ax del TySplitter.ax ! if exist Mpeg2DecFilter.ax del Mpeg2DecFilter.ax ! if exist VSrvSrc.ax del VSrvSrc.ax ! if exist DbgMon.exe del DbgMon.exe ! if exist TyShow.exe del TyShow.exe ! if exist Release\TyShow.rar del Release\TyShow.rar ! if exist Release\TyShow.exe del Release\TyShow.exe ! ! ! :done --- 1,28 ---- ! @echo off ! ! if "%1" == "clean" goto clean ! ! copy /y ..\License.txt ! copy /y ..\Readme.txt ! copy /y "..\TySplitter\Release Unicode\TySplitter.ax" ! copy /y "..\mpeg2decfilter\Release Unicode\Mpeg2DecFilter.ax" ! copy /y "..\VsrvSrc\Release Unicode\VsrvSrc.ax" ! copy /y "..\DbgMon\Release Unicode\DbgMon.exe" ! "c:\Program Files\WinRAR\rar.exe" a Release\TyShow.rar register.bat unregister.bat *.txt *.ax *.reg DbgMon.exe ! "%NSIS%\makensis.exe" TyShow.nsi ! copy /y TyShow.exe Release\ ! goto done ! ! :clean ! if exist License.txt del License.txt ! if exist Readme.txt del Readme.txt ! if exist TySplitter.ax del TySplitter.ax ! if exist Mpeg2DecFilter.ax del Mpeg2DecFilter.ax ! if exist VSrvSrc.ax del VSrvSrc.ax ! if exist DbgMon.exe del DbgMon.exe ! if exist TyShow.exe del TyShow.exe ! if exist Release\TyShow.rar del Release\TyShow.rar ! if exist Release\TyShow.exe del Release\TyShow.exe ! ! ! :done Index: unregister.bat =================================================================== RCS file: /cvsroot/tyshow/TyShow/ReleaseFiles/unregister.bat,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** unregister.bat 31 Oct 2003 16:37:59 -0000 1.2 --- unregister.bat 23 Sep 2004 15:35:47 -0000 1.3 *************** *** 1,4 **** ! regsvr32 /u TySplitter.ax ! regsvr32 /u Mpeg2DecFilter.ax ! regsvr32 /u VsrvSrc.ax ! --- 1,4 ---- ! regsvr32 /u TySplitter.ax ! regsvr32 /u Mpeg2DecFilter.ax ! regsvr32 /u VsrvSrc.ax ! Index: register.bat =================================================================== RCS file: /cvsroot/tyshow/TyShow/ReleaseFiles/register.bat,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** register.bat 31 Oct 2003 16:37:59 -0000 1.2 --- register.bat 23 Sep 2004 15:35:47 -0000 1.3 *************** *** 1,3 **** ! regsvr32 TySplitter.ax ! regsvr32 Mpeg2DecFilter.ax ! regsvr32 VsrvSrc.ax --- 1,3 ---- ! regsvr32 TySplitter.ax ! regsvr32 Mpeg2DecFilter.ax ! regsvr32 VsrvSrc.ax |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:36:39
|
Update of /cvsroot/tyshow/TyShow/TySplitter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/TySplitter Modified Files: TySplitter.cpp TySplitter.h TySplitter.vcproj Added Files: Profile.cpp Profile.h TyFile.cpp TyFile.h Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes --- NEW FILE: Profile.h --- /* * Copyright (C) 2003,2004 d7o3g4q * http://sourceforge.net/projects/tyshow * * This Program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This Program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GNU Make; see the file COPYING. If not, write to * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. * http://www.gnu.org/copyleft/gpl.html * */ #pragma once #include <string> using namespace std; class CProfile { protected: wstring m_strCountResults; wstring m_strTimeResults; public: CProfile(); virtual ~CProfile(); }; class CProfileTimingItem : virtual public CProfile { protected: ULONG m_ulTotalTime; ULONG m_ulStartTime; wstring m_strName; public: CProfileTimingItem( TCHAR name ); virtual ~CProfileTimingItem(); void Start(); void Stop(); }; class CAutoTimer { private: CProfileTimingItem* m_pItem; public: CAutoTimer( CProfileTimingItem* item ) { m_pItem = item; m_pItem->Start(); } ~CAutoTimer() { m_pItem->Stop(); } }; class CProfileCountItem : virtual public CProfile { protected: ULONG m_ulTotalCount; wstring m_strName; public: CProfileCountItem( TCHAR name ); virtual ~CProfileCountItem(); void Increment(); }; --- NEW FILE: TyFile.cpp --- #include <stdafx.h> Index: TySplitter.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/TySplitter/TySplitter.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** TySplitter.h 31 Oct 2003 16:37:59 -0000 1.7 --- TySplitter.h 23 Sep 2004 15:35:47 -0000 1.8 *************** *** 25,28 **** --- 25,29 ---- #include <atlcoll.h> #include <afxtempl.h> + #include "..\include\IPreRead.h" #include "..\BaseSplitter\BaseSplitter.h" *************** *** 70,79 **** class CTyFile; class CTySplitterInputPin : public CBaseSplitterInputPin { public: ! CTySplitterInputPin(TCHAR* pName, CBaseSplitterFilter* pFilter, CCritSec* pLock, HRESULT* phr); HRESULT CheckMediaType(const CMediaType* pmt); }; --- 71,87 ---- class CTyFile; + class CTySplitterFilter; class CTySplitterInputPin : public CBaseSplitterInputPin { + protected: + CTySplitterFilter* m_pFilter; + public: ! CTySplitterInputPin(TCHAR* pName, CTySplitterFilter* pFilter, CCritSec* pLock, HRESULT* phr); HRESULT CheckMediaType(const CMediaType* pmt); + STDMETHODIMP GetAllocatorRequirements(ALLOCATOR_PROPERTIES*pProps); + + STDMETHODIMP Receive(IMediaSample *pSample); }; *************** *** 100,103 **** --- 108,113 ---- QWORD m_lastFrameTime; QWORD m_lastAudioTime; + QWORD m_lastSeekTime; + IMemAllocator* m_pAllocator; REFERENCE_TIME m_rtDuration; *************** *** 106,112 **** CAutoPtr<CTyFile> m_pFile; HRESULT CreateOutputs(IAsyncReader* pAsyncReader); bool InitDeliverLoop(); ! void SeekDeliverLoop(REFERENCE_TIME rt); void DoDeliverLoop(); public: --- 116,123 ---- CAutoPtr<CTyFile> m_pFile; HRESULT CreateOutputs(IAsyncReader* pAsyncReader); + HRESULT CreateOutputs(IPreRead* pPreRead); bool InitDeliverLoop(); ! void SeekDeliverLoop(REFERENCE_TIME& rt); void DoDeliverLoop(); public: *************** *** 128,135 **** --- 139,148 ---- DECLARE_IUNKNOWN; STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv); + HRESULT BreakConnection(PIN_DIRECTION dir, CBasePin* pPin); // IMediaSeeking STDMETHODIMP GetDuration(LONGLONG* pDuration); + STDMETHODIMP GetCurrentPosition(LONGLONG* pCurrent); // TODO: this is too ugly, integrate this with the baseclass somehow *************** *** 144,148 **** STDMETHODIMP SetPositions(LONGLONG* pCurrent, DWORD dwCurrentFlags, LONGLONG* pStop, DWORD dwStopFlags); STDMETHODIMP GetPositions(LONGLONG* pCurrent, LONGLONG* pStop); - STDMETHODIMP GetCurrentPosition(LONGLONG* pCurrent); // IPropertyBag --- 157,160 ---- *************** *** 155,158 **** --- 167,172 ---- STDMETHODIMP GetKeyFrameCount(UINT& nKFs); STDMETHODIMP GetKeyFrames(const GUID* pFormat, REFERENCE_TIME* pKFs, UINT& nKFs); + + STDMETHODIMP Receive(IMediaSample *pSample); }; Index: TySplitter.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/TySplitter/TySplitter.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** TySplitter.cpp 11 Nov 2003 18:11:09 -0000 1.16 --- TySplitter.cpp 23 Sep 2004 15:35:47 -0000 1.17 *************** *** 70,74 **** --- 70,76 ---- class CTyFile { + public: CComPtr<IAsyncReader> m_pReader; + protected: UINT64 m_pos, m_len; bool m_bIsPre31Stream; *************** *** 84,92 **** [...1415 lines suppressed...] ! wfex->cbSize = sizeof(WAVEFORMATEX); ! m_dwAudioInterval = (DWORD)(10000000I64 * frame_size / sample_rate); ! DebugLogOutput(LOC, L"\nAC3 Audio found\n" ! L"============================================\n" ! L"nChannels: %d\n" ! L"nSamplesPerSec: %d\n" ! L"nBlockAlign: %d\n" ! L"nAvgBytesPerSec: %d\n" ! L"dwAudioInterval: %d\n", ! wfex->nChannels, ! wfex->nSamplesPerSec, ! wfex->nBlockAlign, ! wfex->nAvgBytesPerSec, ! m_dwAudioInterval ! ); ! ! #undef AUDIO_BYTES_PER_CHANNEL ! } return true; } --- NEW FILE: Profile.cpp --- #include "StdAfx.h" #include "Profile.h" #include "..\util\DebugLog.h" #include <sstream> CProfile::CProfile() { } CProfile::~CProfile() { DebugLogOutput(LOC, L"Profiling information for TySplitter\n\n"); DebugLogOutput(LOC, L"Profile Counters:\n"); DebugLogOutput(LOC, L"--------------------------------------------------\n"); DebugLogOutput(LOC, m_strCountResults.c_str()); DebugLogOutput(LOC, L"\nProfile Timers:\n"); DebugLogOutput(LOC, L"--------------------------------------------------\n"); DebugLogOutput(LOC, m_strTimeResults.c_str()); DebugLogOutput(LOC, L"\n\n==================================================\n"); } CProfileTimingItem::CProfileTimingItem( TCHAR name ) { m_ulTotalTime = 0; m_ulStartTime = 0; m_strName = name; } CProfileTimingItem::~CProfileTimingItem() { m_strTimeResults += m_strName + L": "; wstringstream stream; stream << m_ulTotalTime; m_strTimeResults += stream.get() + L" seconds\n"; } void CProfileTimingItem::Start() { m_ulStartTime = timeGetTime(); } void CProfileTimingItem::Stop() { m_ulTotalTime += timeGetTime() - m_ulStartTime; } CProfileCountItem::CProfileCountItem( TCHAR name ) { m_ulTotalCount = 0; m_strName = name; } CProfileCountItem::~CProfileCountItem() { m_strCountResults += m_strName + L": "; wstringstream stream; stream << m_ulTotalCount; m_strCountResults += stream.get() + L" times\n"; } void CProfileCountItem::Increment() { m_ulTotalCount++; } Index: TySplitter.vcproj =================================================================== RCS file: /cvsroot/tyshow/TyShow/TySplitter/TySplitter.vcproj,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** TySplitter.vcproj 17 Oct 2003 16:10:52 -0000 1.4 --- TySplitter.vcproj 23 Sep 2004 15:35:47 -0000 1.5 *************** *** 1,286 **** ! <?xml version="1.0" encoding="Windows-1252"?> ! <VisualStudioProject ! ProjectType="Visual C++" ! Version="7.10" ! Name="TySplitter" ! ProjectGUID="{D0E399EF-F2BB-4A0F-A9D0-D193A8728595}" ! RootNamespace="TySplitter" ! Keyword="Win32Proj"> ! <Platforms> ! <Platform ! Name="Win32"/> ! </Platforms> ! <Configurations> ! <Configuration ! Name="Debug|Win32" ! OutputDirectory="Debug" ! IntermediateDirectory="Debug" ! ConfigurationType="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;_DEBUG" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="4"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="basesplitterDU.lib strmbaseDU.lib dsutilDU.lib winmm.lib" ! OutputFile="$(OutDir)/TySplitter.ax" ! LinkIncremental="0" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="TRUE" ! ProgramDatabaseFile="$(OutDir)/TySplitter.pdb" ! SubSystem="2" ! ImportLibrary="$(OutDir)/TySplitter.lib" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release|Win32" ! OutputDirectory="Release" ! IntermediateDirectory="Release" ! ConfigurationType="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;TYSPLITTER_EXPORTS" ! RuntimeLibrary="0" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="TRUE" ! DebugInformationFormat="3"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! OutputFile="$(OutDir)/TySplitter.dll" ! LinkIncremental="1" ! GenerateDebugInformation="TRUE" ! SubSystem="2" ! OptimizeReferences="2" ! EnableCOMDATFolding="2" ! ImportLibrary="$(OutDir)/TySplitter.lib" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Debug Unicode|Win32" ! OutputDirectory="Debug Unicode" ! IntermediateDirectory="Debug Unicode" ! ConfigurationType="2" ! UseOfMFC="2" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;_DEBUG" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="1" ! BrowseInformation="1" ! WarningLevel="3" ! DebugInformationFormat="4" ! CompileAs="0"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="winmm.lib" ! OutputFile="$(OutDir)/$(ProjectName).ax" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="libcmtd" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="TRUE" ! SubSystem="2" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release Unicode|Win32" ! OutputDirectory="$(ConfigurationName)" ! IntermediateDirectory="$(ConfigurationName)" ! ConfigurationType="2" ! UseOfMFC="1" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="2" ! InlineFunctionExpansion="1" ! OmitFramePointers="TRUE" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;NDEBUG" ! StringPooling="TRUE" ! MinimalRebuild="FALSE" ! BasicRuntimeChecks="0" ! RuntimeLibrary="0" ! EnableFunctionLevelLinking="TRUE" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="1" ! WarningLevel="3" ! DebugInformationFormat="3" ! CompileAs="0"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="winmm.lib" ! OutputFile="$(OutDir)/$(ProjectName).ax" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="FALSE" ! GenerateMapFile="TRUE" ! MapFileName="$(OutDir)\$(TargetName).map" ! SubSystem="2" ! OptimizeReferences="2" ! EnableCOMDATFolding="2" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! </Configurations> ! <References> ! </References> ! <Files> ! <Filter ! Name="Source Files" ! Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" ! UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> ! <File ! RelativePath=".\stdafx.cpp"> ! <FileConfiguration ! Name="Debug|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\TySplitter.cpp"> ! </File> ! <File ! RelativePath=".\TySplitter.def"> ! </File> ! </Filter> ! <Filter ! Name="Header Files" ! Filter="h;hpp;hxx;hm;inl;inc;xsd" ! UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> ! <File ! RelativePath=".\stdafx.h"> ! </File> ! <File ! RelativePath=".\TySplitter.h"> ! </File> ! </Filter> ! <Filter ! Name="Resource Files" ! Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" ! UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> ! </Filter> ! <File ! RelativePath=".\ReadMe.txt"> ! </File> ! </Files> ! <Globals> ! </Globals> ! </VisualStudioProject> --- 1,298 ---- ! <?xml version="1.0" encoding="Windows-1252"?> ! <VisualStudioProject ! ProjectType="Visual C++" ! Version="7.10" ! Name="TySplitter" ! ProjectGUID="{D0E399EF-F2BB-4A0F-A9D0-D193A8728595}" ! RootNamespace="TySplitter" ! Keyword="Win32Proj"> ! <Platforms> ! <Platform ! Name="Win32"/> ! </Platforms> ! <Configurations> ! <Configuration ! Name="Debug|Win32" ! OutputDirectory="Debug" ! IntermediateDirectory="Debug" ! ConfigurationType="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;_DEBUG" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="4"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="basesplitterDU.lib strmbaseDU.lib dsutilDU.lib winmm.lib" ! OutputFile="$(OutDir)/TySplitter.ax" ! LinkIncremental="0" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="TRUE" ! ProgramDatabaseFile="$(OutDir)/TySplitter.pdb" ! SubSystem="2" ! ImportLibrary="$(OutDir)/TySplitter.lib" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release|Win32" ! OutputDirectory="Release" ! IntermediateDirectory="Release" ! ConfigurationType="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;TYSPLITTER_EXPORTS" ! RuntimeLibrary="0" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="TRUE" ! DebugInformationFormat="3"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! OutputFile="$(OutDir)/TySplitter.dll" ! LinkIncremental="1" ! GenerateDebugInformation="TRUE" ! SubSystem="2" ! OptimizeReferences="2" ! EnableCOMDATFolding="2" ! ImportLibrary="$(OutDir)/TySplitter.lib" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Debug Unicode|Win32" ! OutputDirectory="Debug Unicode" ! IntermediateDirectory="Debug Unicode" ! ConfigurationType="2" ! UseOfMFC="2" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;_DEBUG" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="1" ! BrowseInformation="1" ! WarningLevel="3" ! DebugInformationFormat="4" ! CompileAs="0"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="winmm.lib" ! OutputFile="$(OutDir)/$(ProjectName).ax" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="libcmtd" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="TRUE" ! SubSystem="2" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release Unicode|Win32" ! OutputDirectory="$(ConfigurationName)" ! IntermediateDirectory="$(ConfigurationName)" ! ConfigurationType="2" ! UseOfMFC="1" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="2" ! InlineFunctionExpansion="1" ! OmitFramePointers="TRUE" ! AdditionalIncludeDirectories="c:\dxsdk\samples\c++\directshow\baseclasses" ! PreprocessorDefinitions="REGISTER_FILTER;WIN32;NDEBUG" ! StringPooling="TRUE" ! MinimalRebuild="FALSE" ! BasicRuntimeChecks="0" ! RuntimeLibrary="0" ! EnableFunctionLevelLinking="TRUE" ! RuntimeTypeInfo="TRUE" ! UsePrecompiledHeader="1" ! WarningLevel="3" ! DebugInformationFormat="3" ! CompileAs="0"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLinkerTool" ! RegisterOutput="TRUE" ! AdditionalDependencies="winmm.lib" ! OutputFile="$(OutDir)/$(ProjectName).ax" ! AdditionalLibraryDirectories="c:\dxsdk\lib;"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode";..\..\..\..\lib" ! IgnoreDefaultLibraryNames="" ! ModuleDefinitionFile="$(ProjectName).def" ! GenerateDebugInformation="FALSE" ! GenerateMapFile="TRUE" ! MapFileName="$(OutDir)\$(TargetName).map" ! SubSystem="2" ! OptimizeReferences="2" ! EnableCOMDATFolding="2" ! TargetMachine="1"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCWebDeploymentTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! </Configurations> ! <References> ! </References> ! <Files> ! <Filter ! Name="Source Files" ! Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx" ! UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"> ! <File ! RelativePath=".\Profile.cpp"> ! </File> ! <File ! RelativePath=".\stdafx.cpp"> ! <FileConfiguration ! Name="Debug|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath=".\TyFile.cpp"> ! </File> ! <File ! RelativePath=".\TySplitter.cpp"> ! </File> ! <File ! RelativePath=".\TySplitter.def"> ! </File> ! </Filter> ! <Filter ! Name="Header Files" ! Filter="h;hpp;hxx;hm;inl;inc;xsd" ! UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"> ! <File ! RelativePath=".\Profile.h"> ! </File> ! <File ! RelativePath=".\stdafx.h"> ! </File> ! <File ! RelativePath=".\TyFile.h"> ! </File> ! <File ! RelativePath=".\TySplitter.h"> ! </File> ! </Filter> ! <Filter ! Name="Resource Files" ! Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx" ! UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"> ! </Filter> ! <File ! RelativePath=".\ReadMe.txt"> ! </File> ! </Files> ! <Globals> ! </Globals> ! </VisualStudioProject> --- NEW FILE: TyFile.h --- |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:36:38
|
Update of /cvsroot/tyshow/TyShow/TySplitter/Debug Unicode In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/TySplitter/Debug Unicode Modified Files: BuildLog.htm Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes Index: BuildLog.htm =================================================================== RCS file: /cvsroot/tyshow/TyShow/TySplitter/Debug Unicode/BuildLog.htm,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** BuildLog.htm 11 Nov 2003 18:11:09 -0000 1.16 --- BuildLog.htm 23 Sep 2004 15:35:48 -0000 1.17 *************** *** 1,15 **** ! <html> ! <head> ! <META HTTP-EQUIV="Content-Type" content="text/html; charset=Windows-1252"> ! </head> ! <body> ! <pre> ! <table width=100% bgcolor=#CFCFE5><tr> <td> <font face=arial size=+3> ! Build Log ! </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre> ! <h3>------- Build started: Project: TySplitter, Configuration: Debug Unicode|Win32 ------- ! </h3> ! </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>TySplitter - up-to-date.</pre></table><table width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2> </font></table></body></html> \ No newline at end of file --- 1,53 ---- ! <html> ! <head> ! <META HTTP-EQUIV="Content-Type" content="text/html; charset=Windows-1252"> ! </head> ! <body> ! <pre> ! <table width=100% bgcolor=#CFCFE5><tr> <td> <font face=arial size=+3> ! Build Log ! </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre> ! <h3>------- Build started: Project: TySplitter, Configuration: Debug Unicode|Win32 ------- ! </h3> ! </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:\dev\TyShow\TySplitter\Debug Unicode\RSP00003B.rsp" with contents ! [ ! /Od /I "c:\dxsdk\samples\c++\directshow\baseclasses" /D "REGISTER_FILTER" /D "WIN32" /D "_DEBUG" /D "_WINDLL" /D "_AFXDLL" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /GR /Yc"stdafx.h" /Fp"Debug Unicode/TySplitter.pch" /Fo"Debug Unicode/" /Fd"Debug Unicode/vc70.pdb" /FR"Debug Unicode/" /W3 /c /ZI ! .\TySplitter.cpp ! .\Profile.cpp ! ] ! Creating command line "cl.exe @"c:\dev\TyShow\TySplitter\Debug Unicode\RSP00003B.rsp" /nologo" ! Creating temporary file "c:\dev\TyShow\TySplitter\Debug Unicode\RSP00003C.rsp" with contents ! [ ! /OUT:"Debug Unicode/TySplitter.ax" /NOLOGO /LIBPATH:"c:\dxsdk\lib" /LIBPATH:"c:\dxsdk\samples\c++\directshow\baseclasses\debug_unicode" /LIBPATH:"..\..\..\..\lib" /DLL /NODEFAULTLIB:"libcmtd" /DEF:"TySplitter.def" /DEBUG /PDB:"Debug Unicode/TySplitter.pdb" /SUBSYSTEM:WINDOWS /MACHINE:X86 winmm.lib \dev\TyShow\util\Debug\util.lib "\dev\TyShow\dsutil\Debug Unicode\dsutil.lib" "\Dxsdk\Samples\C++\DirectShow\BaseClasses\Debug_Unicode\strmbasd.lib" "\dev\TyShow\basesplitter\Debug Unicode lib\basesplitter.lib" ! ".\Debug Unicode\Profile.obj" ! ".\Debug Unicode\stdafx.obj" ! ".\Debug Unicode\TyFile.obj" ! ".\Debug Unicode\TySplitter.obj" ! ] ! Creating command line "link.exe @"c:\dev\TyShow\TySplitter\Debug Unicode\RSP00003C.rsp"" ! Creating temporary file "c:\dev\TyShow\TySplitter\Debug Unicode\BAT00003D.bat" with contents ! [ ! @echo off ! cd .\Debug Unicode ! regsvr32 /s "TySplitter.ax" ! ] ! Creating command line ""c:\dev\TyShow\TySplitter\Debug Unicode\BAT00003D.bat"" ! </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>Compiling... ! TySplitter.cpp ! WINVER not defined. Defaulting to 0x0501 (Windows XP and Windows .NET Server) ! c:\dev\TyShow\TySplitter\TySplitter.cpp(170) : warning C4018: '>=' : signed/unsigned mismatch ! c:\dev\TyShow\TySplitter\TySplitter.cpp(194) : warning C4018: '>=' : signed/unsigned mismatch ! Profile.cpp ! Linking... ! Creating library Debug Unicode/TySplitter.lib and object Debug Unicode/TySplitter.exp ! Registering output... ! </pre></table><table width=100% bgcolor=#DFDFE5><tr><td><font face=arial size=+2> ! Results ! </font></table><table width=* cellspacing=0 cellpadding=0><tr><td width=0 bgcolor=#EDEDF5> </td><td width=0 bgcolor=#FFFFFF> </td><td width=*><pre> ! Build log was saved at "file://c:\dev\TyShow\TySplitter\Debug Unicode\BuildLog.htm" ! TySplitter - 0 error(s), 2 warning(s)</pre></table><table width=100% height=20 bgcolor=#CFCFE5><tr><td><font face=arial size=+2> </font></table></body></html> \ No newline at end of file |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:36:27
|
Update of /cvsroot/tyshow/TyShow In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241 Modified Files: TyShow.ncb TyShow.sln TyShow.suo startDev.bat Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes Index: startDev.bat =================================================================== RCS file: /cvsroot/tyshow/TyShow/startDev.bat,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** startDev.bat 11 Nov 2003 18:11:08 -0000 1.1 --- startDev.bat 23 Sep 2004 15:35:46 -0000 1.2 *************** *** 1,10 **** ! @echo off ! ! set DXSDK=C:\DXSDK ! set VSTUDIO=C:\Program Files\Microsoft Visual Studio .NET 2003 ! set IDE="%VSTUDIO%\Common7\IDE\devenv.exe" ! set NSIS=C:\Program Files\NSIS ! ! cmd /c %IDE% TyShow.sln ! ! --- 1,10 ---- ! rem @echo off ! ! set DXSDK=C:\DXSDK ! set VSTUDIO=C:\Program Files\Microsoft Visual Studio .NET 2003 ! set IDE="%VSTUDIO%\Common7\IDE\devenv.exe" ! set NSIS=C:\Program Files\NSIS ! ! %IDE% TyShow.sln ! ! Index: TyShow.ncb =================================================================== RCS file: /cvsroot/tyshow/TyShow/TyShow.ncb,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 Binary files /tmp/cvsK0bMvN and /tmp/cvsSKZ8lo differ Index: TyShow.suo =================================================================== RCS file: /cvsroot/tyshow/TyShow/TyShow.suo,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 Binary files /tmp/cvszBSItm and /tmp/cvsDeHrFX differ Index: TyShow.sln =================================================================== RCS file: /cvsroot/tyshow/TyShow/TyShow.sln,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** TyShow.sln 31 Oct 2003 16:37:58 -0000 1.5 --- TyShow.sln 23 Sep 2004 15:35:45 -0000 1.6 *************** *** 1,235 **** ! Microsoft Visual Studio Solution File, Format Version 8.00 ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsutil", "dsutil\dsutil.vcproj", "{FC70988B-1AE5-4381-866D-4F405E28AC42}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basesplitter", "basesplitter\basesplitter.vcproj", "{37768B3F-89BC-4C16-B2A8-767C5DA84C3F}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BaseClasses", "..\..\DXSDK\Samples\C++\DirectShow\BaseClasses\baseclasses.vcproj", "{16327585-F834-40F7-8E67-A0A7E25D065E}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TySplitter", "TySplitter\TySplitter.vcproj", "{D0E399EF-F2BB-4A0F-A9D0-D193A8728595}" ! ProjectSection(ProjectDependencies) = postProject ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F} = {37768B3F-89BC-4C16-B2A8-767C5DA84C3F} ! {16327585-F834-40F7-8E67-A0A7E25D065E} = {16327585-F834-40F7-8E67-A0A7E25D065E} ! {FC70988B-1AE5-4381-866D-4F405E28AC42} = {FC70988B-1AE5-4381-866D-4F405E28AC42} ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515} = {291CFBAE-5B22-405C-82DC-3DFCD0A36515} ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "decss", "decss\decss.vcproj", "{1A2DFD1A-3C6C-44D1-909D-294AF646B575}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mpeg2DecFilter", "mpeg2decfilter\Mpeg2DecFilter.vcproj", "{305BAB2D-0D75-4FBC-8BCD-A2917392B48C}" ! ProjectSection(ProjectDependencies) = postProject ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575} = {1A2DFD1A-3C6C-44D1-909D-294AF646B575} ! {16327585-F834-40F7-8E67-A0A7E25D065E} = {16327585-F834-40F7-8E67-A0A7E25D065E} ! {FC70988B-1AE5-4381-866D-4F405E28AC42} = {FC70988B-1AE5-4381-866D-4F405E28AC42} ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReleaseFiles", "ReleaseFiles\ReleaseFiles.vcproj", "{BDF96B6B-9AEB-4FE1-8E75-3772623D168D}" ! ProjectSection(ProjectDependencies) = postProject ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C} = {305BAB2D-0D75-4FBC-8BCD-A2917392B48C} ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC} = {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC} ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595} = {D0E399EF-F2BB-4A0F-A9D0-D193A8728595} ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8} = {224864F0-E478-4AA8-A2B2-9D55047D0BF8} ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "util", "util\util.vcproj", "{291CFBAE-5B22-405C-82DC-3DFCD0A36515}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DbgMon", "DbgMon\DbgMon.vcproj", "{224864F0-E478-4AA8-A2B2-9D55047D0BF8}" ! ProjectSection(ProjectDependencies) = postProject ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515} = {291CFBAE-5B22-405C-82DC-3DFCD0A36515} ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VsrvSrc", "VsrvSrc\VsrvSrc.vcproj", "{C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}" ! ProjectSection(ProjectDependencies) = postProject ! {16327585-F834-40F7-8E67-A0A7E25D065E} = {16327585-F834-40F7-8E67-A0A7E25D065E} ! {FC70988B-1AE5-4381-866D-4F405E28AC42} = {FC70988B-1AE5-4381-866D-4F405E28AC42} ! EndProjectSection ! EndProject ! Global ! GlobalSection(SolutionConfiguration) = preSolution ! Debug = Debug ! Debug lib = Debug lib ! Debug Unicode = Debug Unicode ! Debug Unicode lib = Debug Unicode lib ! Release = Release ! Release lib = Release lib ! Release Unicode = Release Unicode ! Release Unicode lib = Release Unicode lib ! EndGlobalSection ! GlobalSection(ProjectConfiguration) = postSolution ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug.ActiveCfg = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug.Build.0 = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug lib.ActiveCfg = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug lib.Build.0 = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release.ActiveCfg = Release|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release.Build.0 = Release|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release lib.ActiveCfg = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release lib.Build.0 = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release Unicode.Build.0 = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug.ActiveCfg = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug.Build.0 = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug lib.ActiveCfg = Debug lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug lib.Build.0 = Debug lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug Unicode.ActiveCfg = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug Unicode.Build.0 = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug Unicode lib.ActiveCfg = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug Unicode lib.Build.0 = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release.ActiveCfg = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release.Build.0 = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release lib.ActiveCfg = Release lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release lib.Build.0 = Release lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release Unicode.ActiveCfg = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release Unicode.Build.0 = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release Unicode lib.ActiveCfg = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release Unicode lib.Build.0 = Release Unicode lib|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug.ActiveCfg = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug.Build.0 = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug lib.ActiveCfg = Debug|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug lib.Build.0 = Debug|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release.ActiveCfg = Release|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release.Build.0 = Release|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release lib.ActiveCfg = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release lib.Build.0 = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release Unicode.Build.0 = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug.ActiveCfg = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug.Build.0 = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug lib.ActiveCfg = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug lib.Build.0 = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release.ActiveCfg = Release|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release.Build.0 = Release|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release lib.ActiveCfg = Release|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release lib.Build.0 = Release|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release Unicode.Build.0 = Release Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug.ActiveCfg = Debug|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug.Build.0 = Debug|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug lib.ActiveCfg = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug lib.Build.0 = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release.ActiveCfg = Release|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release.Build.0 = Release|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release lib.ActiveCfg = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release lib.Build.0 = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release Unicode.Build.0 = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug.ActiveCfg = Debug|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug.Build.0 = Debug|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug lib.ActiveCfg = Debug lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug lib.Build.0 = Debug lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug Unicode lib.ActiveCfg = Debug Unicode lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug Unicode lib.Build.0 = Debug Unicode lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release.ActiveCfg = Release|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release.Build.0 = Release|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release lib.ActiveCfg = Release lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release lib.Build.0 = Release lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release Unicode.Build.0 = Release Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release Unicode lib.ActiveCfg = Release Unicode lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release Unicode lib.Build.0 = Release Unicode lib|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug.ActiveCfg = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug.Build.0 = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug lib.ActiveCfg = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug lib.Build.0 = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug Unicode.ActiveCfg = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug Unicode.Build.0 = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug Unicode lib.ActiveCfg = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug Unicode lib.Build.0 = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release.ActiveCfg = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release.Build.0 = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release lib.ActiveCfg = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release lib.Build.0 = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release Unicode.ActiveCfg = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release Unicode.Build.0 = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release Unicode lib.ActiveCfg = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release Unicode lib.Build.0 = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug.ActiveCfg = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug.Build.0 = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug lib.ActiveCfg = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug lib.Build.0 = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug Unicode.ActiveCfg = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug Unicode.Build.0 = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release.ActiveCfg = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release.Build.0 = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release lib.ActiveCfg = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release lib.Build.0 = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release Unicode.ActiveCfg = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release Unicode.Build.0 = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug.ActiveCfg = Debug|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug.Build.0 = Debug|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug lib.ActiveCfg = Debug|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug lib.Build.0 = Debug|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release.ActiveCfg = Release|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release.Build.0 = Release|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release lib.ActiveCfg = Release|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release lib.Build.0 = Release|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release Unicode.Build.0 = Release Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug.ActiveCfg = Debug|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug.Build.0 = Debug|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug lib.ActiveCfg = Debug|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug lib.Build.0 = Debug|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release.ActiveCfg = Release|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release.Build.0 = Release|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release lib.ActiveCfg = Release|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release lib.Build.0 = Release|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release Unicode.Build.0 = Release Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! EndGlobalSection ! GlobalSection(SolutionItems) = postSolution ! EndGlobalSection ! GlobalSection(ExtensibilityGlobals) = postSolution ! EndGlobalSection ! GlobalSection(ExtensibilityAddIns) = postSolution ! EndGlobalSection ! EndGlobal --- 1,235 ---- ! Microsoft Visual Studio Solution File, Format Version 8.00 ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dsutil", "dsutil\dsutil.vcproj", "{FC70988B-1AE5-4381-866D-4F405E28AC42}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basesplitter", "basesplitter\basesplitter.vcproj", "{37768B3F-89BC-4C16-B2A8-767C5DA84C3F}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "BaseClasses", "..\..\DXSDK\Samples\C++\DirectShow\BaseClasses\baseclasses.vcproj", "{16327585-F834-40F7-8E67-A0A7E25D065E}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TySplitter", "TySplitter\TySplitter.vcproj", "{D0E399EF-F2BB-4A0F-A9D0-D193A8728595}" ! ProjectSection(ProjectDependencies) = postProject ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F} = {37768B3F-89BC-4C16-B2A8-767C5DA84C3F} ! {16327585-F834-40F7-8E67-A0A7E25D065E} = {16327585-F834-40F7-8E67-A0A7E25D065E} ! {FC70988B-1AE5-4381-866D-4F405E28AC42} = {FC70988B-1AE5-4381-866D-4F405E28AC42} ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515} = {291CFBAE-5B22-405C-82DC-3DFCD0A36515} ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "decss", "decss\decss.vcproj", "{1A2DFD1A-3C6C-44D1-909D-294AF646B575}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mpeg2DecFilter", "mpeg2decfilter\Mpeg2DecFilter.vcproj", "{305BAB2D-0D75-4FBC-8BCD-A2917392B48C}" ! ProjectSection(ProjectDependencies) = postProject ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575} = {1A2DFD1A-3C6C-44D1-909D-294AF646B575} ! {16327585-F834-40F7-8E67-A0A7E25D065E} = {16327585-F834-40F7-8E67-A0A7E25D065E} ! {FC70988B-1AE5-4381-866D-4F405E28AC42} = {FC70988B-1AE5-4381-866D-4F405E28AC42} ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ReleaseFiles", "ReleaseFiles\ReleaseFiles.vcproj", "{BDF96B6B-9AEB-4FE1-8E75-3772623D168D}" ! ProjectSection(ProjectDependencies) = postProject ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C} = {305BAB2D-0D75-4FBC-8BCD-A2917392B48C} ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC} = {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC} ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595} = {D0E399EF-F2BB-4A0F-A9D0-D193A8728595} ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8} = {224864F0-E478-4AA8-A2B2-9D55047D0BF8} ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "util", "util\util.vcproj", "{291CFBAE-5B22-405C-82DC-3DFCD0A36515}" ! ProjectSection(ProjectDependencies) = postProject ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DbgMon", "DbgMon\DbgMon.vcproj", "{224864F0-E478-4AA8-A2B2-9D55047D0BF8}" ! ProjectSection(ProjectDependencies) = postProject ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515} = {291CFBAE-5B22-405C-82DC-3DFCD0A36515} ! EndProjectSection ! EndProject ! Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "VsrvSrc", "VsrvSrc\VsrvSrc.vcproj", "{C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}" ! ProjectSection(ProjectDependencies) = postProject ! {16327585-F834-40F7-8E67-A0A7E25D065E} = {16327585-F834-40F7-8E67-A0A7E25D065E} ! {FC70988B-1AE5-4381-866D-4F405E28AC42} = {FC70988B-1AE5-4381-866D-4F405E28AC42} ! EndProjectSection ! EndProject ! Global ! GlobalSection(SolutionConfiguration) = preSolution ! Debug = Debug ! Debug lib = Debug lib ! Debug Unicode = Debug Unicode ! Debug Unicode lib = Debug Unicode lib ! Release = Release ! Release lib = Release lib ! Release Unicode = Release Unicode ! Release Unicode lib = Release Unicode lib ! EndGlobalSection ! GlobalSection(ProjectConfiguration) = postSolution ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug.ActiveCfg = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug.Build.0 = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug lib.ActiveCfg = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug lib.Build.0 = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release.ActiveCfg = Release|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release.Build.0 = Release|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release lib.ActiveCfg = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release lib.Build.0 = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release Unicode.Build.0 = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {FC70988B-1AE5-4381-866D-4F405E28AC42}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug.ActiveCfg = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug.Build.0 = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug lib.ActiveCfg = Debug lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug lib.Build.0 = Debug lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug Unicode.ActiveCfg = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug Unicode.Build.0 = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug Unicode lib.ActiveCfg = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Debug Unicode lib.Build.0 = Debug Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release.ActiveCfg = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release.Build.0 = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release lib.ActiveCfg = Release lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release lib.Build.0 = Release lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release Unicode.ActiveCfg = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release Unicode.Build.0 = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release Unicode lib.ActiveCfg = Release Unicode lib|Win32 ! {37768B3F-89BC-4C16-B2A8-767C5DA84C3F}.Release Unicode lib.Build.0 = Release Unicode lib|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug.ActiveCfg = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug.Build.0 = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug lib.ActiveCfg = Debug|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug lib.Build.0 = Debug|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release.ActiveCfg = Release|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release.Build.0 = Release|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release lib.ActiveCfg = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release lib.Build.0 = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release Unicode.Build.0 = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {16327585-F834-40F7-8E67-A0A7E25D065E}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug.ActiveCfg = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug.Build.0 = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug lib.ActiveCfg = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug lib.Build.0 = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release.ActiveCfg = Release|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release.Build.0 = Release|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release lib.ActiveCfg = Release|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release lib.Build.0 = Release|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release Unicode.Build.0 = Release Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {D0E399EF-F2BB-4A0F-A9D0-D193A8728595}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug.ActiveCfg = Debug|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug.Build.0 = Debug|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug lib.ActiveCfg = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug lib.Build.0 = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release.ActiveCfg = Release|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release.Build.0 = Release|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release lib.ActiveCfg = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release lib.Build.0 = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release Unicode.Build.0 = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {1A2DFD1A-3C6C-44D1-909D-294AF646B575}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug.ActiveCfg = Debug|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug.Build.0 = Debug|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug lib.ActiveCfg = Debug lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug lib.Build.0 = Debug lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug Unicode lib.ActiveCfg = Debug Unicode lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Debug Unicode lib.Build.0 = Debug Unicode lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release.ActiveCfg = Release|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release.Build.0 = Release|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release lib.ActiveCfg = Release lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release lib.Build.0 = Release lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release Unicode.Build.0 = Release Unicode|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release Unicode lib.ActiveCfg = Release Unicode lib|Win32 ! {305BAB2D-0D75-4FBC-8BCD-A2917392B48C}.Release Unicode lib.Build.0 = Release Unicode lib|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug.ActiveCfg = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug.Build.0 = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug lib.ActiveCfg = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug lib.Build.0 = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug Unicode.ActiveCfg = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug Unicode.Build.0 = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug Unicode lib.ActiveCfg = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Debug Unicode lib.Build.0 = Debug|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release.ActiveCfg = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release.Build.0 = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release lib.ActiveCfg = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release lib.Build.0 = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release Unicode.ActiveCfg = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release Unicode.Build.0 = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release Unicode lib.ActiveCfg = Release|Win32 ! {BDF96B6B-9AEB-4FE1-8E75-3772623D168D}.Release Unicode lib.Build.0 = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug.ActiveCfg = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug.Build.0 = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug lib.ActiveCfg = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug lib.Build.0 = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug Unicode.ActiveCfg = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug Unicode.Build.0 = Debug|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release.ActiveCfg = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release.Build.0 = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release lib.ActiveCfg = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release lib.Build.0 = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release Unicode.ActiveCfg = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release Unicode.Build.0 = Release|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {291CFBAE-5B22-405C-82DC-3DFCD0A36515}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug.ActiveCfg = Debug|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug.Build.0 = Debug|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug lib.ActiveCfg = Debug|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug lib.Build.0 = Debug|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release.ActiveCfg = Release|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release.Build.0 = Release|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release lib.ActiveCfg = Release|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release lib.Build.0 = Release|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release Unicode.Build.0 = Release Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {224864F0-E478-4AA8-A2B2-9D55047D0BF8}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug.ActiveCfg = Debug|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug.Build.0 = Debug|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug lib.ActiveCfg = Debug|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug lib.Build.0 = Debug|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug Unicode.ActiveCfg = Debug Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug Unicode.Build.0 = Debug Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug Unicode lib.ActiveCfg = Debug Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Debug Unicode lib.Build.0 = Debug Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release.ActiveCfg = Release|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release.Build.0 = Release|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release lib.ActiveCfg = Release|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release lib.Build.0 = Release|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release Unicode.ActiveCfg = Release Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release Unicode.Build.0 = Release Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release Unicode lib.ActiveCfg = Release Unicode|Win32 ! {C28E1DEA-D6F4-4B0A-8FCA-071AA7A5A8BC}.Release Unicode lib.Build.0 = Release Unicode|Win32 ! EndGlobalSection ! GlobalSection(SolutionItems) = postSolution ! EndGlobalSection ! GlobalSection(ExtensibilityGlobals) = postSolution ! EndGlobalSection ! GlobalSection(ExtensibilityAddIns) = postSolution ! EndGlobalSection ! EndGlobal |
Update of /cvsroot/tyshow/TyShow/VsrvSrc/mfs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/VsrvSrc/mfs Modified Files: bitmap.c io.c mfs.c mfs.h partition.c proto.h query.c schema.c tar.h util.c vstream.c Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes Index: schema.c =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/schema.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** schema.c 16 Oct 2003 23:22:20 -0000 1.1 --- schema.c 23 Sep 2004 15:35:48 -0000 1.2 *************** *** 27,38 **** assert(attr < MAX_ATTRS); - name = strdup(name); if (type != -1) { ! attrs[type][attr].name = name; attrs[type][attr].objtype = objtype; return; } for (i=0;i<MAX_TYPES;i++) { ! attrs[i][attr].name = name; attrs[i][attr].objtype = objtype; } --- 27,37 ---- assert(attr < MAX_ATTRS); if (type != -1) { ! if( !attrs[type][attr].name ) attrs[type][attr].name = strdup(name); attrs[type][attr].objtype = objtype; return; } for (i=0;i<MAX_TYPES;i++) { ! if( !attrs[i][attr].name ) attrs[i][attr].name = strdup(name); attrs[i][attr].objtype = objtype; } *************** *** 62,65 **** --- 61,65 ---- if (!types[itype]) types[itype] = strdup(type); + if (attrs[itype][iattr].name) free(attrs[itype][iattr].name); attrs[itype][iattr].name = strdup(attr); if (strcmp(flag,"string")==0) { *************** *** 91,94 **** --- 91,95 ---- if (!types[itype]) types[itype] = strdup(type); + if (attrs[itype][iattr].name) free(attrs[itype][iattr].name); attrs[itype][iattr].name = strdup(attr); if (strcmp(flag,"string")==0) { *************** *** 102,106 **** } else { printf("error parsing preloaded schema table\n"); ! exit(1); } if (! types[itype]) { --- 103,107 ---- } else { printf("error parsing preloaded schema table\n"); ! safe_exit(1); } if (! types[itype]) { *************** *** 122,125 **** --- 123,128 ---- if (loaded) return; + memset(types, 0, sizeof(types)); + memset(attrs, 0, sizeof(attrs)); loaded = 1; *************** *** 168,171 **** --- 171,175 ---- } else if (attr->attr == 17) { current_type = ntohl(*(u32 *)data); + if( types[current_type] ) free( types[current_type] ); types[current_type] = name; } *************** *** 236,243 **** load_schema(type); } ! if (!attrs[type][attr].name) { ! char temp[80]; ! sprintf(temp, "UNKNOWN(%d,%d)", type, attr); ! attrs[type][attr].name = malloc(strlen(temp)+1); strcpy(attrs[type][attr].name, temp); } --- 240,247 ---- load_schema(type); } ! if (!attrs[type][attr].name) { ! char temp[80]; ! sprintf(temp, "UNKNOWN(%d,%d)", type, attr); ! attrs[type][attr].name = malloc(strlen(temp)+1); strcpy(attrs[type][attr].name, temp); } *************** *** 246,249 **** --- 250,267 ---- } + void free_schema(void) + { + int i; + int j; + for( i = 0; i < MAX_TYPES; i++ ) + { + if( types[i] ) free(types[i]); + for( j = 0; j < MAX_ATTRS; j++ ) + if( attrs[i][j].name ) free(attrs[i][j].name); + } + memset(types, 0, sizeof(types)); + memset(attrs, 0, sizeof(attrs)); + } + /* dump the complete schema */ void dump_schema(FILE *f) Index: query.c =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/query.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** query.c 16 Oct 2003 23:22:20 -0000 1.1 --- query.c 23 Sep 2004 15:35:48 -0000 1.2 *************** *** 25,28 **** --- 25,36 ---- } + void free_object(void) + { + free(loaded.buf); + loaded.buf = 0; + loaded.fsid = 0; + loaded.size = 0; + } + static void *memdup(void *p, int size) { *************** *** 78,82 **** if (mfs_fsid_type(fsid) != MFS_TYPE_OBJ) { fprintf(stderr,"%d is not an object\n", fsid); ! exit(1); } --- 86,90 ---- if (mfs_fsid_type(fsid) != MFS_TYPE_OBJ) { fprintf(stderr,"%d is not an object\n", fsid); ! safe_exit(1); } *************** *** 111,125 **** int subobj = -1; ! path = strdup(path); ! tok = strtok_r(path,"/", &p); while (tok) { // printf("%d/%d %s\n", fsid, subobj, tok); ret = query_part(fsid, subobj, tok, len); ! if (!ret) return NULL; ! tok = strtok_r(NULL,"/", &p); if (tok && myisdigit(tok[0])) { ! subobj = atoi(tok); ! tok = strtok_r(NULL,"/", &p); } else if (tok) { struct mfs_obj_attr *objattr = ret; --- 119,133 ---- int subobj = -1; ! path = strdup(path); ! tok = strtok_r(path,"/", &p); while (tok) { // printf("%d/%d %s\n", fsid, subobj, tok); ret = query_part(fsid, subobj, tok, len); ! if (!ret) return NULL; ! tok = strtok_r(NULL,"/", &p); if (tok && myisdigit(tok[0])) { ! subobj = atoi(tok); ! tok = strtok_r(NULL,"/", &p); } else if (tok) { struct mfs_obj_attr *objattr = ret; Index: mfs.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/mfs.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** mfs.h 31 Oct 2003 16:37:59 -0000 1.2 --- mfs.h 23 Sep 2004 15:35:48 -0000 1.3 *************** *** 6,18 **** #define _GNU_SOURCE ! #ifdef WIN32 ! #ifdef _XBOX ! #include <xtl.h> ! #else ! #include <winsock2.h> ! #include <windows.h> ! #endif ! #endif //#include <pwd.h> #include <string.h> --- 6,18 ---- #define _GNU_SOURCE ! #ifdef WIN32 ! #ifdef _XBOX ! #include <xtl.h> ! #else ! #include <winsock2.h> ! #include <windows.h> ! #endif ! #endif //#include <pwd.h> #include <string.h> *************** *** 23,28 **** #include <ctype.h> #include <sys/types.h> ! //#include <sys/ioctl.h> ! #if defined(SYS_DARWIN) #include "darwin_unistd.h" --- 23,28 ---- #include <ctype.h> #include <sys/types.h> ! //#include <sys/ioctl.h> ! #if defined(SYS_DARWIN) #include "darwin_unistd.h" *************** *** 52,58 **** #endif ! #ifdef __cplusplus ! extern "C" { ! #endif #define MAX_ZONES 32 --- 52,58 ---- #endif ! #ifdef __cplusplus ! extern "C" { ! #endif #define MAX_ZONES 32 *************** *** 104,113 **** typedef unsigned long long loff_t; #endif ! ! #if defined(WIN32) ! typedef unsigned __int64 u64; ! typedef unsigned __int64 loff_t; #else ! typedef unsigned long long u64; #endif typedef unsigned u32; --- 104,113 ---- typedef unsigned long long loff_t; #endif ! ! #if defined(WIN32) ! typedef unsigned __int64 u64; ! typedef unsigned __int64 loff_t; #else ! typedef unsigned long long u64; #endif typedef unsigned u32; *************** *** 252,259 **** #ifdef TIVO char *strtok_r(char *s, const char *delim, char **ptrptr); ! #endif ! #ifdef WIN32 ! #define strtok_r( _s, _sep, _lasts ) \ ! ( *(_lasts) = strtok( (_s), (_sep) ) ) #endif --- 252,259 ---- #ifdef TIVO char *strtok_r(char *s, const char *delim, char **ptrptr); ! #endif ! #ifdef WIN32 ! #define strtok_r( _s, _sep, _lasts ) \ ! ( *(_lasts) = strtok( (_s), (_sep) ) ) #endif *************** *** 282,287 **** int io_get_need_bswap(void); ! #ifdef __cplusplus ! } ! #endif --- 282,287 ---- int io_get_need_bswap(void); ! #ifdef __cplusplus ! } ! #endif Index: tar.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/tar.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** tar.h 16 Oct 2003 23:22:20 -0000 1.1 --- tar.h 23 Sep 2004 15:35:48 -0000 1.2 *************** *** 1,70 **** ! #ifndef _TAR_H_ ! #define _TAR_H_ ! ! #define RECORDSIZE 512 ! #define NAMSIZ 100 ! #define TUNMLEN 32 ! #define TGNMLEN 32 ! ! typedef union _tar_record { ! char charptr[RECORDSIZE]; ! struct header { ! char name[NAMSIZ]; ! char mode[8]; ! char uid[8]; ! char gid[8]; ! char size[12]; ! char mtime[12]; ! char chksum[8]; ! char linkflag; ! char linkname[NAMSIZ]; ! char magic[8]; ! char uname[TUNMLEN]; ! char gname[TGNMLEN]; ! char devmajor[8]; ! char devminor[8]; ! } header; ! } tar_record; ! ! /* The checksum field is filled with this while the checksum is computed. */ ! #define CHKBLANKS " " /* 8 blanks, no null */ ! ! /* The magic field is filled with this if uname and gname are valid. */ ! #define TMAGIC "ustar " /* 7 chars and a null */ ! ! /* The magic field is filled with this if this is a GNU format dump entry */ ! #define GNUMAGIC "GNUtar " /* 7 chars and a null */ ! ! /* The linkflag defines the type of file */ ! #define LF_OLDNORMAL '\0' /* Normal disk file, Unix compatible */ ! #define LF_NORMAL '0' /* Normal disk file */ ! #define LF_LINK '1' /* Link to previously dumped file */ ! #define LF_SYMLINK '2' /* Symbolic link */ ! #define LF_CHR '3' /* Character special file */ ! #define LF_BLK '4' /* Block special file */ ! #define LF_DIR '5' /* Directory */ ! #define LF_FIFO '6' /* FIFO special file */ ! #define LF_CONTIG '7' /* Contiguous file */ ! ! /* Further link types may be defined later. */ ! ! /* Bits used in the mode field - values in octal */ ! #define TSUID 04000 /* Set UID on execution */ ! #define TSGID 02000 /* Set GID on execution */ ! #define TSVTX 01000 /* Save text (sticky bit) */ ! ! /* File permissions */ ! #define TUREAD 00400 /* read by owner */ ! #define TUWRITE 00200 /* write by owner */ ! #define TUEXEC 00100 /* execute/search by owner */ ! #define TGREAD 00040 /* read by group */ ! #define TGWRITE 00020 /* write by group */ ! #define TGEXEC 00010 /* execute/search by group */ ! #define TOREAD 00004 /* read by other */ ! #define TOWRITE 00002 /* write by other */ ! #define TOEXEC 00001 /* execute/search by other */ ! ! void create_tarheader(tar_record *rec, char *name, int size); ! void write_tar_padding(int output_fd, int size); ! ! #endif --- 1,70 ---- ! #ifndef _TAR_H_ ! #define _TAR_H_ ! ! #define RECORDSIZE 512 ! #define NAMSIZ 100 ! #define TUNMLEN 32 ! #define TGNMLEN 32 ! ! typedef union _tar_record { ! char charptr[RECORDSIZE]; ! struct header { ! char name[NAMSIZ]; ! char mode[8]; ! char uid[8]; ! char gid[8]; ! char size[12]; ! char mtime[12]; ! char chksum[8]; ! char linkflag; ! char linkname[NAMSIZ]; ! char magic[8]; ! char uname[TUNMLEN]; ! char gname[TGNMLEN]; ! char devmajor[8]; ! char devminor[8]; ! } header; ! } tar_record; ! ! /* The checksum field is filled with this while the checksum is computed. */ ! #define CHKBLANKS " " /* 8 blanks, no null */ ! ! /* The magic field is filled with this if uname and gname are valid. */ ! #define TMAGIC "ustar " /* 7 chars and a null */ ! ! /* The magic field is filled with this if this is a GNU format dump entry */ ! #define GNUMAGIC "GNUtar " /* 7 chars and a null */ ! ! /* The linkflag defines the type of file */ ! #define LF_OLDNORMAL '\0' /* Normal disk file, Unix compatible */ ! #define LF_NORMAL '0' /* Normal disk file */ ! #define LF_LINK '1' /* Link to previously dumped file */ ! #define LF_SYMLINK '2' /* Symbolic link */ ! #define LF_CHR '3' /* Character special file */ ! #define LF_BLK '4' /* Block special file */ ! #define LF_DIR '5' /* Directory */ ! #define LF_FIFO '6' /* FIFO special file */ ! #define LF_CONTIG '7' /* Contiguous file */ ! ! /* Further link types may be defined later. */ ! ! /* Bits used in the mode field - values in octal */ ! #define TSUID 04000 /* Set UID on execution */ ! #define TSGID 02000 /* Set GID on execution */ ! #define TSVTX 01000 /* Save text (sticky bit) */ ! ! /* File permissions */ ! #define TUREAD 00400 /* read by owner */ ! #define TUWRITE 00200 /* write by owner */ ! #define TUEXEC 00100 /* execute/search by owner */ ! #define TGREAD 00040 /* read by group */ ! #define TGWRITE 00020 /* write by group */ ! #define TGEXEC 00010 /* execute/search by group */ ! #define TOREAD 00004 /* read by other */ ! #define TOWRITE 00002 /* write by other */ ! #define TOEXEC 00001 /* execute/search by other */ ! ! void create_tarheader(tar_record *rec, char *name, int size); ! void write_tar_padding(int output_fd, int size); ! ! #endif Index: partition.c =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/partition.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** partition.c 16 Oct 2003 23:22:20 -0000 1.1 --- partition.c 23 Sep 2004 15:35:48 -0000 1.2 *************** *** 58,62 **** printf("wrong magic %x in partition %d\n", ntohs(tp->signature), i); ! exit(1); } if (strcmp(tp->type, "MFS") == 0) { --- 58,62 ---- printf("wrong magic %x in partition %d\n", ntohs(tp->signature), i); ! safe_exit(1); } if (strcmp(tp->type, "MFS") == 0) { *************** *** 90,94 **** if (i == num_partitions) { fprintf(stderr,"Failed to partition map sector %d\n", sec); ! exit(1); } return sec; --- 90,94 ---- if (i == num_partitions) { fprintf(stderr,"Failed to partition map sector %d\n", sec); ! safe_exit(1); } return sec; Index: io.c =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/io.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** io.c 16 Oct 2003 23:22:20 -0000 1.1 --- io.c 23 Sep 2004 15:35:48 -0000 1.2 *************** *** 102,106 **** if (readahead_enabled) { printf("vserver write not supported with readahead\n"); ! exit(1); } --- 102,106 ---- if (readahead_enabled) { printf("vserver write not supported with readahead\n"); ! safe_exit(1); } *************** *** 118,122 **** if (readahead_enabled) { printf("vserver write not supported with readahead\n"); ! exit(1); } --- 118,122 ---- if (readahead_enabled) { printf("vserver write not supported with readahead\n"); ! safe_exit(1); } *************** *** 171,175 **** if (vserver == -1) { fprintf(stderr,"Failed to connect to %s\n", mapping+1); ! exit(1); } return; --- 171,175 ---- if (vserver == -1) { fprintf(stderr,"Failed to connect to %s\n", mapping+1); ! safe_exit(1); } return; Index: util.c =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/util.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** util.c 16 Oct 2003 23:22:20 -0000 1.1 --- util.c 23 Sep 2004 15:35:48 -0000 1.2 *************** *** 6,19 **** #include "mfs.h" ! #ifndef TIVO /* ppchacker, remove compiler warning */ ! #ifdef WIN32 ! #ifdef _XBOX ! #include <xtl.h> ! #else ! #include <winsock2.h> ! #include <windows.h> ! #endif #else ! #include <netinet/tcp.h> #endif #endif --- 6,19 ---- #include "mfs.h" ! #ifndef TIVO /* ppchacker, remove compiler warning */ ! #ifdef WIN32 ! #ifdef _XBOX ! #include <xtl.h> #else ! #include <winsock2.h> ! #include <windows.h> ! #endif ! #else ! #include <netinet/tcp.h> #endif #endif *************** *** 21,33 **** void read_all(SOCKET fd, void *buf, int size) { ! while (size) { ! #if defined (WIN32) ! int n = recv(fd, buf, size, 0); #else ! int n = read(fd, buf, size); #endif if (n <= 0) { // fprintf(stderr,"ERROR: eof in read_all\n"); ! exit(1); } (char*)buf += n; --- 21,33 ---- void read_all(SOCKET fd, void *buf, int size) { ! while (size) { ! #if defined (WIN32) ! int n = recv(fd, buf, size, 0); #else ! int n = read(fd, buf, size); #endif if (n <= 0) { // fprintf(stderr,"ERROR: eof in read_all\n"); ! safe_exit(1); } (char*)buf += n; *************** *** 38,50 **** void write_all(SOCKET fd, void *buf, int size) { ! while (size) { ! #if defined (WIN32) ! int n = send(fd, buf, size, 0); #else ! int n = write(fd, buf, size); #endif if (n <= 0) { // fprintf(stderr,"ERROR: eof in write_all\n"); ! exit(1); } (char*)buf += n; --- 38,50 ---- void write_all(SOCKET fd, void *buf, int size) { ! while (size) { ! #if defined (WIN32) ! int n = send(fd, buf, size, 0); #else ! int n = write(fd, buf, size); #endif if (n <= 0) { // fprintf(stderr,"ERROR: eof in write_all\n"); ! safe_exit(1); } (char*)buf += n; *************** *** 52,70 **** } } ! #if defined (_XBOX) /* open a socket to a tcp remote host with the specified port based on code from Warren */ ! struct hostent *gethostbyname(const char*); ! struct hostent { ! char * h_name; /* official name of host */ ! char * * h_aliases; /* alias list */ ! short h_addrtype; /* host address type */ ! short h_length; /* length of address */ ! char * * h_addr_list; /* list of addresses */ ! #define h_addr h_addr_list[0] /* address, for backward compat */ ! }; ! #endif ! SOCKET open_socket_out(char *host, int port) { --- 52,70 ---- } } ! #if defined (_XBOX) /* open a socket to a tcp remote host with the specified port based on code from Warren */ ! struct hostent *gethostbyname(const char*); ! struct hostent { ! char * h_name; /* official name of host */ ! char * * h_aliases; /* alias list */ ! short h_addrtype; /* host address type */ ! short h_length; /* length of address */ ! char * * h_addr_list; /* list of addresses */ ! #define h_addr h_addr_list[0] /* address, for backward compat */ ! }; ! #endif ! SOCKET open_socket_out(char *host, int port) { *************** *** 194,198 **** ****************************************************************************/ void set_nonblocking(int fd) ! { #if !defined(WIN32) int val; --- 194,198 ---- ****************************************************************************/ void set_nonblocking(int fd) ! { #if !defined(WIN32) int val; *************** *** 203,207 **** val |= O_NONBLOCK; fcntl(fd, F_SETFL, val); ! } #endif } --- 203,207 ---- val |= O_NONBLOCK; fcntl(fd, F_SETFL, val); ! } #endif } Index: bitmap.c =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/bitmap.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** bitmap.c 16 Oct 2003 23:22:20 -0000 1.1 --- bitmap.c 23 Sep 2004 15:35:48 -0000 1.2 *************** *** 32,36 **** printf("Invalid bitmap set bits=%d i=%d n=%d\n", bm->n, i, n); ! exit(1); } while (n--) { --- 32,36 ---- printf("Invalid bitmap set bits=%d i=%d n=%d\n", bm->n, i, n); ! safe_exit(1); } while (n--) { Index: vstream.c =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/vstream.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** vstream.c 11 Nov 2003 18:11:09 -0000 1.4 --- vstream.c 23 Sep 2004 15:35:48 -0000 1.5 *************** *** 24,28 **** #include <stdlib.h> #include <time.h> ! #include "mfs.h" #define ENV_VAR "MFS_DEVLIST" --- 24,28 ---- #include <stdlib.h> #include <time.h> ! #include "mfs.h" #define ENV_VAR "MFS_DEVLIST" *************** *** 30,37 **** int vstream_start( char *ipaddress ); ! int vstream_startstream( char *fsid ); u64 vstream_streamsize( ); int vstream_list_streams( char* address, int longList ); ! int vstream_load_chunk( char *fsid, unsigned char *buff, int size, u64 offset ); struct sfileParts --- 30,40 ---- int vstream_start( char *ipaddress ); ! int vstream_startstream( char *fsid, int isStreaming ); u64 vstream_streamsize( ); int vstream_list_streams( char* address, int longList ); ! int vstream_load_chunk( char *fsid, unsigned char *buff, int size, u64 offset, int isStreaming ); ! void mfs_terminate(void); ! void free_object(void); ! void free_schema(void); struct sfileParts *************** *** 50,54 **** //u64 max_32bit = 0x7fffffff; ! int vstream_fsidtoparts( char *fsid ) { struct mfs_obj_attr *obj; --- 53,74 ---- //u64 max_32bit = 0x7fffffff; ! void vstream_getpart( int part, int* fileNo, u64* fileSize, int* chunks ) ! { ! if( fileNo ) *fileNo = 0; ! if( fileSize ) *fileSize = 0; ! if( chunks ) *chunks = 0; ! ! if( part >= filePartsTotal ) ! return; ! ! if( part < 0 ) ! part = filePartsTotal - 1; ! ! if( fileNo ) *fileNo = fileParts[part].fileNo; ! if( fileSize ) *fileSize = fileParts[part].fileSize; ! if( chunks ) *chunks = fileParts[part].chunks; ! } ! ! int vstream_fsidtoparts( char *fsid, int isStreaming ) { struct mfs_obj_attr *obj; *************** *** 89,93 **** } free( obj ); ! filePartsTotal = pcount; if ( filePart != -1 ) --- 109,113 ---- } free( obj ); ! filePartsTotal = pcount; if ( filePart != -1 ) *************** *** 111,137 **** } ! // We have to go into the last chunk to figure its exact size ! buffer = malloc( CHUNKSIZE ); ! count = mfs_fsid_pread( fileParts[ filePartsTotal - 1 ].fileNo, ! buffer, 0, CHUNKSIZE ); ! if ( count == CHUNKSIZE ) ! { ! pesFileId = buffer[ 0x00 ] << 24 | buffer[ 0x01 ] << 16 | ! buffer[ 0x02 ] << 8 | buffer[ 0x03 ]; ! if ( pesFileId == 0xf5467abd ) ! { ! vstream_totalSize -= fileParts[ filePartsTotal - 1 ].fileSize; ! size = buffer[ 0x0c ] << 24 | buffer[ 0x0d ] << 16 | ! buffer[ 0x0e ] << 8 | buffer[ 0x03 ]; ! size /= 256; ! size -= 4; ! size *= CHUNKSIZE; ! fileParts[ filePartsTotal - 1 ].fileSize = size; ! fileParts[ filePartsTotal - 1 ].chunks = ( size / CHUNKSIZE ); ! vstream_totalSize += size; ! } ! } ! free( buffer ); ! strcpy( lastFsid, fsid ); } --- 131,160 ---- } ! if( !isStreaming ) ! { ! // We have to go into the last chunk to figure its exact size ! buffer = malloc( CHUNKSIZE ); ! count = mfs_fsid_pread( fileParts[ filePartsTotal - 1 ].fileNo, ! buffer, 0, CHUNKSIZE ); ! if ( count == CHUNKSIZE ) ! { ! pesFileId = buffer[ 0x00 ] << 24 | buffer[ 0x01 ] << 16 | ! buffer[ 0x02 ] << 8 | buffer[ 0x03 ]; ! if ( pesFileId == 0xf5467abd ) ! { ! vstream_totalSize -= fileParts[ filePartsTotal - 1 ].fileSize; ! size = buffer[ 0x0c ] << 24 | buffer[ 0x0d ] << 16 | ! buffer[ 0x0e ] << 8 | buffer[ 0x03 ]; ! size /= 256; ! size -= 4; ! size *= CHUNKSIZE; ! fileParts[ filePartsTotal - 1 ].fileSize = size; ! fileParts[ filePartsTotal - 1 ].chunks = ( size / CHUNKSIZE ); ! vstream_totalSize += size; ! } ! } ! free( buffer ); ! } ! strcpy( lastFsid, fsid ); } *************** *** 144,147 **** --- 167,176 ---- } + int vstream_reload_fsidtoparts( char* fsid ) + { + lastFsid[0] = 0; + return vstream_fsidtoparts( fsid, 1 ); + } + u64 vstream_streamsize( ) { *************** *** 172,185 **** *fileNo = fileParts[ index ].fileNo; *fileChunk = chunk; ! } } ! int vstream_startstream( char *fsid ) { ! return( vstream_fsidtoparts( fsid ) ); } ! int vstream_load_chunk( char *fsid, unsigned char *buff, int size, u64 foffset ) { int count; --- 201,214 ---- *fileNo = fileParts[ index ].fileNo; *fileChunk = chunk; ! } } ! int vstream_startstream( char *fsid, int isStreaming ) { ! return( vstream_fsidtoparts( fsid, isStreaming ) ); } ! int vstream_load_chunk( char *fsid, unsigned char *buff, int size, u64 foffset, int isStreaming ) { int count; *************** *** 189,195 **** u64 fileNoChunkOffset; u64 offset; ! mfs_readahead( 1 ); ! if ( vstream_fsidtoparts( fsid ) == 0 ) { return( 0 ); --- 218,224 ---- u64 fileNoChunkOffset; u64 offset; ! mfs_readahead( 1 ); ! if ( vstream_fsidtoparts( fsid, isStreaming ) == 0 ) { return( 0 ); *************** *** 208,212 **** vstream_fsidtooffset( chunk, &fileNo, &fileNoChunkOffset ); fileoffset = ( fileNoChunkOffset * CHUNKSIZE ) + offset; ! count = mfs_fsid_pread( fileNo, buff, fileoffset, size ); return( count ); --- 237,241 ---- vstream_fsidtooffset( chunk, &fileNo, &fileNoChunkOffset ); fileoffset = ( fileNoChunkOffset * CHUNKSIZE ) + offset; ! count = mfs_fsid_pread( fileNo, buff, fileoffset, size ); return( count ); *************** *** 236,239 **** --- 265,285 ---- } + int vstream_is_live_fsid( u32 fsid ) + { + struct mfs_dirent *dir; + struct mfs_obj_attr *obj; + u32 count; + u32 i; + + // should we use /Recording/InProgress? + dir = mfs_dir( mfs_resolve( "/Recording/LiveCache" ), &count ); + for( i = 0; i < count; i++ ) + { + if( fsid == dir[i].fsid ) + return 1; + } + return 0; + } + void vstream_query_streams_long( char *path ) { *************** *** 311,317 **** int vstream_start( char *ipaddress ) { ! sprintf( tivoIP, ":%s", ipaddress ); #if !defined(WIN32) ! setenv( ENV_VAR, tivoIP, 0 ); #endif mfs_init(ipaddress); --- 357,363 ---- int vstream_start( char *ipaddress ) { ! sprintf( tivoIP, ":%s", ipaddress ); #if !defined(WIN32) ! setenv( ENV_VAR, tivoIP, 0 ); #endif mfs_init(ipaddress); *************** *** 320,323 **** } ! --- 366,374 ---- } ! void vstream_terminate(void) ! { ! free_object(); ! free_schema(); ! mfs_terminate(); ! } Index: proto.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/proto.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** proto.h 3 Nov 2003 16:08:17 -0000 1.2 --- proto.h 23 Sep 2004 15:35:48 -0000 1.3 *************** *** 1,4 **** --- 1,6 ---- /* This file is automatically generated with "make proto". DO NOT EDIT */ + extern void safe_exit(int); + unsigned fsid_hash(unsigned fsid, unsigned size); void dump_sectors(void *d, int n); Index: mfs.c =================================================================== RCS file: /cvsroot/tyshow/TyShow/VsrvSrc/mfs/mfs.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** mfs.c 3 Nov 2003 16:08:17 -0000 1.3 --- mfs.c 23 Sep 2004 15:35:48 -0000 1.4 *************** *** 80,84 **** fprintf(stderr,"Not a TiVo super block! (magic=0x%08x)\n", super.magic); ! exit(1); } --- 80,84 ---- fprintf(stderr,"Not a TiVo super block! (magic=0x%08x)\n", super.magic); ! safe_exit(1); } *************** *** 95,99 **** if (super.magic != 0xabbafeed) { fprintf(stderr,"Failed to byte swap correctly\n"); ! exit(1); } --- 95,99 ---- if (super.magic != 0xabbafeed) { fprintf(stderr,"Failed to byte swap correctly\n"); ! safe_exit(1); } *************** *** 120,124 **** fprintf(stderr,"sector wrong in zone (%d %d)\n", next, zones[num_zones]->sector); ! exit(1); } if (zones[num_zones]->type == ZONE_INODE) { --- 120,124 ---- fprintf(stderr,"sector wrong in zone (%d %d)\n", next, zones[num_zones]->sector); ! safe_exit(1); } if (zones[num_zones]->type == ZONE_INODE) { *************** *** 130,138 **** if (num_zones == MAX_ZONES) { fprintf(stderr,"Too many zones\n"); ! exit(1); } } } /* turn a hash into a zone sector */ static u32 zone_sector(u32 hash) --- 130,149 ---- if (num_zones == MAX_ZONES) { fprintf(stderr,"Too many zones\n"); ! safe_exit(1); } } } + static void free_zones(void) + { + if( num_zones == 0 ) + return; + do + { + num_zones--; + free(zones[num_zones]); + } while( num_zones ); + } + /* turn a hash into a zone sector */ static u32 zone_sector(u32 hash) *************** *** 150,154 **** } fprintf(stderr, "Didn't find hash %x in zones!\n", hash); ! exit(1); } --- 161,165 ---- } fprintf(stderr, "Didn't find hash %x in zones!\n", hash); ! safe_exit(1); } *************** *** 180,184 **** if (in.id != fsid) { fprintf(stderr, "ERROR: Didn't find fsid=%d!\n", fsid); ! exit(1); } --- 191,195 ---- if (in.id != fsid) { fprintf(stderr, "ERROR: Didn't find fsid=%d!\n", fsid); ! safe_exit(1); } *************** *** 191,199 **** { char p[128]; ! // char *p = getenv("MFS_DEVLIST"); ! if( addr ) ! { ! strcpy(p, ":"); ! strcat(p, addr); add_dev_map(p); } --- 202,210 ---- { char p[128]; ! // char *p = getenv("MFS_DEVLIST"); ! if( addr ) ! { ! strcpy(p, ":"); ! strcat(p, addr); add_dev_map(p); } *************** *** 202,205 **** --- 213,221 ---- } + void mfs_terminate(void) + { + free_zones(); + } + /* dump some global info on the mfs */ void mfs_info(void) *************** *** 377,381 **** fprintf(stderr, "ERROR: fsid=%d Unknown units %d\n", fsid, inode.units); ! exit(1); return inode.size; } --- 393,397 ---- fprintf(stderr, "ERROR: fsid=%d Unknown units %d\n", fsid, inode.units); ! safe_exit(1); return inode.size; } *************** *** 480,484 **** default: fprintf(stderr,"ERROR: Unknown file type %d!\n", type); ! exit(1); break; } --- 496,500 ---- default: fprintf(stderr,"ERROR: Unknown file type %d!\n", type); ! safe_exit(1); break; } *************** *** 498,503 **** fsid = MFS_ROOT_FSID; p0 = strdup(path); ! path = p0; ! for (tok=strtok_r(path,"/", &r); tok; tok=strtok_r(NULL,"/", &r)) { u32 count; int i; --- 514,519 ---- fsid = MFS_ROOT_FSID; p0 = strdup(path); ! path = p0; ! for (tok=strtok_r(path,"/", &r); tok; tok=strtok_r(NULL,"/", &r)) { u32 count; int i; *************** *** 516,521 **** } fsid = dir[i].fsid; ! if (dir[i].type != MFS_TYPE_DIR) { ! if (strtok_r(NULL, "/", &r)) { fprintf(stderr,"not a directory %s\n",tok); fsid = 0; --- 532,537 ---- } fsid = dir[i].fsid; ! if (dir[i].type != MFS_TYPE_DIR) { ! if (strtok_r(NULL, "/", &r)) { fprintf(stderr,"not a directory %s\n",tok); fsid = 0; *************** *** 556,560 **** printf("invalid fsid %d (next=%d)\n", inode.id, super.next_fsid); ! exit(1); } fn(&inode, limit, zone, bm); --- 572,576 ---- printf("invalid fsid %d (next=%d)\n", inode.id, super.next_fsid); ! safe_exit(1); } fn(&inode, limit, zone, bm); *************** *** 566,598 **** ! void bitmap_fn(struct mfs_inode *inode, u64 limit, int zone, struct bitmap* bm) { ! int i; ! //printf("inode %d runs=%d\n", inode->id, inode->num_runs); ! if (limit && mfs_fsid_size(inode->id) > limit) { ! printf("skipping inode %d of size=%lld\n", ! inode->id, mfs_fsid_size(inode->id)); ! return; ! } ! // if (bitmap_excluded(inode->id)) return; ! for (i=0;i<inode->num_runs;i++) { ! u32 start, len; ! start = inode->u.runs[i].start; ! len = inode->u.runs[i].len; ! if (start < zones[zone]->zone_start || ! start >= zones[zone]->zone_start+ ! zones[zone]->zone_size) { ! continue; ! } ! if (len % zones[zone]->per_chunk) { ! printf("Not a multiple of per-chunk? fsid=%d\n", inode->id); ! exit(1); ! } ! bitmap_set(bm, ! (start-zones[zone]->zone_start)/ ! zones[zone]->per_chunk, ! len/zones[zone]->per_chunk); ! } ! } ! struct bitmap *mfs_zone_bitmap(int zone, u64 limit) { --- 582,614 ---- ! void bitmap_fn(struct mfs_inode *inode, u64 limit, int zone, struct bitmap* bm) { ! int i; ! //printf("inode %d runs=%d\n", inode->id, inode->num_runs); ! if (limit && mfs_fsid_size(inode->id) > limit) { ! printf("skipping inode %d of size=%lld\n", ! inode->id, mfs_fsid_size(inode->id)); ! return; ! } ! // if (bitmap_excluded(inode->id)) return; ! for (i=0;i<inode->num_runs;i++) { ! u32 start, len; ! start = inode->u.runs[i].start; ! len = inode->u.runs[i].len; ! if (start < zones[zone]->zone_start || ! start >= zones[zone]->zone_start+ ! zones[zone]->zone_size) { ! continue; ! } ! if (len % zones[zone]->per_chunk) { ! printf("Not a multiple of per-chunk? fsid=%d\n", inode->id); ! safe_exit(1); ! } ! bitmap_set(bm, ! (start-zones[zone]->zone_start)/ ! zones[zone]->per_chunk, ! len/zones[zone]->per_chunk); ! } ! } ! struct bitmap *mfs_zone_bitmap(int zone, u64 limit) { *************** *** 723,727 **** if (mfs_fsid_type(fsid) != MFS_TYPE_OBJ) { fprintf(stderr, "%d is not an object\n", fsid); ! exit(1); } size = (int)mfs_fsid_size(fsid); --- 739,743 ---- if (mfs_fsid_type(fsid) != MFS_TYPE_OBJ) { fprintf(stderr, "%d is not an object\n", fsid); ! safe_exit(1); } size = (int)mfs_fsid_size(fsid); |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:36:00
|
Update of /cvsroot/tyshow/TyShow/mpeg2decfilter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/mpeg2decfilter Modified Files: Mpeg2DecFilter.cpp Mpeg2DecFilter.h Mpeg2DecFilter.vcproj libmpeg2.cpp Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes Index: Mpeg2DecFilter.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/mpeg2decfilter/Mpeg2DecFilter.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Mpeg2DecFilter.cpp 16 Sep 2003 18:01:39 -0000 1.1 --- Mpeg2DecFilter.cpp 23 Sep 2004 15:35:50 -0000 1.2 *************** *** 217,227 **** } - STDMETHODIMP CMpeg2DecFilter::NonDelegatingQueryInterface(REFIID riid, void** ppv) - { - return - QI(IMpeg2DecFilter) - __super::NonDelegatingQueryInterface(riid, ppv); - } - int CMpeg2DecFilter::GetPinCount() { --- 217,220 ---- *************** *** 1140,1150 **** } - STDMETHODIMP CMpeg2DecInputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv) - { - return - QI(IKsPropertySet) - __super::NonDelegatingQueryInterface(riid, ppv); - } - // IMemInputPin --- 1133,1136 ---- Index: libmpeg2.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/mpeg2decfilter/libmpeg2.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** libmpeg2.cpp 16 Sep 2003 18:01:39 -0000 1.1 --- libmpeg2.cpp 23 Sep 2004 15:35:50 -0000 1.2 *************** *** 351,354 **** --- 351,1870 ---- } + static void mpeg2_idct_init_sse() + { + // for(int i = 0; i < 64; i++) + //{ + // mpeg2_scan_norm_2[i] = (mpeg2_scan_norm_2[i] & 0x38) | ((mpeg2_scan_norm_2[i] & 6) >> 1) | ((mpeg2_scan_norm_2[i] & 1) << 2); + // mpeg2_scan_alt_2[i] = (mpeg2_scan_alt_2[i] & 0x38) | ((mpeg2_scan_alt_2[i] & 6) >> 1) | ((mpeg2_scan_alt_2[i] & 1) << 2); + // } [...1506 lines suppressed...] + + + // mc (mmx) *************** *** 1871,1874 **** --- 3387,3398 ---- // + //if(g_cpuid.m_flags&CCpuID::flag_t::ssefpu) + //{ + // m_idct_init = mpeg2_idct_init_sse; + // m_idct_copy = mpeg2_idct_copy_sse; + // m_idct_add = mpeg2_idct_add_sse; + // m_mc = &mpeg2_mc_mmx; + //} + //else if(g_cpuid.m_flags&CCpuID::flag_t::mmx) { Index: Mpeg2DecFilter.vcproj =================================================================== RCS file: /cvsroot/tyshow/TyShow/mpeg2decfilter/Mpeg2DecFilter.vcproj,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Mpeg2DecFilter.vcproj 31 Oct 2003 16:37:59 -0000 1.2 --- Mpeg2DecFilter.vcproj 23 Sep 2004 15:35:50 -0000 1.3 *************** *** 1,523 **** ! <?xml version="1.0" encoding="Windows-1252"?> ! <VisualStudioProject ! ProjectType="Visual C++" ! Version="7.10" ! Name="Mpeg2DecFilter" ! ProjectGUID="{305BAB2D-0D75-4FBC-8BCD-A2917392B48C}" ! Keyword="Win32Proj"> ! <Platforms> ! <Platform ! Name="Win32"/> [...1017 lines suppressed...] ! Name="VCResourceCompilerTool"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release lib|Win32" ! ExcludedFromBuild="TRUE"> ! <Tool ! Name="VCResourceCompilerTool"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode lib|Win32" ! ExcludedFromBuild="TRUE"> ! <Tool ! Name="VCResourceCompilerTool"/> ! </FileConfiguration> ! </File> ! </Filter> ! </Files> ! <Globals> ! </Globals> ! </VisualStudioProject> Index: Mpeg2DecFilter.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/mpeg2decfilter/Mpeg2DecFilter.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** Mpeg2DecFilter.h 16 Sep 2003 18:01:39 -0000 1.1 --- Mpeg2DecFilter.h 23 Sep 2004 15:35:50 -0000 1.2 *************** *** 79,83 **** DECLARE_IUNKNOWN ! STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv); HRESULT Deliver(bool fRepeatLast); --- 79,83 ---- DECLARE_IUNKNOWN ! // STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv); HRESULT Deliver(bool fRepeatLast); *************** *** 153,157 **** DECLARE_IUNKNOWN ! STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv); CCritSec m_csRateLock; --- 153,157 ---- DECLARE_IUNKNOWN ! // STDMETHODIMP NonDelegatingQueryInterface(REFIID riid, void** ppv); CCritSec m_csRateLock; |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:36:00
|
Update of /cvsroot/tyshow/TyShow/decss In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/decss Modified Files: decss.ncb decss.suo decss.vcproj Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes Index: decss.vcproj =================================================================== RCS file: /cvsroot/tyshow/TyShow/decss/decss.vcproj,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** decss.vcproj 16 Sep 2003 18:01:39 -0000 1.1 --- decss.vcproj 23 Sep 2004 15:35:49 -0000 1.2 *************** *** 1,271 **** ! <?xml version="1.0" encoding="Windows-1252"?> ! <VisualStudioProject ! ProjectType="Visual C++" ! Version="7.10" ! Name="decss" ! ProjectGUID="{1A2DFD1A-3C6C-44D1-909D-294AF646B575}" ! Keyword="Win32Proj"> ! <Platforms> ! <Platform ! Name="Win32"/> ! </Platforms> ! <Configurations> ! <Configuration ! Name="Debug|Win32" ! OutputDirectory="Debug" ! IntermediateDirectory="Debug" ! ConfigurationType="4" ! UseOfMFC="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! PreprocessorDefinitions="WIN32;_DEBUG;_LIB" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="4"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLibrarianTool" ! OutputFile="../../lib/$(ProjectName)D.lib"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release|Win32" ! OutputDirectory="Release" ! IntermediateDirectory="Release" ! ConfigurationType="4" ! UseOfMFC="1" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="2" ! InlineFunctionExpansion="1" ! OmitFramePointers="TRUE" ! PreprocessorDefinitions="WIN32;NDEBUG;_LIB" ! StringPooling="TRUE" ! RuntimeLibrary="0" ! EnableFunctionLevelLinking="TRUE" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="3"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLibrarianTool" ! OutputFile="../../lib/$(ProjectName)R.lib"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Debug Unicode|Win32" ! OutputDirectory="Debug Unicode" ! IntermediateDirectory="Debug Unicode" ! ConfigurationType="4" ! UseOfMFC="2" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! PreprocessorDefinitions="WIN32;_DEBUG;_LIB" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="4"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLibrarianTool" ! OutputFile="$(OutDir)/$(ProjectName).lib"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release Unicode|Win32" ! OutputDirectory="Release Unicode" ! IntermediateDirectory="Release Unicode" ! ConfigurationType="4" ! UseOfMFC="1" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="2" ! InlineFunctionExpansion="1" ! OmitFramePointers="TRUE" ! PreprocessorDefinitions="WIN32;NDEBUG;_LIB" ! StringPooling="TRUE" ! RuntimeLibrary="0" ! EnableFunctionLevelLinking="TRUE" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="3"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLibrarianTool" ! OutputFile="$(OutDir)/$(ProjectName).lib"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! </Configurations> ! <References> ! </References> ! <Files> ! <Filter ! Name="Source Files" ! Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"> ! <File ! RelativePath="CSSauth.cpp"> ! </File> ! <File ! RelativePath="CSSscramble.cpp"> ! </File> ! <File ! RelativePath="stdafx.cpp"> ! <FileConfiguration ! Name="Debug|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath="VobDec.cpp"> ! </File> ! <File ! RelativePath="VobFile.cpp"> ! </File> ! </Filter> ! <Filter ! Name="Header Files" ! Filter="h;hpp;hxx;hm;inl;inc"> ! <File ! RelativePath="CSSauth.h"> ! </File> ! <File ! RelativePath="CSSscramble.h"> ! </File> ! <File ! RelativePath="decss.h"> ! </File> ! <File ! RelativePath="stdafx.h"> ! </File> ! <File ! RelativePath="VobDec.h"> ! </File> ! <File ! RelativePath="VobFile.h"> ! </File> ! </Filter> ! <Filter ! Name="Resource Files" ! Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> ! </Filter> ! <Filter ! Name="vstrip" ! Filter=""> ! <File ! RelativePath="udf.cpp"> ! </File> ! <File ! RelativePath="udf.h"> ! </File> ! </Filter> ! </Files> ! <Globals> ! </Globals> ! </VisualStudioProject> --- 1,271 ---- ! <?xml version="1.0" encoding="Windows-1252"?> ! <VisualStudioProject ! ProjectType="Visual C++" ! Version="7.10" ! Name="decss" ! ProjectGUID="{1A2DFD1A-3C6C-44D1-909D-294AF646B575}" ! Keyword="Win32Proj"> ! <Platforms> ! <Platform ! Name="Win32"/> ! </Platforms> ! <Configurations> ! <Configuration ! Name="Debug|Win32" ! OutputDirectory="Debug" ! IntermediateDirectory="Debug" ! ConfigurationType="4" ! UseOfMFC="2" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! PreprocessorDefinitions="WIN32;_DEBUG;_LIB" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="4"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLibrarianTool" ! OutputFile="../../lib/$(ProjectName)D.lib"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release|Win32" ! OutputDirectory="Release" ! IntermediateDirectory="Release" ! ConfigurationType="4" ! UseOfMFC="1" ! CharacterSet="2"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="2" ! InlineFunctionExpansion="1" ! OmitFramePointers="TRUE" ! PreprocessorDefinitions="WIN32;NDEBUG;_LIB" ! StringPooling="TRUE" ! RuntimeLibrary="0" ! EnableFunctionLevelLinking="TRUE" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="3"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLibrarianTool" ! OutputFile="../../lib/$(ProjectName)R.lib"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Debug Unicode|Win32" ! OutputDirectory="Debug Unicode" ! IntermediateDirectory="Debug Unicode" ! ConfigurationType="4" ! UseOfMFC="2" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="0" ! PreprocessorDefinitions="WIN32;_DEBUG;_LIB" ! MinimalRebuild="TRUE" ! BasicRuntimeChecks="3" ! RuntimeLibrary="3" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="4"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLibrarianTool" ! OutputFile="$(OutDir)/$(ProjectName).lib"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! <Configuration ! Name="Release Unicode|Win32" ! OutputDirectory="Release Unicode" ! IntermediateDirectory="Release Unicode" ! ConfigurationType="4" ! UseOfMFC="1" ! CharacterSet="1"> ! <Tool ! Name="VCCLCompilerTool" ! Optimization="2" ! InlineFunctionExpansion="1" ! OmitFramePointers="TRUE" ! PreprocessorDefinitions="WIN32;NDEBUG;_LIB" ! StringPooling="TRUE" ! RuntimeLibrary="0" ! EnableFunctionLevelLinking="TRUE" ! UsePrecompiledHeader="3" ! WarningLevel="3" ! Detect64BitPortabilityProblems="FALSE" ! DebugInformationFormat="3"/> ! <Tool ! Name="VCCustomBuildTool"/> ! <Tool ! Name="VCLibrarianTool" ! OutputFile="$(OutDir)/$(ProjectName).lib"/> ! <Tool ! Name="VCMIDLTool"/> ! <Tool ! Name="VCPostBuildEventTool"/> ! <Tool ! Name="VCPreBuildEventTool"/> ! <Tool ! Name="VCPreLinkEventTool"/> ! <Tool ! Name="VCResourceCompilerTool"/> ! <Tool ! Name="VCWebServiceProxyGeneratorTool"/> ! <Tool ! Name="VCXMLDataGeneratorTool"/> ! <Tool ! Name="VCManagedWrapperGeneratorTool"/> ! <Tool ! Name="VCAuxiliaryManagedWrapperGeneratorTool"/> ! </Configuration> ! </Configurations> ! <References> ! </References> ! <Files> ! <Filter ! Name="Source Files" ! Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm"> ! <File ! RelativePath="CSSauth.cpp"> ! </File> ! <File ! RelativePath="CSSscramble.cpp"> ! </File> ! <File ! RelativePath="stdafx.cpp"> ! <FileConfiguration ! Name="Debug|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Debug Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! <FileConfiguration ! Name="Release Unicode|Win32"> ! <Tool ! Name="VCCLCompilerTool" ! UsePrecompiledHeader="1"/> ! </FileConfiguration> ! </File> ! <File ! RelativePath="VobDec.cpp"> ! </File> ! <File ! RelativePath="VobFile.cpp"> ! </File> ! </Filter> ! <Filter ! Name="Header Files" ! Filter="h;hpp;hxx;hm;inl;inc"> ! <File ! RelativePath="CSSauth.h"> ! </File> ! <File ! RelativePath="CSSscramble.h"> ! </File> ! <File ! RelativePath="decss.h"> ! </File> ! <File ! RelativePath="stdafx.h"> ! </File> ! <File ! RelativePath="VobDec.h"> ! </File> ! <File ! RelativePath="VobFile.h"> ! </File> ! </Filter> ! <Filter ! Name="Resource Files" ! Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"> ! </Filter> ! <Filter ! Name="vstrip" ! Filter=""> ! <File ! RelativePath="udf.cpp"> ! </File> ! <File ! RelativePath="udf.h"> ! </File> ! </Filter> ! </Files> ! <Globals> ! </Globals> ! </VisualStudioProject> Index: decss.ncb =================================================================== RCS file: /cvsroot/tyshow/TyShow/decss/decss.ncb,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvsQ8dXfD and /tmp/cvsWWGkET differ Index: decss.suo =================================================================== RCS file: /cvsroot/tyshow/TyShow/decss/decss.suo,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvszcJCr0 and /tmp/cvsdKua5g differ |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:35:59
|
Update of /cvsroot/tyshow/TyShow/include In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/include Added Files: IPreRead.h Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes --- NEW FILE: IPreRead.h --- #pragma once [uuid("394BC3FA-F932-29FC-201A-2303F22BAE20")] interface IPreRead : public IUnknown { STDMETHOD (PreRead) (PBYTE pBuffer) = 0; }; |
From: d7o3g4q <d7...@us...> - 2004-09-23 15:35:59
|
Update of /cvsroot/tyshow/TyShow/basesplitter In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2241/basesplitter Modified Files: BaseSplitter.cpp BaseSplitter.h Log Message: Lots of changes. Biggest difference is the support for streaming. many bugfixes Index: BaseSplitter.cpp =================================================================== RCS file: /cvsroot/tyshow/TyShow/basesplitter/BaseSplitter.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BaseSplitter.cpp 31 Oct 2003 16:37:59 -0000 1.2 --- BaseSplitter.cpp 23 Sep 2004 15:35:49 -0000 1.3 *************** *** 2,5 **** --- 2,6 ---- #include "..\DSUtil\DSUtil.h" #include <initguid.h> + #include "..\include\IPreRead.h" #include "BaseSplitter.h" *************** *** 64,67 **** --- 65,77 ---- } + HRESULT CBaseSplitterInputPin::GetPreRead(IPreRead** ppPreRead) + { + CheckPointer(ppPreRead, E_POINTER); + *ppPreRead = NULL; + CheckPointer(m_pPreRead, VFW_E_NOT_CONNECTED); + (*ppPreRead = m_pPreRead)->AddRef(); + return S_OK; + } + STDMETHODIMP CBaseSplitterInputPin::NonDelegatingQueryInterface(REFIID riid, void** ppv) { *************** *** 89,100 **** return hr; ! if(CComQIPtr<IAsyncReader> pAsyncReader = pPin) ! { hr = S_OK; ! } ! else ! { ! hr = E_NOINTERFACE; ! } return hr; --- 99,110 ---- return hr; ! // if(CComQIPtr<IAsyncReader> pAsyncReader = pPin) ! // { hr = S_OK; ! // } ! // else ! // { ! // hr = E_NOINTERFACE; ! // } return hr; *************** *** 112,115 **** --- 122,126 ---- m_pAsyncReader.Release(); + m_pPreRead.Release(); return S_OK; *************** *** 125,129 **** CheckPointer(pPin, E_POINTER); m_pAsyncReader = pPin; ! CheckPointer(m_pAsyncReader, E_NOINTERFACE); if(FAILED(hr = ((CBaseSplitterFilter*)m_pFilter)->CompleteConnect(PINDIR_INPUT, this))) --- 136,141 ---- CheckPointer(pPin, E_POINTER); m_pAsyncReader = pPin; ! m_pPreRead = pPin; ! CheckPointer(m_pAsyncReader || m_pPreRead, E_NOINTERFACE); if(FAILED(hr = ((CBaseSplitterFilter*)m_pFilter)->CompleteConnect(PINDIR_INPUT, this))) *************** *** 630,639 **** CBaseSplitterInputPin* pIn = (CBaseSplitterInputPin*)pPin; ! HRESULT hr; CComPtr<IAsyncReader> pAsyncReader; ! if(FAILED(hr = pIn->GetAsyncReader(&pAsyncReader)) ! || FAILED(hr = CreateOutputs(pAsyncReader))) return hr; } else if(dir == PINDIR_OUTPUT) --- 642,662 ---- CBaseSplitterInputPin* pIn = (CBaseSplitterInputPin*)pPin; ! HRESULT hr = S_OK; CComPtr<IAsyncReader> pAsyncReader; ! CComPtr<IPreRead> pPreRead; ! if(SUCCEEDED(pIn->GetPreRead(&pPreRead))) ! { ! hr = CreateOutputs(pPreRead); ! pPreRead.Release(); ! if( SUCCEEDED(hr) ) ! return hr; ! } ! if(SUCCEEDED(hr) && SUCCEEDED(pIn->GetAsyncReader(&pAsyncReader))) ! { ! hr = CreateOutputs(pAsyncReader); ! pAsyncReader.Release(); return hr; + } } else if(dir == PINDIR_OUTPUT) Index: BaseSplitter.h =================================================================== RCS file: /cvsroot/tyshow/TyShow/basesplitter/BaseSplitter.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BaseSplitter.h 31 Oct 2003 16:37:59 -0000 1.2 --- BaseSplitter.h 23 Sep 2004 15:35:49 -0000 1.3 *************** *** 44,47 **** --- 44,48 ---- protected: CComQIPtr<IAsyncReader> m_pAsyncReader; + CComQIPtr<IPreRead> m_pPreRead; public: *************** *** 50,53 **** --- 51,55 ---- HRESULT GetAsyncReader(IAsyncReader** ppAsyncReader); + HRESULT GetPreRead(IPreRead** ppPreRead); DECLARE_IUNKNOWN; *************** *** 133,137 **** CAutoPtrList<CBaseSplitterOutputPin> m_pOutputs; CMap<DWORD, DWORD, CBaseSplitterOutputPin*, CBaseSplitterOutputPin*> m_pPinMap; ! LONGLONG m_nOpenProgress; bool m_fAbort; --- 135,139 ---- CAutoPtrList<CBaseSplitterOutputPin> m_pOutputs; CMap<DWORD, DWORD, CBaseSplitterOutputPin*, CBaseSplitterOutputPin*> m_pPinMap; ! LONGLONG m_nOpenProgress; bool m_fAbort; *************** *** 152,155 **** --- 154,158 ---- // override this ... virtual HRESULT CreateOutputs(IAsyncReader* pAsyncReader) = 0; + virtual HRESULT CreateOutputs(IPreRead* pPreRead) = 0; protected: *************** *** 159,163 **** // ... and also override all these too virtual bool InitDeliverLoop() = 0; ! virtual void SeekDeliverLoop(REFERENCE_TIME rt) = 0; virtual void DoDeliverLoop() = 0; --- 162,166 ---- // ... and also override all these too virtual bool InitDeliverLoop() = 0; ! virtual void SeekDeliverLoop(REFERENCE_TIME& rt) = 0; virtual void DoDeliverLoop() = 0; |