int AudioInputALSA::PcmRead(void* buf, uint nbytes) { unsigned char* bufptr = (unsigned char*)buf; snd_pcm_uframes_t to_read = snd_pcm_bytes_to_frames(pcm_handle, nbytes); snd_pcm_uframes_t nframes = to_read; snd_pcm_sframes_t nread, avail; int retries = 0; while (nframes > 0 && retries < 3) { if (AlsaBad((avail = snd_pcm_avail_update(pcm_handle)), "available update failed")) { if (!Recovery(avail)) { ++retries; continue; } } if ((nread = snd_pcm_readi(pcm_handle, bufptr, nframes)) < 0) { switch (nread) { case -EAGAIN: break; case -EBADFD: LOG(VB_GENERAL, LOG_ERR, LOC_DEV + QString("in a state unfit to read (%1): %2") .arg(nread).arg(snd_strerror(nread))); break; case -EINTR: case -EPIPE: case -ESTRPIPE: Recovery(nread); break; default: LOG(VB_GENERAL, LOG_ERR, LOC_DEV + QString("weird return from snd_pcm_readi: %1") .arg(snd_strerror(nread))); break; } } else { nframes -= nread; bufptr += snd_pcm_frames_to_bytes(pcm_handle, nread); } ++retries; } if (nframes > 0) LOG(VB_AUDIO, LOG_ERR, LOC_DEV + QString("short pcm read, %1 of %2 frames, retries %3") .arg(to_read - nframes).arg(to_read).arg(retries)); return snd_pcm_frames_to_bytes(pcm_handle, to_read - nframes); }
j_result_t CXlClient::OnMessage(j_string_t strHostId, const CXlClientRespData &respData) { switch (respData.respHeader.cmd) { case CXlProtocol::xlc_real_alarm: { AlarmEnableMap::iterator it = m_alarmEnableMap.find(strHostId); if (it != m_alarmEnableMap.end() && it->second == false) { return J_OK; } break; } case CXlProtocol::xlc_dev_connected: Recovery(); break; } CXlHelper::MakeResponse(respData.respHeader.cmd, respData.respHeader.flag, respData.respHeader.seq, (j_char_t *)respData.pData, sizeof(CXlClientRespData::RespErrorCode), m_dataBuff); J_StreamHeader streamHeader = { 0 }; streamHeader.dataLen = sizeof(CXlProtocol::CmdHeader) + sizeof(CXlClientRespData::RespLogin) + sizeof(CXlProtocol::CmdTail); m_ringBuffer.PushBuffer(m_dataBuff, streamHeader); return J_OK; }
int main(int argc, char* argv[]) { if (argc < 3 || strcmp(argv[1], "--help") == 0) { help(argv); return 0; } if (strcmp(argv[1], "Encrypt") == 0) Hide(argv[3], argv[2]); else if (strcmp(argv[1], "Decrypt") == 0) Recovery(argv[2], argv[3]); else printf("Invalid parameter\n"); printf("Done\n"); return 0; }
int main() { int A, B, C, D; int _ret_val_0; bool completed[2]; A=10; B=15; completed[1]=false; completed[0]=false; while (completed[1]==false) { bool check[1]; while (completed[0]==false) { bool check[2]; do { C=Compute(A, B); check[0]=Checker(A); if (check[0]==false) { if (Load(A)==false) { throw unrecoverable; } } check[1]=Checker(B); if (check[1]==false) { if (Load(B)==false) { throw unrecoverable; } } }while((check[0]==false)||(check[1]==false)); if ((check[0]==true)&&(check[1]==true)) { completed[0]=true; } } D=7; do { Store(C); check[0]=Checker(C); if (check[0]==false) { if (Recovery(C)==false) { throw unrecoverable; } } }while(check[0]==false); if (check[0]==true) { completed[1]=true; } } _ret_val_0=0; return _ret_val_0; }