RecvCard.cpp
资源名称:PSParse.rar [点击查看]
上传用户:thjx518
上传日期:2022-03-16
资源大小:179k
文件大小:1k
源码类别:
mpeg/mp3
开发平台:
Visual C++
- // RecvCard.cpp: implementation of the CRecvCard class.
- //
- //////////////////////////////////////////////////////////////////////
- #include "stdafx.h"
- #include "PSParse.h"
- #include "RecvCard.h"
- #include"TSParse.h"
- #ifdef _DEBUG
- #undef THIS_FILE
- static char THIS_FILE[]=__FILE__;
- #define new DEBUG_NEW
- #endif
- //////////////////////////////////////////////////////////////////////
- // Construction/Destruction
- //////////////////////////////////////////////////////////////////////
- CRecvCard::CRecvCard()
- {
- file=NULL;
- }
- CRecvCard::~CRecvCard()
- {
- delete file;
- }
- bool CRecvCard::Open(const char *dev)
- {
- if(file)delete file;
- file=new CFile(dev,CFile::modeRead);
- return true;
- }
- bool CRecvCard::Sync()
- {
- return true;
- }
- bool CRecvCard::SyncPack()
- {
- char buf[18800];
- int size=Read(buf,18800);
- for(int i=0;i<size;i++){
- bool p47=true;
- if(buf[i]==0x47)
- for(int j=i+188;j<size;j+=188)
- if(buf[j]!=0x47)
- p47=false;
- if(p47){
- Read(buf,i%188);
- return true;
- }
- }
- return false;
- }
- int CRecvCard::Read(void *buf, DWORD size)
- {
- if(size<=0)return 0;
- int ret=file->Read(buf,size);
- if(ret<size)
- file->SeekToBegin();
- return ret;
- }