Ocean
Ocean Media DirectShow Library

The Ocean Media DirectShow Library provides DirectShow media functionalities. More...

Collaboration diagram for Ocean Media DirectShow Library:

Data Structures

class  Ocean::Media::DirectShow::DSAudio
 This class implements a DirectShow audio object. More...
 
class  Ocean::Media::DirectShow::DSConfigMedium
 This class is the base class for all DirectShow mediums with advanced configuration possibilities. More...
 
class  Ocean::Media::DirectShow::DSDeviceEnumerator
 This class implements a DirectShow device enumerator. More...
 
class  Ocean::Media::DirectShow::DSEnumerators
 This class holds several different DirectShow device enumerators. More...
 
class  Ocean::Media::DirectShow::DSFileRecorder
 This class implements a DirectShow file recorder. More...
 
class  Ocean::Media::DirectShow::DSFiniteMedium
 This class is the base class for all direct show finite mediums. More...
 
class  Ocean::Media::DirectShow::DSFrameMedium
 This is the base class for all DirectShow frame mediums. More...
 
class  Ocean::Media::DirectShow::DSFrameRecorder
 This class implements a DirectShow frame recorder. More...
 
class  Ocean::Media::DirectShow::DSGraphObject
 This class is the base class for all object holding a DirectShow filter graph manager. More...
 
class  Ocean::Media::DirectShow::DSLibrary
 This class implements the DirectShow library. More...
 
class  Ocean::Media::DirectShow::DSLiveMedium
 This class is the base class for all DirectShow live mediums. More...
 
class  Ocean::Media::DirectShow::DSLiveVideo
 This class implements a DirectShow live video object. More...
 
class  Ocean::Media::DirectShow::DSMediaType
 This class wraps the DirectShow AM_MEDIA_TYPE struct;. More...
 
class  Ocean::Media::DirectShow::DSMedium
 This is the base class for all direct show mediums. More...
 
class  Ocean::Media::DirectShow::DSMovie
 This class implements a DirectShow movie object. More...
 
class  Ocean::Media::DirectShow::DSMovieRecorder
 This class implements a DirectShow movie recorder. More...
 
class  Ocean::Media::DirectShow::DSObject
 This class provides basic DirectShow functionalities. More...
 
class  Ocean::Media::DirectShow::DSRecorder
 This class is the base class for all DirectShow recorders. More...
 
class  Ocean::Media::DirectShow::DSSampleSinkFilter
 This class implements a sample sink filter for DirectShow. More...
 
class  Ocean::Media::DirectShow::DSSampleSourceFilter
 This class implements a DirectShow sample source filter pushing new samples into a DirectShow filter graph. More...
 
class  Ocean::Media::DirectShow::DSSoundMedium
 This class is the base class for all DirectShow sound mediums. More...
 

Typedefs

template<typename T >
using Ocean::Media::DirectShow::ScopeDirectShowObject = ScopedObjectCompileTimeVoidT< T *, release >
 Template specialization for ScopedObjectCompileTimeVoid using the release() function to release DirectShow objects. More...
 
typedef ScopeDirectShowObject< IAMStreamConfig > Ocean::Media::DirectShow::ScopedIAMStreamConfig
 Definition of a scoped object holding an IAMStreamConfig object. More...
 
typedef ScopeDirectShowObject< IAMVfwCompressDialogs > Ocean::Media::DirectShow::ScopedIAMVfwCompressDialogs
 Definition of a scoped object holding an IAMVfwCompressDialogs object. More...
 
typedef ScopeDirectShowObject< IBaseFilter > Ocean::Media::DirectShow::ScopedIBaseFilter
 Definition of a scoped object holding an IBaseFilter object. More...
 
typedef ScopeDirectShowObject< IBasicAudio > Ocean::Media::DirectShow::ScopedIBasicAudio
 Definition of a scoped object holding an IBasicAudio object. More...
 
typedef ScopeDirectShowObject< ICreateDevEnum > Ocean::Media::DirectShow::ScopedICreateDevEnum
 Definition of a scoped object holding an ICreateDevEnum object. More...
 
typedef ScopeDirectShowObject< IEnumFilters > Ocean::Media::DirectShow::ScopedIEnumFilters
 Definition of a scoped object holding an IEnumFilters object. More...
 
typedef ScopeDirectShowObject< IEnumMoniker > Ocean::Media::DirectShow::ScopedIEnumMoniker
 Definition of a scoped object holding an IEnumMoniker object. More...
 
typedef ScopeDirectShowObject< IEnumPins > Ocean::Media::DirectShow::ScopedIEnumPins
 Definition of a scoped object holding an IEnumPins object. More...
 
typedef ScopeDirectShowObject< IFileSinkFilter > Ocean::Media::DirectShow::ScopedIFileSinkFilter
 Definition of a scoped object holding an IFileSinkFilter object. More...
 
typedef ScopeDirectShowObject< IGraphBuilder > Ocean::Media::DirectShow::ScopedIGraphBuilder
 Definition of a scoped object holding an IGraphBuilder object. More...
 
typedef ScopeDirectShowObject< IMediaControl > Ocean::Media::DirectShow::ScopedIMediaControl
 Definition of a scoped object holding an IMediaControl object. More...
 
typedef ScopeDirectShowObject< IMediaEvent > Ocean::Media::DirectShow::ScopedIMediaEvent
 Definition of a scoped object holding an IMediaEvent object. More...
 
typedef ScopeDirectShowObject< IMediaFilter > Ocean::Media::DirectShow::ScopedIMediaFilter
 Definition of a scoped object holding an IMediaFilter object. More...
 
typedef ScopeDirectShowObject< IMediaSeeking > Ocean::Media::DirectShow::ScopedIMediaSeeking
 Definition of a scoped object holding an IMediaSeeking object. More...
 
typedef ScopeDirectShowObject< IMoniker > Ocean::Media::DirectShow::ScopedIMoniker
 Definition of a scoped object holding an IMoniker object. More...
 
typedef ScopeDirectShowObject< IPin > Ocean::Media::DirectShow::ScopedIPin
 Definition of a scoped object holding an IPin object. More...
 
typedef ScopeDirectShowObject< IPropertyBag > Ocean::Media::DirectShow::ScopedIPropertyBag
 Definition of a scoped object holding an IPropertyBag object. More...
 
typedef ScopeDirectShowObject< IRunningObjectTable > Ocean::Media::DirectShow::ScopedIRunningObjectTable
 Definition of a scoped object holding an IRunningObjectTable object. More...
 
typedef ScopeDirectShowObject< DSSampleSinkFilterOcean::Media::DirectShow::ScopedDSSampleSinkFilter
 Definition of a scoped object holding an DSSampleSinkFilter object. More...
 
typedef ScopeDirectShowObject< DSInputPinOcean::Media::DirectShow::DSSampleSinkFilter::ScopedDSInputPin
 Definition of a scoped object holding an DSInputPin object. More...
 
typedef ScopeDirectShowObject< DSSampleSourceFilterOcean::Media::DirectShow::ScopedDSSampleSourceFilter
 Definition of a scoped object holding an DSSampleSourceFilter object. More...
 
typedef ScopeDirectShowObject< DSOutputPinOcean::Media::DirectShow::DSSampleSourceFilter::ScopedDSOutputPin
 Definition of a scoped object holding an DSOutputPin object. More...
 

Functions

OCEAN_MEDIA_DS_EXPORT std::string Ocean::Media::DirectShow::nameDirectShowLibrary ()
 Returns the name of this media DirectShow library. More...
 
void Ocean::Media::DirectShow::registerDirectShowLibrary ()
 Registers this media library at the global library manager. More...
 
bool Ocean::Media::DirectShow::unregisterDirectShowLibrary ()
 Unregisters this media library at the global library manager. More...
 
template<class T >
void Ocean::Media::DirectShow::release (T *object)
 This functions allows to release a DirectShow object if it does exist. More...
 
bool OCEAN_MEDIA_DS_EXPORT pluginLoad ()
 Tries to load the plugin and initializes all internal 3rd party libraries. More...
 
bool OCEAN_MEDIA_DS_EXPORT pluginUnload ()
 Tries to unload the plugin and all internal resources of 3rd party libraries. More...
 

Detailed Description

The Ocean Media DirectShow Library provides DirectShow media functionalities.

The library is available on windows platforms only.

Typedef Documentation

◆ ScopedDSInputPin

Definition of a scoped object holding an DSInputPin object.

The wrapped DSInputPin object will be released automatically once the scoped object does not exist anymore.

◆ ScopedDSOutputPin

Definition of a scoped object holding an DSOutputPin object.

The wrapped DSOutputPin object will be released automatically once the scoped object does not exist anymore.

◆ ScopedDSSampleSinkFilter

Definition of a scoped object holding an DSSampleSinkFilter object.

The wrapped DSSampleSinkFilter object will be released automatically once the scoped object does not exist anymore.

◆ ScopedDSSampleSourceFilter

Definition of a scoped object holding an DSSampleSourceFilter object.

The wrapped DSSampleSourceFilter object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIAMStreamConfig

Definition of a scoped object holding an IAMStreamConfig object.

The wrapped IAMStreamConfig object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIAMVfwCompressDialogs

Definition of a scoped object holding an IAMVfwCompressDialogs object.

The wrapped IAMVfwCompressDialogs object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIBaseFilter

Definition of a scoped object holding an IBaseFilter object.

The wrapped IBaseFilter object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIBasicAudio

Definition of a scoped object holding an IBasicAudio object.

The wrapped IBasicAudio object will be released automatically once the scoped object does not exist anymore.

◆ ScopedICreateDevEnum

Definition of a scoped object holding an ICreateDevEnum object.

The wrapped ICreateDevEnum object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIEnumFilters

Definition of a scoped object holding an IEnumFilters object.

The wrapped IEnumFilters object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIEnumMoniker

Definition of a scoped object holding an IEnumMoniker object.

The wrapped IEnumMoniker object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIEnumPins

Definition of a scoped object holding an IEnumPins object.

The wrapped IEnumPins object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIFileSinkFilter

Definition of a scoped object holding an IFileSinkFilter object.

The wrapped IFileSinkFilter object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIGraphBuilder

Definition of a scoped object holding an IGraphBuilder object.

The wrapped IGraphBuilder object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIMediaControl

Definition of a scoped object holding an IMediaControl object.

The wrapped IMediaControl object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIMediaEvent

Definition of a scoped object holding an IMediaEvent object.

The wrapped IMediaEvent object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIMediaFilter

Definition of a scoped object holding an IMediaFilter object.

The wrapped IMediaFilter object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIMediaSeeking

Definition of a scoped object holding an IMediaSeeking object.

The wrapped IMediaSeeking object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIMoniker

Definition of a scoped object holding an IMoniker object.

The wrapped IMoniker object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIPin

Definition of a scoped object holding an IPin object.

The wrapped IPin object will be released automatically once the scoped object does not exist anymore.

◆ ScopedIPropertyBag

Definition of a scoped object holding an IPropertyBag object.

The wrapped IPropertyBag object will be released automatically once the scoped object does not exist anymore.

◆ ScopeDirectShowObject

Template specialization for ScopedObjectCompileTimeVoid using the release() function to release DirectShow objects.

Template Parameters
TThe data type of the wrapped object

◆ ScopedIRunningObjectTable

Definition of a scoped object holding an IRunningObjectTable object.

The wrapped IRunningObjectTable object will be released automatically once the scoped object does not exist anymore.

Function Documentation

◆ nameDirectShowLibrary()

OCEAN_MEDIA_DS_EXPORT std::string Ocean::Media::DirectShow::nameDirectShowLibrary ( )

Returns the name of this media DirectShow library.

◆ pluginLoad()

bool OCEAN_MEDIA_DS_EXPORT pluginLoad ( )

Tries to load the plugin and initializes all internal 3rd party libraries.

Make sure that the plugin will be loaded only once!

Returns
True, if succeeded
See also
pluginUnload().

◆ pluginUnload()

bool OCEAN_MEDIA_DS_EXPORT pluginUnload ( )

Tries to unload the plugin and all internal resources of 3rd party libraries.

Make sure that all resources of this plugin has been released before!

Returns
True, if succeeded
See also
pluginLoad().

◆ registerDirectShowLibrary()

void Ocean::Media::DirectShow::registerDirectShowLibrary ( )

Registers this media library at the global library manager.

This function calls DSLibrary::registerLibrary() only.

◆ release()

template<class T >
void Ocean::Media::DirectShow::release ( T *  object)

This functions allows to release a DirectShow object if it does exist.

Parameters
objectDirectShow object to be released

◆ unregisterDirectShowLibrary()

bool Ocean::Media::DirectShow::unregisterDirectShowLibrary ( )

Unregisters this media library at the global library manager.

This function calls DSLibrary::unregisterLibrary() only.

Returns
True, if succeeded