Example #1
0
int decode_task() {
	OutputBuffer * cb = &(getPlayerData()->buffer);
	PlayerControl * pc = &(getPlayerData()->playerControl);
	DecoderControl * dc = &(getPlayerData()->decoderControl);
	
	unblockSignals();
	
	mpm_enter(MPM_DECODE);	
	
			fprintf(stderr,"0 In the decode_task:\r\n");
	/* CHILD TASK */
	while(1) {
		if(dc->cycleLogFiles) {
			myfprintfCloseAndOpenLogFile();
			dc->cycleLogFiles = 0;
		}
		else if(dc->start || dc->seek)
				{
					fprintf(stderr,"CAlling decodestart func :\r\n");
					 decodeStart(pc, cb, dc);
				}
		else if(dc->stop) {
			dc->state = DECODE_STATE_STOP;
			dc->stop = 0;
		}
		else{
			 my_usleep(10000);
	//		fprintf(stderr,"in the decode_task sleep:\r\n");
			}
	}
	return EXIT_SUCCESS;
	/* END OF CHILD TASK */
}
Example #2
0
// Decodes the received IR message
// Returns 0 if no data ready, 1 if data ready.
// Results of decoding are stored in results
int IRrecv::decode(decode_results *results) {
  if (decodeStart(results) == ERR)
    return ERR;

  debug_println("Attempting NEC decode");
  if (decodeNEC(results)) {
    return DECODED;
  }

  debug_println("Attempting Sony decode");
  if (decodeSony(results)) {
    return DECODED;
  }

  debug_println("Attempting Sanyo decode");
  if (decodeSanyo(results)) {
    return DECODED;
  }

  debug_println("Attempting Mitsubishi decode");
  if (decodeMitsubishi(results)) {
    return DECODED;
  }

  debug_println("Attempting RC5 decode");
  if (decodeRC5(results)) {
    return DECODED;
  }

  debug_println("Attempting RC6 decode");
  if (decodeRC6(results)) {
    return DECODED;
  }

  debug_println("Attempting Panasonic decode");
  if (decodePanasonic(results)) {
    return DECODED;
  }

  debug_println("Attempting JVC decode");
  if (decodeJVC(results)) {
    return DECODED;
  }

  // decodeHash returns a hash on any input.
  // Thus, it needs to be last in the list.
  // If you add any decodes, add them before this.
  if (decodeHash(results)) {
    return DECODED;
  }
  // Throw away and start over
  resume();
  return ERR;
}
bool VppInputDecodeCapi::config(NativeDisplay& nativeDisplay)
{
    decodeSetNativeDisplay(m_decoder, &nativeDisplay);

    VideoConfigBuffer configBuffer;
    memset(&configBuffer, 0, sizeof(configBuffer));
    configBuffer.profile = VAProfileNone;
    const string codecData = m_input->getCodecData();
    if (codecData.size()) {
        configBuffer.data = (uint8_t*)codecData.data();
        configBuffer.size = codecData.size();
    }
    configBuffer.width = m_input->getWidth();
    configBuffer.height = m_input->getHeight();
    Decode_Status status = decodeStart(m_decoder, &configBuffer);
    return status == DECODE_SUCCESS;
}