146 lines
8 KiB
C
146 lines
8 KiB
C
//**************************************************************************
|
|
//
|
|
// 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)))
|