AudRecordLib
IAudRecord.idl
Go to the documentation of this file.
00001 
00005 import "unknwn.idl";
00006 import "wtypes.idl";
00007 cpp_quote("struct IWMWriterSink;")
00008 
00009 interface IAudRecord;
00010 interface IWMWriterSink;
00011 
00013 typedef struct _AudRecordStats
00014 {
00016     ULONGLONG qwSampleCount;
00018     ULONGLONG qwByteCount;
00020     ULONGLONG qwDroppedSampleCount;
00022     ULONGLONG qwDroppedByteCount;
00024     DWORD dwCurrentBitrate;
00026     DWORD dwAverageBitrate;
00028     DWORD dwExpectedBitrate;
00030     DWORD dwCurrentSampleRate;
00032     DWORD dwAverageSampleRate;
00034     DWORD dwExpectedSampleRate;
00035 } AudRecordStats;
00036 
00038 typedef enum _AudPausedState
00039 {
00041         AudPaused = 0,
00043         AudRecording = 1
00044 } AudPausedState;
00045 
00051 [
00052         object,
00053         uuid("57C2DFCA-7A3A-4362-8C3A-A174F4045582"),
00054         local
00055 ]
00056 interface IAudRecord : IUnknown
00057 {
00069         HRESULT Record([in]struct _Endpoint* pDevice);
00070 
00081         HRESULT ChangeCodec([in]struct _CodecConfiguration* pNewCodec);
00082 
00093         HRESULT TogglePause([out, retval]AudPausedState* pState);
00094 
00101         HRESULT QueryPause([out, retval]AudPausedState* pState);
00102 
00109         HRESULT Stop();
00110 
00121         HRESULT AddFileTarget([in]LPCWSTR pwszFileName, [out]PVOID* ppCookie);
00122 
00135         HRESULT AddNetworkBroadcastTarget([in, out]DWORD* pPort, [in]DWORD maxConnectors, [out]LPWSTR* ppwszUrl, [out]PVOID* ppCookie);
00136 
00143         HRESULT AddCustomTarget([in]IWMWriterSink* pTarget, [out]PVOID* ppCookie);
00144 
00155         HRESULT RemoveTarget([in]PVOID pTargetCookie);
00156 
00162         HRESULT GetStatistics([out]AudRecordStats* pStats);
00163 }
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Defines