TSDuck v3.38-3699
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches
ts::DirectShowTest Class Reference

A class to perform various tests on DirectShow and BDA (Windows-specific). More...

#include <tsDirectShowTest.h>

Collaboration diagram for ts::DirectShowTest:

Public Types

enum  TestType {
  NONE ,
  LIST_DEVICES ,
  ENUMERATE_DEVICES ,
  TUNING_SPACES ,
  BDA_TUNERS
}
 List of DirectShow tests. More...
 

Public Member Functions

 DirectShowTest (std::ostream &output, Report &report)
 Constructor.
 
bool displayDevicesByCategory (const ::GUID &category, const UString &name, bool details=true, const UString &margin=UString())
 Display all devices of the specified category.
 
void displayInterfaces (::IUnknown *object, const UString &margin=UString())
 List some known interfaces that an object may expose.
 
void displayObject (::IUnknown *object, const UString &margin=UString())
 Show selected properties of a COM object.
 
bool displayTuningSpaces (const UString &margin=UString())
 Display all DirectShow tuning spaces.
 
void enumerateDevices (const UString &margin=UString())
 Enumerate DirectShow devices, same as runTest(ENUMERATE_DEVICES).
 
void listDevices (const UString &margin=UString())
 Brief list of DirectShow devices, same as runTest(LIST_DEVICES).
 
void runTest (TestType type)
 Run one test.
 
void testBDATuners (const UString &margin=UString())
 Test BDA tuners, same as runTest(BDA_TUNERS).
 
void testTuningSpaces (const UString &margin=UString())
 Test tuning spaces, same as runTest(TUNING_SPACES).
 

Static Public Attributes

static const Enumeration TestNames
 An enumeration of TestType names, typically used for command line options.
 

Detailed Description

A class to perform various tests on DirectShow and BDA (Windows-specific).

Member Enumeration Documentation

◆ TestType

List of DirectShow tests.

Enumerator
NONE 

No test, do nothing.

LIST_DEVICES 

Briel list of most tuner-related DirectShow devices.

ENUMERATE_DEVICES 

Enumerate all tuner-related DirectShow devices.

TUNING_SPACES 

Test available tuning spaces.

BDA_TUNERS 

Test available BDA tuners.

Constructor & Destructor Documentation

◆ DirectShowTest()

ts::DirectShowTest::DirectShowTest ( std::ostream &  output,
Report report 
)

Constructor.

Parameters
[in,out]outputWhere to display test results.
[in,out]reportWhere to report errors.

Member Function Documentation

◆ runTest()

void ts::DirectShowTest::runTest ( TestType  type)

Run one test.

Parameters
[in]typeThe test to run.

◆ listDevices()

void ts::DirectShowTest::listDevices ( const UString margin = UString())

Brief list of DirectShow devices, same as runTest(LIST_DEVICES).

Parameters
[in]marginLeft margin to display.

◆ enumerateDevices()

void ts::DirectShowTest::enumerateDevices ( const UString margin = UString())

Enumerate DirectShow devices, same as runTest(ENUMERATE_DEVICES).

Parameters
[in]marginLeft margin to display.

◆ testTuningSpaces()

void ts::DirectShowTest::testTuningSpaces ( const UString margin = UString())

Test tuning spaces, same as runTest(TUNING_SPACES).

Parameters
[in]marginLeft margin to display.

◆ testBDATuners()

void ts::DirectShowTest::testBDATuners ( const UString margin = UString())

Test BDA tuners, same as runTest(BDA_TUNERS).

Parameters
[in]marginLeft margin to display.

◆ displayDevicesByCategory()

bool ts::DirectShowTest::displayDevicesByCategory ( const ::GUID &  category,
const UString name,
bool  details = true,
const UString margin = UString() 
)

Display all devices of the specified category.

Parameters
[in]categoryCategory of the devices to display.
[in]nameName of the category to display.
[in]detailsWhen true, list all details.
[in]marginLeft margin to display.
Returns
True on success, false on error.

◆ displayTuningSpaces()

bool ts::DirectShowTest::displayTuningSpaces ( const UString margin = UString())

Display all DirectShow tuning spaces.

Parameters
[in]marginLeft margin to display.
Returns
True on success, false on error.

◆ displayObject()

void ts::DirectShowTest::displayObject ( ::IUnknown *  object,
const UString margin = UString() 
)

Show selected properties of a COM object.

Parameters
[in]objectObject to query.
[in]marginLeft margin to display.

◆ displayInterfaces()

void ts::DirectShowTest::displayInterfaces ( ::IUnknown *  object,
const UString margin = UString() 
)

List some known interfaces that an object may expose.

Warning, very slow, test interfaces one by one.

Parameters
[in]objectObject to query.
[in]marginLeft margin to display.

The documentation for this class was generated from the following file: