windows-nt/Source/XPSP1/NT/drivers/wdm/dvd/mini/tecra/cstream.cpp
2020-09-26 16:20:57 +08:00

1449 lines
32 KiB
C++
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
ストリーム管理クラスクラス
NP2) Sachiko Yasukawa
*/
// Date | Author | Description
// -----------+--------------+--------------------------------------------
// 1998.03.27 | Hideki Yagi | Change the specification about
// | | Get***Property().
// 1998.03.31 | Hideki Yagi | Change the specification about
// | | GetChlgKey() and GetDVDKey2().
//
#include "stdafx.h"
#include "includes.h"
#include "classlib.h"
#define ISENDSTREAMOBJECTINIT ((m_pMPEGBoardStateObject == NULL || m_pIHAL == NULL || m_pTransfer == NULL || m_pIStreamHAL == NULL ) ? TRUE : FALSE)
//コンストラクタ
CBaseStream::CBaseStream()
{
m_pNextStreamObject=NULL;
m_pPrevStreamObject=NULL;
m_pMPEGBoardStateObject=NULL;
m_pIHAL=NULL;
m_pIStreamHAL = NULL;
m_pTransfer = NULL;
}
//どういう時によばれるかを考えてコーディングしなおす
//初期化
inline BOOL CBaseStream::Init()
{
m_pNextStreamObject=NULL;
m_pPrevStreamObject=NULL;
m_pMPEGBoardStateObject=NULL;
m_pIHAL=NULL;
m_pIStreamHAL = NULL;
m_pTransfer = NULL;
return TRUE;
}
//再生
BOOL CBaseStream::Play()
{
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::GetMPEGBuffer:NOT INITILIZE CMPEGBoard COLLECTLY\n"));
DBG_BREAK();
return FALSE;
}
return GetIMPEGBoardState()->ChangePlay(m_pIHAL, m_pIStreamHAL);
}
//停止
BOOL CBaseStream::Stop()
{
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::Stop:NOT INITILIZE CMPEGBoard COLLECTLY\n"));
DBG_BREAK();
return FALSE;
}
return GetIMPEGBoardState()->ChangeStop(m_pIHAL, m_pIStreamHAL, this);
}
//一時停止
BOOL CBaseStream::Pause()
{
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::Pause:NOT INITILIZE CMPEGBoard COLLECTLY\n"));
DBG_BREAK();
return FALSE;
}
return GetIMPEGBoardState()->ChangePause(m_pIHAL, m_pIStreamHAL);
}
//コマ送り
//VxDのときしか使えないようにするのは
BOOL CBaseStream::SingleStep()
{
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
DBG_PRINTF(("CLASSLIB:CBaseStream::SingleStep:NOT INITILIZE CMPEGBoard COLLECTLY\n"));
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
//VxDのときしか使えない
if(!ISMIXSTREAMTYPE(m_StreamType)){
_RPTF0(_CRT_WARN, "NOTIMPLEMENTED \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::SingleStep:CALL ONLY FOR MIXSTREAM\n"));
DBG_BREAK();
return FALSE;
}
return GetIMPEGBoardState()->ChangePauseViaSingleStep(m_pIHAL, m_pIStreamHAL);
}
//スロー再生
//VxDのときしか使えないようにするには
BOOL CBaseStream::Slow(DWORD speed)
{
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::Slow:NOT INITILIZE CMPEGBoard COLLECTLY\n"));
DBG_BREAK();
return FALSE;
}
//VxDのときしか使えない
if(!ISMIXSTREAMTYPE(m_StreamType)){
_RPTF0(_CRT_WARN, "NOTIMPLEMENTED \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::Slow:CALL ONLY FOR MIXSTREAM\n"));
DBG_BREAK();
return FALSE;
}
return GetIMPEGBoardState()->ChangeSlow(speed, m_pIHAL, m_pIStreamHAL);
}
//スキャン
//VxDのときしか使えないようにするには
BOOL CBaseStream::Scan(DWORD speed)
{
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
DBG_PRINTF(("CLASSLIB:CBaseStream::Scan:NOT INITILIZE CMPEGBoard COLLECTLY\n"));
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
//VxDのときしか使えない
if(!ISMIXSTREAMTYPE(m_StreamType)){
_RPTF0(_CRT_WARN, "NOTIMPLEMENTED \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::Slow:CALL ONLY FOR MIXSTREAM\n"));
DBG_BREAK();
return FALSE;
}
return GetIMPEGBoardState()->ChangeScan(speed, m_pIHAL, m_pIStreamHAL);
}
//現在のストリームのステータスを返す
LIBSTATE CBaseStream::GetState()
{
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::GetState:NOT INITILIZE CMPEGBoard COLLECTLY\n"));
return PowerOff;
}
return ((CMPEGBoardState *)m_pMPEGBoardStateObject)->GetState();
}
//データ転送の要求
//リターン値を考える
BOOL CBaseStream::SendData(IMPEGBuffer *pBuffer)
{
ASSERT(pBuffer);
DBG_PRINTF(("CLASSLIB: CALLED CBaseStream::SendData\n"));
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
DBG_PRINTF(("CLASSLIB:CBaseStream::SendData:NOT INITILIZE CMPEGBoard COLLECTLY\n"));
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
// 受け取ったバッファのNextポインタを初期化
pBuffer->SetNext( NULL );
//トランスファーにキューに入れてもらえるよう要求
if(!((CTransfer *)m_pTransfer)->EnQueue( pBuffer )){
_RPTF0(_CRT_WARN, "CAN'T ENQUEUE \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::SendData:CAN'T ENQUEUE \n"));
DBG_BREAK();
return FALSE;
}
//トランスファーに転送要求
if(!((CTransfer *)m_pTransfer)->DeQueue()){
_RPTF0(_CRT_WARN, "CAN'T DEQUEUE \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::SendData:CAN'T DEQUEUE \n"));
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//ストリームのステートを管理するオブジェクトをセットする
BOOL CBaseStream::SetStateObject(IMPEGBoardState *pMPEGBoardStateObject)
{
ASSERT(pMPEGBoardStateObject);
//ステートコントロールオブジェクト
m_pMPEGBoardStateObject = pMPEGBoardStateObject;
return TRUE;
}
//転送を管理するオブジェクトの設定
BOOL CBaseStream::SetTransferObject(ITransfer *pTransfer)
{
ASSERT(pTransfer);
//トランスファーコントロールオブジェクトは2度設定できない
if(m_pTransfer){
_RPTF0(_CRT_WARN, "ALREADY SET TRANSFER OBJECT \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::SetTransferObject:ALREADY SET TRANSFER OBJECT \n"));
DBG_BREAK();
return FALSE;
}
//トランスファーコントロールオブジェクト設定
m_pTransfer = pTransfer;
//逆にトランスファーオブジェクトに対してストリームを設定
((CTransfer *)m_pTransfer)->AddStreamObject((IBaseStream *)/*(CBuffer *)*/this);
return TRUE;
}
//転送モードの設定
BOOL CBaseStream::SetTransferMode(HALSTREAMMODE StreamMode)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetTransferMode(StreamMode)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET TRANSFERMODE \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::SetTransferMode:CAN'T SET TRANSFERMODE\n"));
DBG_BREAK();
return FALSE;
}
return TRUE;
}
// Set transfer typr & direction 98.03.31 H.Yagi
BOOL CBaseStream::SetDataDirection(DirectionType type)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDataDirection(type)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DATADIRECTION \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::SetDataDirection:CAN'T SET DATADIRECTION\n"));
DBG_BREAK();
return FALSE;
}
return TRUE;
}
// Get transfer typr & direction 98.03.31 H.Yagi
BOOL CBaseStream::GetDataDirection(DirectionType *ptype)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDataDirection(ptype)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET DATADIRECTION \n");
DBG_PRINTF(("CLASSLIB:CBaseStream::GetDataDirection:CAN'T GET DATADIRECTION\n"));
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//コピープロテクト処理の初期化
BOOL CVideoStream::CppInit()
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->CPPInit()) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T Initialize CPP\n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//チャレンジキーの設定
BOOL CVideoStream::SetChlgKey(UCHAR *pDecoderChallenge)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDecoderChallenge(pDecoderChallenge)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DECORDERCHALLENGE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//チャレンジキーの取得
//UCHAR *CVideoStream::GetChlgKey()
BOOL CVideoStream::GetChlgKey( UCHAR *ptr ) // 98.03.31 H.Yagi
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->CPPInit()) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T Initialize CPP\n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDriveChallenge(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET DRIVERCHALLENGE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//DVDキーの設定
BOOL CVideoStream::SetDVDKey1(UCHAR *pDriveReponse)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDriveResponse(pDriveReponse)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DRIVERRESPONSE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//DVDキーの取得
//UCHAR *CVideoStream::GetDVDKey2()
BOOL CVideoStream::GetDVDKey2(UCHAR *ptr) // 98.03.31 H.Yagi
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDecoderResponse(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DECORDERRESPONSE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//タイトルキーの設定
BOOL CVideoStream::SetTitleKey(UCHAR *pTitleKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetTitleKey(pTitleKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET TITLEKEY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//ディスクキーの設定
BOOL CVideoStream::SetDiscKey(UCHAR *pDiscKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDiskKey(pDiscKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DISCKEY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//ビデオに関するプロパティを取得
BOOL CVideoStream::GetVideoProperty(VIDEOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
// PVOID pProperty;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->GetVideoProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//ビデオに関するプロパティの設定
BOOL CVideoStream::SetVideoProperty(VIDEOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->SetVideoProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//コピープロテクト処理の初期化
BOOL CAudioStream::CppInit()
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->CPPInit()) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T Initialize CPP\n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//チャレンジキーの設定
BOOL CAudioStream::SetChlgKey(UCHAR *pDecoderChallenge)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDecoderChallenge(pDecoderChallenge)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DECORDERCHALLENGE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//チャレンジキーの取得
//UCHAR *CAudioStream::GetChlgKey()
BOOL CAudioStream::GetChlgKey(UCHAR *ptr)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDriveChallenge(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET DRIVERCHALLENGE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//DVDキーの設定
BOOL CAudioStream::SetDVDKey1(UCHAR *pDriveResponse)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDriveResponse(pDriveResponse)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DRIVERRESPONSE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//DVDキーの取得
//UCHAR *CAudioStream::GetDVDKey2()
BOOL CAudioStream::GetDVDKey2(UCHAR *ptr)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDecoderResponse(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DECORDERRESPONSE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//タイトルキーの設定
BOOL CAudioStream::SetTitleKey(UCHAR *pTitleKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetTitleKey(pTitleKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET TITLEKEY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//ディスクキーの設定
BOOL CAudioStream::SetDiscKey(UCHAR *pDiscKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDiskKey(pDiscKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DISCKEY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//オーディオ関するプロパティを取得
BOOL CAudioStream::GetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
// PVOID pProperty;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->GetAudioProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//オーディオに関するプロパティの設定
BOOL CAudioStream::SetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->SetAudioProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//コピープロテクト処理の初期化
BOOL CSubpicStream::CppInit()
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->CPPInit()) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T Initialize CPP\n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//チャレンジキーの設定
BOOL CSubpicStream::SetChlgKey(UCHAR *pDecoderChallenge)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDecoderChallenge(pDecoderChallenge)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DECORDERCHALLENGE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//チャレンジキーの取得
//UCHAR *CSubpicStream::GetChlgKey()
BOOL CSubpicStream::GetChlgKey(UCHAR *ptr) // 98.03.31 H.Yagi
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDriveChallenge(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET DRIVERCHALLENGE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//DVDキーの設定
BOOL CSubpicStream::SetDVDKey1(UCHAR *pDriveResponse)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDriveResponse(pDriveResponse)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DRIVERRESPONSE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//DVDキーの取得
//UCHAR *CSubpicStream::GetDVDKey2()
BOOL CSubpicStream::GetDVDKey2(UCHAR *ptr) // 98.03.31 H.Yagi
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDecoderResponse(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DECORDERRESPONSE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//タイトルキーの設定
BOOL CSubpicStream::SetTitleKey(UCHAR *pTitleKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetTitleKey(pTitleKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET TITLEKEY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//ディスクキーの設定
BOOL CSubpicStream::SetDiscKey(UCHAR *pDiscKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDiskKey(pDiscKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DISCKEY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//サブピクチャ関するプロパティを取得
BOOL CSubpicStream::GetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
// PVOID pProperty;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->GetSubpicProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//サブピクチャに関するプロパティの設定
BOOL CSubpicStream::SetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->SetSubpicProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//コピープロテクト処理の初期化
BOOL CVideoCDStream::CppInit()
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->CPPInit()) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T Initialize CPP\n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//チャレンジキーの設定
BOOL CVideoCDStream::SetChlgKey(UCHAR *pDecoderChallenge)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDecoderChallenge(pDecoderChallenge)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DECORDERCHALLENGE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//チャレンジキーの取得
//UCHAR *CVideoCDStream::GetChlgKey()
BOOL CVideoCDStream::GetChlgKey(UCHAR *ptr) // 98.03.31 H.Yagi
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDriveChallenge(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET DRIVERCHALLENGE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//DVDキーの設定
BOOL CVideoCDStream::SetDVDKey1(UCHAR *pDriveResponse)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDriveResponse(pDriveResponse)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DRIVERRESPONSE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//DVDキーの取得
//UCHAR *CVideoCDStream::GetDVDKey2()
BOOL CVideoCDStream::GetDVDKey2(UCHAR *ptr)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDecoderResponse(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DECORDERRESPONSE \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//タイトルキーの設定
BOOL CVideoCDStream::SetTitleKey(UCHAR *pTitleKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetTitleKey(pTitleKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET TITLEKEY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//ディスクキーの設定
BOOL CVideoCDStream::SetDiscKey(UCHAR *pDiscKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDiskKey(pDiscKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DISCKEY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//ビデオに関するプロパティを取得
BOOL CVideoCDStream::GetVideoProperty(VIDEOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
// PVOID pProperty;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->GetVideoProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//ビデオに関するプロパティの設定
BOOL CVideoCDStream::SetVideoProperty(VIDEOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->SetVideoProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//オーディオ関するプロパティを取得
BOOL CVideoCDStream::GetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
// PVOID pProperty;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->GetAudioProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//オーディオに関するプロパティの設定
BOOL CVideoCDStream::SetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->SetAudioProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//コピープロテクト処理の初期化
BOOL CDVDStream::CppInit()
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->CPPInit()) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T Initialize CPP\n");
DBG_BREAK();
return FALSE;
}
return TRUE;
}
//チャレンジキーの設定
BOOL CDVDStream::SetChlgKey(UCHAR *pDecoderChallenge)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetChlgKey:NOT INITILIZE CMPEGBoard \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDecoderChallenge(pDecoderChallenge)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DECORDERCHALLENGE \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetChlgKey:CAN'T SET DECORDERCHALLENGE \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:CDVDStream::SetChlgKey:SUCCESS SetDecoderChallenge\n"));
return TRUE;
}
//チャレンジキーの取得
//UCHAR CDVDStream::GetChlgKey()
BOOL CDVDStream::GetChlgKey(UCHAR *ptr) // 98.03.31 H.Yagi
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetChlgKey:NOT INITILIZE CMPEGBoard \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDriveChallenge(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET DRIVERCHALLENGE \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetChlgKey:CAN'T GET DRIVERCHALLENGE \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:CDVDStream::GetChlgKey:SUCCESS GetDriveChallenge \n"));
return TRUE;
}
//DVDキーの設定
BOOL CDVDStream::SetDVDKey1(UCHAR *pDriveResponse)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetDVDKey1:NOT INITILIZE CMPEGBoard \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDriveResponse(pDriveResponse)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DRIVERRESPONSE \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetDVDKey1:CAN'T SET DRIVERRESPONSE \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:CDVDStream::GetChlgKey:SUCCESS SetDriveResponse \n"));
return TRUE;
}
//DVDキーの取得
//UCHAR *CDVDStream::GetDVDKey2()
BOOL CDVDStream::GetDVDKey2(UCHAR *ptr)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetDVDKey2:NOT INITILIZE CMPEGBoard \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->GetDecoderResponse(ptr)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET DECORDERRESPONSE \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetDVDKey2:CAN'T GET DECORDERRESPONSE \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:CDVDStream::GetChlgKey:SUCCESS GetDecoderResponse \n"));
return TRUE;
}
//タイトルキーの設定
BOOL CDVDStream::SetTitleKey(UCHAR *pTitleKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetTitleKey:NOT INITILIZE CMPEGBoard \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetTitleKey(pTitleKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET TITLEKEY \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetTitleKey:CAN'T SET TITLEKEY \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:CDVDStream::SetTitleKey:SUCCESS SetTitleKey\n"));
return TRUE;
}
//ディスクキーの設定
BOOL CDVDStream::SetDiscKey(UCHAR *pDiscKey)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetDiscKey:NOT INITILIZE CMPEGBoard \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIStreamHAL->SetDiskKey(pDiscKey)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T SET DISCKEY \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetDiskKey:CAN'T SET DISCKEY \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:CDVDStream::SetDiscKey:SUCCESS SetDiskKey\n"));
return TRUE;
}
//ビデオに関するプロパティを取得
BOOL CDVDStream::GetVideoProperty(VIDEOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
// PVOID pProperty;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetVideoProperty:NOT INITIALIZE CDVDSTREAM \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->GetVideoProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetVideoProperty:CAN'T GET VIDEOPROPERTY \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:SUCCESS GETVIDEOPROPERTY\n"));
return TRUE;
}
//ビデオに関するプロパティの設定
BOOL CDVDStream::SetVideoProperty(VIDEOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetVideoProperty:NOT INITIALIZE CDVDSTREAM \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->SetVideoProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetVideoProperty:CAN'T SET VIDEOPROPERTY \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:SUCCESS SETVIDEOPROPERTY\n"));
return TRUE;
}
//オーディオ関するプロパティを取得
BOOL CDVDStream::GetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
// PVOID pProperty;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetAudioProperty:NOT INITIALIZE CDVDSTREAM \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->GetAudioProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetAudioProperty:CAN'T GET AUDIOPROPERTY \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:SUCCESS GETAUDIOPROPERTY\n"));
return TRUE;
}
//オーディオに関するプロパティの設定
BOOL CDVDStream::SetAudioProperty(AUDIOPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetAudioProperty:NOT INITIALIZE CDVDSTREAM \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->SetAudioProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetAudioProperty:CAN'T SET AUDIOPROPERTY \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:SUCCESS SETAUDIOPROPERTY\n"));
return TRUE;
}
//サブピクチャ関するプロパティを取得
BOOL CDVDStream::GetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
// PVOID pProperty;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetSubpicProperty:NOT INITIALIZE CDVDSTREAM \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->GetSubpicProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetSubpicProperty:CAN'T GET SUBPICPROPERTY \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:SUCCESS GETSUBPICPROPERTY\n"));
return TRUE;
}
//サブピクチャに関するプロパティの設定
BOOL CDVDStream::SetSubpicProperty(SUBPICPROPTYPE PropertyType, PVOID pProperty)
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetSubpicProperty:NOT INITIALIZE CDVDSTREAM \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->SetSubpicProperty(PropertyType, pProperty)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetSubpicProperty:CAN'T SET SUBPICPROPERTY \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:SUCCESS SETSUBPICPROPERTY\n"));
return TRUE;
}
//Get Property capability 98.04.03 H.Yagi
BOOL CDVDStream::GetCapability( CAPSTYPE PropType, DWORD *pPropType )
{
HALRESULT st;
//初期設定が終わってない
if(ISENDSTREAMOBJECTINIT){
_RPTF0(_CRT_WARN, "NOT INITILIZE CMPEGBoard \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::GetCapability:NOT INITIALIZE CDVDSTREAM \n"));
DBG_BREAK();
return FALSE;
}
if((st = m_pIHAL->GetCapability( PropType, pPropType)) != HAL_SUCCESS){
_RPTF0(_CRT_WARN, "CAN'T GET PROPERTY \n");
DBG_PRINTF(("CLASSLIB:CDVDStream::SetSubpicProperty:CAN'T SET SUBPICPROPERTY \n"));
DBG_BREAK();
return FALSE;
}
DBG_PRINTF(("CLASSLIB:SUCCESS GetCapability\n"));
return TRUE;
}
void CBaseStream::FlushTransferBuffer()
{
((CTransfer *)m_pTransfer)->Flush();
}