Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//**************************************************************************
//
// Title : DVDWdm.h
//
// Date : 1997.11.28 1st making
//
// Author : Toshiba [PCS](PSY) Hideki Yagi
//
// Copyright 1997 Toshiba Corporation. All Rights Reserved.
//
// -------------------------------------------------------------------------
//
// Change log :
//
// Date Revision Description
// ------------ ---------- -----------------------------------------------
// 1997.11.28 000.0000 1st making.
//
//**************************************************************************
extern "C" VOID STREAMAPI AdapterReceivePacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI AdapterCancelPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI AdapterTimeoutPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
extern "C" BOOLEAN STREAMAPI HwInterrupt( IN PHW_DEVICE_EXTENSION pHwDevExt );
extern "C" VOID STREAMAPI VideoReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI VideoReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI AudioReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI AudioReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI SubpicReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI SubpicReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI NtscReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI NtscReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI VpeReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI VpeReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI CcReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI CcReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI SSReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); extern "C" VOID STREAMAPI SSReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
NTSTATUS STREAMAPI AudioEvent( IN PHW_EVENT_DESCRIPTOR pEvent ); VOID STREAMAPI StreamClockRtn( IN PHW_TIME_CONTEXT TimeContext );
/// Low Priority Routine.
VOID LowAdapterReceivePacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowAdapterCancelPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowAdapterTimeoutPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowVideoReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowVideoReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowAudioReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowAudioReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowSubpicReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowSubpicReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowNtscReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowNtscReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowVpeReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowVpeReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowCcReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowCcReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowSSReceiveDataPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID LowSSReceiveCtrlPacket( IN PHW_STREAM_REQUEST_BLOCK pSrb );
/// StreamAPI event
NTSTATUS STREAMAPI AudioEvent( PHW_EVENT_DESCRIPTOR pEvent ); NTSTATUS STREAMAPI CycEvent( PHW_EVENT_DESCRIPTOR pEvent );
/// private functions
void ErrorStreamNotification( PHW_STREAM_REQUEST_BLOCK pSrb, NTSTATUS ); BOOL GetStreamInfo( IN PHW_STREAM_REQUEST_BLOCK pSrb ); BOOL OpenStream( IN PHW_STREAM_REQUEST_BLOCK pSrb ); BOOL CloseStream( IN PHW_STREAM_REQUEST_BLOCK pSrb ); NTSTATUS DataIntersection( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID VideoQueryAccept( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID AudioQueryAccept( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetVpeProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetVpeProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetVpeProperty2( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetVpeProperty2( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetVideoProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetVideoProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetAudioProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetAudioProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetSubpicProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetSubpicProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetNtscProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetNtscProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetVpeProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetVpeProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetCCProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetCCProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); //VOID ProcessVideoFormat( PKSDATAFORMAT pfmt, PHW_DEVICE_EXTENSION pHwDevExt );
VOID ProcessVideoFormat( PHW_STREAM_REQUEST_BLOCK pSrb, PKSDATAFORMAT pfmt, PHW_DEVICE_EXTENSION pHwDevExt ); VOID ProcessAudioFormat( PKSDATAFORMAT pfmt, PHW_DEVICE_EXTENSION pHwDevExt ); VOID GetCppProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb, LONG strm ); VOID SetCppProperty( IN PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetAudioID( IN PHW_DEVICE_EXTENSION pHwDevExt, PKSSTREAM_HEADER pStruc ); VOID SetSubpicID( IN PHW_DEVICE_EXTENSION pHwDevExt, PKSSTREAM_HEADER pStruc ); DWORD GetStreamID( void *pBuff ); VOID GetVideoRateChange( PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetVideoRateChange( PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetAudioRateChange( PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetAudioRateChange( PHW_STREAM_REQUEST_BLOCK pSrb ); VOID GetSubpicRateChange( PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetSubpicRateChange( PHW_STREAM_REQUEST_BLOCK pSrb ); VOID SetRateChange( PHW_DEVICE_EXTENSION pHwDevExt, LONG PrevRate ); VOID SetVideoRateDefault( PHW_DEVICE_EXTENSION pHwDevExt ); VOID SetAudioRateDefault( PHW_DEVICE_EXTENSION pHwDevExt ); VOID SetSubpicRateDefault( PHW_DEVICE_EXTENSION pHwDevExt ); ULONGLONG ConvertPTStoStrm( ULONG pts ); ULONG ConvertStrmtoPTS( ULONGLONG strm ); VOID USCC_Discontinuity( PHW_DEVICE_EXTENSION pHwDevExt );
BOOL ToshibaNotePC( PHW_STREAM_REQUEST_BLOCK pSrb ); void OpenTVControl( PHW_STREAM_REQUEST_BLOCK pSrb, OsdDataStruc dOsd ); void CloseTVControl( PHW_STREAM_REQUEST_BLOCK pSrb ); BOOL VGADVDTVControl( PHW_STREAM_REQUEST_BLOCK pSrb, DWORD stat, OsdDataStruc dOsd ); BOOL MacroVisionTVControl( PHW_STREAM_REQUEST_BLOCK pSrb, DWORD stat, OsdDataStruc dOsd );
void CallAtDeviceNextDeviceNotify( PHW_STREAM_REQUEST_BLOCK pSrb, NTSTATUS stat ); void CallAtDeviceCompleteNotify( PHW_STREAM_REQUEST_BLOCK pSrb, NTSTATUS stat ); void CallAtStreamNextDataNotify( PHW_STREAM_REQUEST_BLOCK pSrb, NTSTATUS stat ); void CallAtStreamNextCtrlNotify( PHW_STREAM_REQUEST_BLOCK pSrb, NTSTATUS stat ); void CallAtStreamCompleteNotify( PHW_STREAM_REQUEST_BLOCK pSrb, NTSTATUS stat ); //void CallAtStreamSignalMultipleNotify( PHW_DEVICE_EXTENSION pHwDevExt );
void CallAtStreamSignalMultipleNotify( PHW_STREAM_REQUEST_BLOCK pSrb ); void DeviceNextDeviceNotify( PHW_STREAM_REQUEST_BLOCK pSrb ); void DeviceCompleteNotify( PHW_STREAM_REQUEST_BLOCK pSrb ); void StreamNextDataNotify( PHW_STREAM_REQUEST_BLOCK pSrb ); void StreamNextCtrlNotify( PHW_STREAM_REQUEST_BLOCK pSrb ); void StreamCompleteNotify( PHW_STREAM_REQUEST_BLOCK pSrb ); void StreamSignalMultipleNotify( PHW_DEVICE_EXTENSION pHwDevExt );
void LowTimerCppReset( PHW_STREAM_REQUEST_BLOCK pSrb );
void DumpPTSValue( PHW_STREAM_REQUEST_BLOCK pSrb );
#ifndef REARRANGEMENT
void FlushQueue( PHW_DEVICE_EXTENSION pHwDevExt); #endif REARRANGEMENT
// define
#define IsEqualGUID2(guid1, guid2) (!memcmp((guid1), (guid2), sizeof(GUID)))
|