MCPcopy Create free account
hub / github.com/Nevcairiel/LAVFilters / DumpGraph

Function DumpGraph

common/baseclasses/wxdebug.cpp:1337–1440  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1335}
1336
1337void WINAPI DumpGraph(IFilterGraph *pGraph, DWORD dwLevel)
1338{
1339 if (!pGraph)
1340 {
1341 return;
1342 }
1343
1344 IEnumFilters *pFilters;
1345
1346 DbgLog((LOG_TRACE, dwLevel, TEXT("DumpGraph [%x]"), pGraph));
1347
1348 if (FAILED(pGraph->EnumFilters(&pFilters)))
1349 {
1350 DbgLog((LOG_TRACE, dwLevel, TEXT("EnumFilters failed!")));
1351 }
1352
1353 IBaseFilter *pFilter;
1354 ULONG n;
1355 while (pFilters->Next(1, &pFilter, &n) == S_OK)
1356 {
1357 FILTER_INFO info;
1358
1359 if (FAILED(pFilter->QueryFilterInfo(&info)))
1360 {
1361 DbgLog((LOG_TRACE, dwLevel, TEXT(" Filter [%p] -- failed QueryFilterInfo"), pFilter));
1362 }
1363 else
1364 {
1365 QueryFilterInfoReleaseGraph(info);
1366
1367 // !!! should QueryVendorInfo here!
1368
1369 DbgLog((LOG_TRACE, dwLevel, TEXT(" Filter [%p] '%ls'"), pFilter, info.achName));
1370
1371 IEnumPins *pins;
1372
1373 if (FAILED(pFilter->EnumPins(&pins)))
1374 {
1375 DbgLog((LOG_TRACE, dwLevel, TEXT("EnumPins failed!")));
1376 }
1377 else
1378 {
1379
1380 IPin *pPin;
1381 while (pins->Next(1, &pPin, &n) == S_OK)
1382 {
1383 PIN_INFO pinInfo;
1384
1385 if (FAILED(pPin->QueryPinInfo(&pinInfo)))
1386 {
1387 DbgLog((LOG_TRACE, dwLevel, TEXT(" Pin [%x] -- failed QueryPinInfo"), pPin));
1388 }
1389 else
1390 {
1391 QueryPinInfoReleaseFilter(pinInfo);
1392
1393 IPin *pPinConnected = NULL;
1394

Callers

nothing calls this directly

Calls 10

SUCCEEDEDFunction · 0.85
DisplayTypeFunction · 0.85
FreeMediaTypeFunction · 0.85
QueryFilterInfoMethod · 0.80
EnumPinsMethod · 0.80
QueryPinInfoMethod · 0.80
ConnectedToMethod · 0.80
ConnectionMediaTypeMethod · 0.80
NextMethod · 0.45
ReleaseMethod · 0.45

Tested by

no test coverage detected