Ignore:
Timestamp:
Nov 15, 2012, 12:09:33 PM (10 years ago)
Author:
roman
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Utilities/DumpMediaSamples/DumpMediaSamples.cpp

    r142 r143  
    167167
    168168        private:
     169                CModule* m_pModule;
    169170                CString m_sName;
    170171                CString m_sNamePrefix;
     
    174175        public:
    175176        // CSampleGrabberCallback
     177                CSampleGrabberCallback() :
     178                        m_pModule(NULL)
     179                {
     180                        _Z4(atlTraceRefcount, 4, _T("this 0x%p\n"), this);
     181                }
     182                ~CSampleGrabberCallback()
     183                {
     184                        _Z4(atlTraceRefcount, 4, _T("this 0x%p\n"), this);
     185                }
     186                VOID Initialize(CModule* pModule)
     187                {
     188                        _A(!m_pModule && pModule);
     189                        m_pModule = pModule;
     190                }
    176191                VOID SetName(const CString& sName)
    177192                {
     
    186201                        m_pMediaType = pMediaType;
    187202                }
    188                 static VOID PrintMediaType(const CMediaType& pMediaType)
    189                 {
    190                         _tprintf(_T("Media Type:\n\n"));
     203                VOID PrintMediaType(const CMediaType& pMediaType)
     204                {
     205                        _tprintf(_T("%s") _T("Media Type:\n\n"), m_sNamePrefix);
    191206                        _tprintf(_T("majortype %ls, subtype %ls, pUnk 0x%08x\n"), _PersistHelper::StringFromIdentifier(pMediaType->majortype), _PersistHelper::StringFromIdentifier(pMediaType->subtype), (LONG) (LONG_PTR) pMediaType->pUnk);
    192207                        _tprintf(_T("bFixedSizeSamples %d, bTemporalCompression %d, lSampleSize %d\n"), pMediaType->bFixedSizeSamples, pMediaType->bTemporalCompression, pMediaType->lSampleSize);
     
    241256
    242257        // ISampleGrabberCB
    243         STDMETHOD(SampleCB)(DOUBLE fSampleTime, IMediaSample* pMediaSample) throw()
     258        STDMETHOD(SampleCB)(DOUBLE fSampleTime, IMediaSample* pMediaSample)
    244259                {
    245260                        _A(pMediaSample);
     
    248263                                CMediaSampleProperties Properties(pMediaSample);
    249264                                _A(!Properties.pMediaType);
     265                                CRoCriticalSectionLock PrintLock(m_pModule->m_PrintCriticalSection);
    250266                                _tprintf(_T("%s") _T("fSampleTime %s, .dwTypeSpecificFlags 0x%08x%s, .dwSampleFlags 0x%08x%s, .tStart %s, .tStop %s, .dwStreamId %d\n"),
    251267                                        m_sNamePrefix,
     
    283299                        return S_OK;
    284300                }
    285         STDMETHOD(BufferCB)(DOUBLE fSampleTime, BYTE* pnBuffer, LONG nBufferSize) throw()
     301        STDMETHOD(BufferCB)(DOUBLE fSampleTime, BYTE* pnBuffer, LONG nBufferSize)
    286302                {
    287303                        return S_OK;
     
    294310        CPath m_sPath;
    295311        BOOL m_bNoReferenceClock;
     312        mutable CRoCriticalSection m_PrintCriticalSection;
    296313
    297314public:
     
    319336                return pszPath;
    320337        }
    321         CModule() throw()
     338        CModule()
    322339        {
    323340                //m_sPath = GetDefaultPath();
    324341                m_bNoReferenceClock = FALSE;
    325342        }
    326         ~CModule() throw()
     343        ~CModule()
    327344        {
    328345        }
     
    349366                        CObjectPtr<CSampleGrabberCallback> pSampleGrabberCallback;
    350367                        pSampleGrabberCallback.Construct();
     368                        pSampleGrabberCallback->Initialize(this);
    351369                        if(FilterArray.GetCount() > 1)
    352370                                pSampleGrabberCallback->SetName(AtlFormatString(_T("%c"), 'A' + nSampleGrabberIndex));
Note: See TracChangeset for help on using the changeset viewer.