Example #1
0
////////////////////////////////////////////////////
// stream reset
void EQPacketStream::reset()
{
  resetCache();
  m_fragment.reset();
  m_arqSeqExp = 0;
  m_arqSeqFound = false;
  stopDecode();
}
Example #2
0
void quitDecode(PlayerControl * pc, DecoderControl * dc) {
	stopDecode(dc);
        pc->metadataState = PLAYER_METADATA_STATE_READ;
	pc->state = PLAYER_STATE_STOP;
        dc->seek = 0;
	pc->play = 0;
	pc->stop = 0;
	pc->pause = 0;
	kill(getppid(),SIGUSR1);
}
Example #3
0
int decodeSeek(PlayerControl * pc, DecoderControl * dc, OutputBuffer * cb,
                int * decodeWaitedOn, int * next) 
{
        int ret = -1;

	if(mpm_get_id(MPM_DECODE)>0) {
		if(dc->state==DECODE_STATE_STOP || dc->error || 
				strcmp(dc->utf8url, pc->utf8url)!=0) 
		{
			stopDecode(dc);
			*next = -1;
			cb->begin = 0;
			cb->end = 0;
			dc->error = 0;
			dc->start = 1;
			waitOnDecode(pc,dc,cb,decodeWaitedOn);
		}
		if(mpm_get_id(MPM_DECODE)>0 && dc->state!=DECODE_STATE_STOP && 
                                dc->seekable) 
                {
			*next = -1;
			dc->seekWhere = pc->seekWhere;
                        dc->seekError = 0;
			dc->seek = 1;
                        while(mpm_get_id(MPM_DECODE)>0 && dc->seek)
						{
						//	fprintf(stderr,"In decodeSeek Function sleep: \r\n");
			//				 my_usleep(10000);
						}
                        if(!dc->seekError) {
                                pc->elapsedTime = dc->seekWhere;
                                ret = 0;
                        }
		}
	}
	pc->seek = 0;

        return ret;
}