#pragma once #define OID_ADTF_EXPORTER_SERVICE "adtf.export.extClock_46407" class ExportSink : public adtf::ISampleSink , public ucom::cObject , public adtf::cConfiguration , public adtf::IDatExtensionsUser { ADTF_SAMPLE_SINK_BEGIN( OID_ADTF_EXPORTER_SERVICE, "Ext Clock Export 46407 " ) UCOM_EXPORT_INTERFACE( IID_ADTF_CONFIGURATION, adtf::IConfiguration ) UCOM_EXPORT_INTERFACE( IID_DAT_EXTENSIONS_USER, adtf::IDatExtensionsUser ) ADTF_SAMPLE_SINK_END( ) public: ExportSink( ); virtual ~ExportSink( ); public: tResult Accept( adtf::IMediaType * ); tResult RegisterExtensions( adtf::IDatExtensions * ); tResult Open( adtf::IMediaType * , const tChar * , const tChar * , const tChar * = "" ); tResult Close( ); tResult Process( adtf::IMediaSample *, tTimeStamp ); tResult ProcessMarker( tVoid const *, tUInt, tTimeStamp ); private: typedef std::map RelationMap; RelationMap mapTimeRelations; };