Changeset 325 for trunk/DirectShowSpy/FilterGraphHelper.h
- Timestamp:
- Sep 6, 2014, 12:46:49 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/DirectShowSpy/FilterGraphHelper.h
r322 r325 3205 3205 } 3206 3206 #pragma endregion 3207 #pragma region Clock 3208 { 3209 sText += AtlFormatString(_T("## ") _T("Clock") _T("\r\n") _T("\r\n")); 3210 CComPtr<IReferenceClock> pCurrentReferenceClock; 3211 _ATLTRY 3212 { 3213 const CComQIPtr<IMediaFilter> pMediaFilter = pFilterGraph; 3214 if(pMediaFilter) 3215 __C(pMediaFilter->GetSyncSource(&pCurrentReferenceClock)); 3216 } 3217 _ATLCATCHALL() 3218 { 3219 _Z_EXCEPTION(); 3220 } 3221 CStringW sCurrentName; 3222 for(auto&& pBaseFilter: FilterArray) 3223 { 3224 const CComQIPtr<IReferenceClock> pReferenceClock = pBaseFilter; 3225 if(!pReferenceClock) 3226 continue; 3227 const CStringW sName = _FilterGraphHelper::GetFilterName(pBaseFilter); 3228 CRoArrayT<CString> Array; 3229 _ATLTRY 3230 { 3231 if(pCurrentReferenceClock == pReferenceClock) 3232 { 3233 sCurrentName = sName; 3234 Array.Add(_T("Current")); 3235 } 3236 Array.Add(I(pReferenceClock)); 3237 REFERENCE_TIME nTime = 0; 3238 __C(pReferenceClock->GetTime(&nTime)); 3239 Array.Add(I(_FilterGraphHelper::FormatReferenceTime(nTime))); 3240 Array.Add(I(AtlFormatString(_T("0x%I64X"), nTime))); 3241 } 3242 _ATLCATCHALL() 3243 { 3244 _Z_EXCEPTION(); 3245 } 3246 sText += AtlFormatString(_T(" * ") _T("%s (%s)") _T("\r\n"), I(sName), _StringHelper::Join(Array, _T(", "))); 3247 } 3248 if(pCurrentReferenceClock) 3249 { 3250 if(sCurrentName.IsEmpty()) 3251 { 3252 CRoArrayT<CString> Array; 3253 _ATLTRY 3254 { 3255 Array.Add(I(pCurrentReferenceClock)); 3256 REFERENCE_TIME nTime = 0; 3257 __C(pCurrentReferenceClock->GetTime(&nTime)); 3258 Array.Add(I(_FilterGraphHelper::FormatReferenceTime(nTime))); 3259 Array.Add(I(AtlFormatString(_T("0x%I64X"), nTime))); 3260 } 3261 _ATLCATCHALL() 3262 { 3263 _Z_EXCEPTION(); 3264 } 3265 sText += AtlFormatString(_T(" * ") _T("Current: External (%s)") _T("\r\n"), _StringHelper::Join(Array, _T(", "))); 3266 } 3267 } else 3268 sText += AtlFormatString(_T(" * ") _T("Current: None") _T("\r\n")); 3269 sText += _T("\r\n"); 3270 } 3271 #pragma endregion 3207 3272 return sText; 3208 3273 }
Note: See TracChangeset
for help on using the changeset viewer.