frage zu interface ..
Verfasst: 06.11.2004 11:29
progge da mit einer Sat-TV Karte und möche da über ne dll das Bild ausgeben ...
funzt bei mir nicht so wirklich ... hab da ne Bitte ob bitte jemand sagen kann ob ich da das interface richtig übersetzt habe ...
Aus der SDK:
in PB
bin für jeden Tipp Dankbar
Andi256
funzt bei mir nicht so wirklich ... hab da ne Bitte ob bitte jemand sagen kann ob ich da das interface richtig übersetzt habe ...
Aus der SDK:
Code: Alles auswählen
//**********************************************
// *
// DVBCore DirectShow Filter related stuffs *
// *
//**********************************************
const
CLSID_DVBCoreSrc: TGUID ='{FACE0501-DECC-11CF-A66B-00AA00BF96AA}';
IID_IDVBCoreSrc: TGUID ='{FACE0502-DECC-11CF-A66B-00AA00BF96AA}';
// DirectShow events.
FT_EVT_AVFORMAT_READY = $82000001; // Param = 0 for Audio, Param = 1 for Video;
FT_EVT_AVFORMAT_CHANGED = $82000002; // Param = 0 for Audio, Param = 1 for Video;
// TIMESHIFT FUNCTIONS
// TimeShift can work only in DirectShow Mode. Thus management only through COM Interface.
// All Positions/Sizes are in Units.
// 1 Unit ~ 7400 bytes
type
IDVBCoreSrc = interface(IUnknown)
['{FACE0502-DECC-11CF-A66B-00AA00BF96AA}']
function SetBufSize(FileName: PChar;
Size: integer;
ResultSize: PInteger
): HResult; stdcall;
//Bytes related functions.
//All positions in bytes, but real positions will be automatic rounded to unit size.
function SetBufSize64 (FileName: PChar;
Size: int64;
ResultSize: PInt64
): HResult; stdcall;
function GetPositions64(BufferSize, //Length of buffer in bytes
MaxPlayPos, //Maximal available position for playback in bytes
PlayPos, //Current playback position
MaxRecPos, //Maximal available position for recording in bytes
RecPos: PInt64 //Current recording position
): HResult; stdcall;
function SetPlayPos64 (PlayPos: int64): HResult; stdcall;
function SetRecPos64 (RecPos: int64): HResult; stdcall;
function GetTimes64 (HeadPos, //Head in PTS
MaxPlayPos, //Maximal available position for playback in PTS
PlayPos, //Current playback position in PTS
MaxRecPos, //Maximal available position for recording in PTS
RecPos: PInt64 //Current recording position in PTS
): HResult; stdcall;
//Blocks related functions.
function GetPositions(BufferSize, //Length of buffer [in units]
MaxPlayPos, //Maximal available position for playback [in units]
PlayPos, //Current playback position
MaxRecPos, //Maximal available position for recording [in units]
RecPos: PInteger //Current recording position
): HResult; stdcall;
function SetPlayPos(PlayPos: integer): HResult; stdcall;
function SetRecPos(RecPos: integer): HResult; stdcall;
function SetRecSpeed(Speed: integer): HResult; stdcall;
function FlushBuffer(): HResult; stdcall;
end;
Code: Alles auswählen
;//**********************************************
;// *
;// DVBCore DirectShow Filter related stuffs *
;// *
;//**********************************************
;CLSID_DVBCoreSrc: TGUID ={FACE0501-DECC-11CF-A66B-00AA00BF96AA}';
DataSection
CLSID_DVBCoreSrc:
Data.l $FACE0501
Data.w $DECC,$11CF
Data.b $A6,$6B,$00,$AA,$00,$BF,$96,$AA
EndDataSection
;IID_IDVBCoreSrc: TGUID ={FACE0502-DECC-11CF-A66B-00AA00BF96AA}';
DataSection
IID_IDVBCoreSrc:
Data.l $FACE0502
Data.w $DECC,$11CF
Data.b $A6,$6B,$00,$AA,$00,$BF,$96,$AA
EndDataSection
;// DirectShow events.
#FT_EVT_AVFORMAT_READY = $82000001; // Param = 0 for Audio, Param = 1 for Video;
#FT_EVT_AVFORMAT_CHANGED = $82000002; // Param = 0 for Audio, Param = 1 for Video;
;// TIMESHIFT FUNCTIONS
;// TimeShift can work only in DirectShow Mode. Thus management only through COM Interface.
;// All Positions/Sizes are in Units.
;// 1 Unit ~ 7400 bytes
Interface IDVBCoreSrc
SetBufSize(*FileName.l,Size.l,*ResultSize.l)
;//Bytes related functions.
;//All positions in bytes, but real positions will be automatic rounded To unit size.
SetBufSize64 (*FileName.l,Size.l,*ResultSize.l)
GetPositions64(BufferSize.l,MaxPlayPos.l,PlayPos.l,MaxRecPos.l,*RecPos.l)
SetPlayPos64 (PlayPos.l)
SetRecPos64 (RecPos.l)
GetTimes64 (HeadPos.l ,MaxPlayPos.l,PlayPos.l,MaxRecPos.l,*RecPos.l)
;//Blocks related functions.
GetPositions (BufferSize.l,MaxPlayPos.l,PlayPos.l,MaxRecPos.l,*RecPos.l)
SetPlayPos (PlayPos.l)
SetRecPos (RecPos.l)
SetRecSpeed (Speed.l)
FlushBuffer ()
EndInterface
Andi256