Ocean
Loading...
Searching...
No Matches
Ocean::Media::DirectShow::DSSampleSinkFilter Class Reference

This class implements a sample sink filter for DirectShow. More...

#include <DSSampleSinkFilter.h>

Inheritance diagram for Ocean::Media::DirectShow::DSSampleSinkFilter:

Data Structures

class  DSInputPin
 This class implements a base input filter. More...
 

Public Types

typedef Callback< void, IMediaSample *, const Timestamp, const TimestampSampleCallback
 Definition of a callback function informing about a new media sample.
 

Public Member Functions

 DSSampleSinkFilter (const std::wstring &filterName, const SampleCallback &callback)
 Creates a new sample sink filter.
 
 ~DSSampleSinkFilter () override
 Destructs a sample sink filter.
 
bool specifyMediaType (const AM_MEDIA_TYPE &mediaType)
 Adds a new media type of the input pin.
 
bool establishedMediaType (DSMediaType &dsMediaType)
 Gets the established media type.
 
bool respectPlaybackTime () const
 Returns whether the sink respects the media playback time or whether the samples are provided as fast as possible.
 
bool setRespectPlaybackTime (const bool state)
 Specifies whether the media playback time will be respected or whether the samples are provided as fast as possible.
 
int GetPinCount () override
 Returns the count of pins of this filter.
 
CBasePin * GetPin (int n) override
 Returns a pin given by its index.
 

Protected Types

typedef ScopeDirectShowObject< DSInputPinScopedDSInputPin
 Definition of a scoped object holding an DSInputPin object.
 

Protected Member Functions

struct __declspec (uuid("{D3D7D4C4-B235-4853-9108-88C334A19B43}")) CLSID_DSOceanSampleSinkFilter
 Unique identifier of the Ocean sample sink filter.
 

Protected Attributes

ScopedDSInputPin inputPin_
 Input pin of the filter.
 
CCritSec interfaceLock_
 Critical section for interfaces.
 

Friends

class DSInputPin
 

Detailed Description

This class implements a sample sink filter for DirectShow.

Member Typedef Documentation

◆ SampleCallback

Definition of a callback function informing about a new media sample.

Constructor & Destructor Documentation

◆ DSSampleSinkFilter()

Ocean::Media::DirectShow::DSSampleSinkFilter::DSSampleSinkFilter ( const std::wstring &  filterName,
const SampleCallback callback 
)

Creates a new sample sink filter.

Parameters
filterNameName of the filter
callbackNew media sample callback function

◆ ~DSSampleSinkFilter()

Ocean::Media::DirectShow::DSSampleSinkFilter::~DSSampleSinkFilter ( )
override

Destructs a sample sink filter.

Member Function Documentation

◆ __declspec()

struct Ocean::Media::DirectShow::DSSampleSinkFilter::__declspec ( uuid("{D3D7D4C4-B235-4853-9108-88C334A19B43}")  )
protected

Unique identifier of the Ocean sample sink filter.

0xd3d7d4c4, 0xb235, 0x4853, 0x91, 0x08, 0x88, 0xc3, 0x34, 0xa1, 0x9b, 0x43

◆ establishedMediaType()

bool Ocean::Media::DirectShow::DSSampleSinkFilter::establishedMediaType ( DSMediaType dsMediaType)

Gets the established media type.

Parameters
dsMediaTypeThe resulting established media type
Returns
True, if the input pin of the filter is connected

◆ GetPin()

CBasePin * Ocean::Media::DirectShow::DSSampleSinkFilter::GetPin ( int  n)
override

Returns a pin given by its index.

Parameters
nIndex of the pin
Returns
Pointer to a pin

◆ GetPinCount()

int Ocean::Media::DirectShow::DSSampleSinkFilter::GetPinCount ( )
override

Returns the count of pins of this filter.

Returns
Count of pins

◆ respectPlaybackTime()

bool Ocean::Media::DirectShow::DSSampleSinkFilter::respectPlaybackTime ( ) const

Returns whether the sink respects the media playback time or whether the samples are provided as fast as possible.

Returns
True, if the media playback time is respected

◆ setRespectPlaybackTime()

bool Ocean::Media::DirectShow::DSSampleSinkFilter::setRespectPlaybackTime ( const bool  state)

Specifies whether the media playback time will be respected or whether the samples are provided as fast as possible.

Parameters
stateTrue, to respect the playback time
Returns
True, if succeeded

◆ specifyMediaType()

bool Ocean::Media::DirectShow::DSSampleSinkFilter::specifyMediaType ( const AM_MEDIA_TYPE &  mediaType)

Adds a new media type of the input pin.

The input pin may support more than one media type.

Parameters
mediaTypeMedia type to set
Returns
True, if succeeded

Friends And Related Symbol Documentation

◆ DSInputPin

friend class DSInputPin
friend

Field Documentation

◆ inputPin_

ScopedDSInputPin Ocean::Media::DirectShow::DSSampleSinkFilter::inputPin_
protected

Input pin of the filter.

◆ interfaceLock_

CCritSec Ocean::Media::DirectShow::DSSampleSinkFilter::interfaceLock_
protected

Critical section for interfaces.


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