示例#1
0
void CDecodeUtil::ChangeTSIDClear(WORD noClearPid)
{
	ClearBuff(noClearPid);

	SAFE_DELETE(this->patInfo);
	SAFE_DELETE(this->catInfo);

	map<WORD, CPMTTable*>::iterator itrPmt;
	for( itrPmt = this->pmtMap.begin(); itrPmt != this->pmtMap.end(); itrPmt++ ){
		SAFE_DELETE(itrPmt->second);
	}
	this->pmtMap.clear();

	SAFE_DELETE(this->nitActualInfo);
	SAFE_DELETE(this->sdtActualInfo);
	map<DWORD, SDT_SECTION_INFO*>::iterator itrSdt;
	for( itrSdt = this->sdtOtherMap.begin(); itrSdt != this->sdtOtherMap.end(); itrSdt++ ){
		SAFE_DELETE(itrSdt->second);
	}
	this->sdtOtherMap.clear();

	SAFE_DELETE(this->totInfo);
	SAFE_DELETE(this->tdtInfo);
	SAFE_DELETE(this->bitInfo);
	SAFE_DELETE(this->sitInfo);

	if( this->epgDBUtil != NULL ){
		this->epgDBUtil->SetStreamChangeEvent();
		this->epgDBUtil->ClearSectionStatus();
	}

	this->delaySec = 0;
}
示例#2
0
void CDecodeUtil::ChangeTSIDClear(WORD noClearPid)
{
	ClearBuff(noClearPid);

	SAFE_DELETE(this->patInfo);

	SAFE_DELETE(this->nitActualInfo);
	SAFE_DELETE(this->sdtActualInfo);

	SAFE_DELETE(this->bitInfo);
	SAFE_DELETE(this->sitInfo);

	this->totTime.dwHighDateTime = 0;
	this->tdtTime.dwHighDateTime = 0;
	this->sitTime.dwHighDateTime = 0;

	if( this->epgDBUtil != NULL ){
		this->epgDBUtil->SetStreamChangeEvent();
		this->epgDBUtil->ClearSectionStatus();
	}
}
示例#3
0
static enum hrtimer_restart xpt2046_dostimer(struct hrtimer *handle)
{

    struct XPT2046_TS_EVENT *ts_dev = container_of(handle, struct XPT2046_TS_EVENT, timer);
    struct input_dev *xpt2046_ts_dev;
    int ts_io_pin_status;
    rk28printk("************>%s.....%s.....\n",__FILE__,__FUNCTION__);
    rk28printk("************>%s.....%s.....\n",__FILE__,__FUNCTION__);
    spin_lock_irq(&ts_dev->lock);
    ts_io_pin_status =  GPIOGetPinLevel(PT2046_PENIRQ);
    rk28printk("************>%s....PE7status=%d\n",__FUNCTION__,ts_io_pin_status);
    rk28printk("--------<%s>--- ts_dev->pendown = %d,  PE7status = %d \n", __FUNCTION__, ts_dev->pendown, ts_io_pin_status);
    if(unlikely(ts_dev->pendown && ts_io_pin_status))
    {
        xpt2046_ts_dev = ts_dev->input;
        rk28printk("The touchscreen up!!\n");
        //printk("-------------------------------------------The touchscreen up!!\n");
        input_report_key(xpt2046_ts_dev,BTN_TOUCH,0);
        input_sync(xpt2046_ts_dev);
        ts_dev->pendown = 0;
        gpio_irq_enable(PT2046_PENIRQ);
        ClearBuff();
        gLastZvalue[0] = 4095;
        gLastZvalue[1] = 4095;
    }
    else {
        /*still down ,continue with the measurement*/
        xpt2046_read_values(ts_dev);
        xpt2046_send_values(ts_dev);
    }
    spin_unlock_irq(&ts_dev->lock);
#ifdef CONFIG_ANDROID_POWER
    if(rk2818_get_suspend_flags() != PM_AWAKE) {
        rk28_send_wakeup_key();
        printk("touch screen wake up\n");
    }
#endif
    return HRTIMER_NORESTART;
}