Ignore:
Timestamp:
May 6, 2018, 7:31:42 AM (3 years ago)
Author:
roman
Message:

Added filter states and intermediate states; earlier minor fixes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/DirectShowSpy/FilterGraphHelper.h

    r840 r851  
    27842784                return _StringHelper::Join(Array, _T(", "));
    27852785        }
     2786        static CString Format(FILTER_STATE Value)
     2787        {
     2788                static const CEnumerationNameT<FILTER_STATE> g_pMap[] =
     2789                {
     2790                        #define A(x) { x, #x },
     2791                        A(State_Stopped)
     2792                        A(State_Paused)
     2793                        A(State_Running)
     2794                        #undef A
     2795                };
     2796                return FormatEnumerationT(g_pMap, Value);
     2797        }
    27862798        static CString GetFilterText(IBaseFilter* pBaseFilter, const CProcessData* pProcessData, IReferenceClock* pFilterGraphReferenceClock = NULL)
    27872799        {
    27882800                CString sText;
    2789                 #pragma region COM
     2801                #pragma region COM, Server Version
    27902802                CString sPath;
    27912803                const CStringW sClassIdentifierString = _FilterGraphHelper::GetFilterClassIdentifierString(pBaseFilter);
     
    28432855                        }
    28442856                #pragma endregion
     2857                #pragma region Filter
     2858                {
     2859                        FILTER_STATE State;
     2860                        const HRESULT nGetStateResult = pBaseFilter->GetState(0, &State);
     2861                        _Z45_DSHRESULT(nGetStateResult);
     2862                        if(SUCCEEDED(nGetStateResult))
     2863                                sText += AtlFormatString(_T(" * ") _T("State: %s") _T("\r\n"), Format(State));
     2864                        if(nGetStateResult != S_OK)
     2865                                sText += AtlFormatString(_T(" * ") _T("GetState Result: 0x%08X") _T("\r\n"), nGetStateResult); // VFW_S_STATE_INTERMEDIATE?
     2866                }
     2867                #pragma endregion
    28452868                #pragma region Pin
    28462869                _FilterGraphHelper::CPinArray InputPinArray;
     
    32773300                                const HRESULT nGetStateResult = pMediaControl->GetState(0, &State);
    32783301                                _Z45_DSHRESULT(nGetStateResult);
    3279                                 static const LPCTSTR g_ppszStates[] = { _T("Stopped"), _T("Paused"), _T("Running"), };
    3280                                 if(SUCCEEDED(nGetStateResult) && (SIZE_T) State < DIM(g_ppszStates))
    3281                                         sText += AtlFormatString(_T("* ") _T("State: %s") _T("\r\n"), I(g_ppszStates[(SIZE_T) State]));
     3302                                if(SUCCEEDED(nGetStateResult))
     3303                                        sText += AtlFormatString(_T("* ") _T("State: %s") _T("\r\n"), I(Format((FILTER_STATE) State)));
     3304                                if(nGetStateResult != S_OK)
     3305                                        sText += AtlFormatString(_T("* ") _T("GetState Result: 0x%08X") _T("\r\n"), nGetStateResult); // VFW_S_STATE_INTERMEDIATE?
    32823306                        }
    32833307                        _ATLCATCHALL()
Note: See TracChangeset for help on using the changeset viewer.