Project

General

Profile

Support Request #454 » exportSink.hpp

hidden, 2017-03-29 13:30

 
1

    
2
#pragma once
3

    
4
#define OID_ADTF_EXPORTER_SERVICE "adtf.export.extClock_46407"
5

    
6
class ExportSink
7
	: public adtf::ISampleSink
8
	, public ucom::cObject
9
	, public adtf::cConfiguration
10
	, public adtf::IDatExtensionsUser
11
{
12
	ADTF_SAMPLE_SINK_BEGIN( OID_ADTF_EXPORTER_SERVICE, "Ext Clock Export 46407 " )
13
		UCOM_EXPORT_INTERFACE( IID_ADTF_CONFIGURATION, adtf::IConfiguration )
14
		UCOM_EXPORT_INTERFACE( IID_DAT_EXTENSIONS_USER, adtf::IDatExtensionsUser )
15
	ADTF_SAMPLE_SINK_END( )
16

    
17
public:
18
	ExportSink( );
19
	virtual ~ExportSink( );
20

    
21
public:
22
	tResult Accept( adtf::IMediaType * );
23
	tResult RegisterExtensions( adtf::IDatExtensions * );
24
	tResult Open( adtf::IMediaType *
25
				  , const tChar *
26
				  , const tChar *
27
				  , const tChar * = "" );
28
	tResult Close( );
29

    
30
	tResult Process( adtf::IMediaSample *, tTimeStamp );
31
	tResult ProcessMarker( tVoid const *, tUInt, tTimeStamp );
32

    
33
private:
34
	typedef std::map<tTimeStamp, tTimeStamp> RelationMap;
35
	RelationMap mapTimeRelations;
36
};
(2-2/2)