亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? multiplexes.c

?? linux下的dvb收看解析軟件代碼; 帶參考程序
?? C
字號:
/* 
Copyright (C) 2006  Adam Charrett

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA

multiplexes.c

Manage multiplexes and tuning parameters.

*/
#include <stdlib.h>#include <string.h>#include "dbase.h"#include "multiplexes.h"#include "logging.h"
int OFDMParametersGet(int freq, struct dvb_frontend_parameters *feparams);int OFDMParametersAdd(struct dvb_frontend_parameters *feparams);int QPSKParametersGet(int freq, struct dvb_frontend_parameters *feparams);int QPSKParametersAdd(struct dvb_frontend_parameters *feparams);
int QAMParametersGet(int freq, struct dvb_frontend_parameters *feparams);int QAMParametersAdd(struct dvb_frontend_parameters *feparams);
int MultiplexCount(){	STATEMENT_INIT;	int result = -1;	STATEMENT_PREPARE("SELECT count() FROM " MULTIPLEXES_TABLE ";");	RETURN_ON_ERROR(-1);	STATEMENT_STEP();	if (rc == SQLITE_ROW)	{		result = STATEMENT_COLUMN_INT( 0);		rc = 0;	}	STATEMENT_FINALIZE();	return result;}Multiplex_t *MultiplexFind(int freq){	Multiplex_t *result = NULL;	STATEMENT_INIT;		STATEMENT_PREPAREVA("SELECT "	MULTIPLEX_FREQ ","
						MULTIPLEX_ID ","
						MULTIPLEX_TYPE ","
						MULTIPLEX_PATVERSION " "						"FROM " MULTIPLEXES_TABLE " WHERE " MULTIPLEX_FREQ "=%d;",freq);	RETURN_ON_ERROR(NULL);	result = MultiplexGetNext((MultiplexEnumerator_t)stmt);	STATEMENT_FINALIZE();	return result;}MultiplexEnumerator_t MultiplexEnumeratorGet(){	STATEMENT_INIT;	STATEMENT_PREPARE("SELECT "	MULTIPLEX_FREQ ","
					  MULTIPLEX_ID ","
					  MULTIPLEX_TYPE ","
					  MULTIPLEX_PATVERSION " "					  "FROM " MULTIPLEXES_TABLE ";");	RETURN_ON_ERROR(NULL);
	return stmt;}void MultiplexEnumeratorDestroy(MultiplexEnumerator_t enumerator){	int rc;	sqlite3_stmt *stmt = (sqlite3_stmt *)enumerator;	STATEMENT_FINALIZE();}Multiplex_t *MultiplexGetNext(MultiplexEnumerator_t enumerator){	int rc;	sqlite3_stmt *stmt = (sqlite3_stmt *)enumerator;	STATEMENT_STEP();	if (rc == SQLITE_ROW)	{		Multiplex_t *multiplex;		multiplex = calloc(1, sizeof(Multiplex_t));		multiplex->freq = STATEMENT_COLUMN_INT( 0);		multiplex->tsid = STATEMENT_COLUMN_INT( 1);		multiplex->type = STATEMENT_COLUMN_INT( 2);		multiplex->patversion = STATEMENT_COLUMN_INT( 4);				printlog(LOG_DEBUGV,"Multiplex: %d, 0x%04x %d %d\n", multiplex->freq ,		multiplex->tsid,		multiplex->type,		multiplex->patversion);				return multiplex;	}
    if (rc != SQLITE_DONE)
    {        PRINTLOG_SQLITE3ERROR();
    }	return NULL;}int MultiplexFrontendParametersGet(Multiplex_t *multiplex, struct dvb_frontend_parameters *feparams){	int result = -1;
	switch(multiplex->type)
	{
		case FE_QPSK:
		result = QPSKParametersGet(multiplex->freq, feparams);
		break;
		case FE_QAM:
		result = QAMParametersGet(multiplex->freq, feparams);
		break;
		case FE_OFDM:
		result = OFDMParametersGet(multiplex->freq, feparams);
		break;
		default:
		break;
	}	return result;}int MultiplexAdd(fe_type_t type, struct dvb_frontend_parameters *feparams){	STATEMENT_INIT;	switch(type)
	{
		case FE_QPSK:
		rc = QPSKParametersAdd(feparams);
		break;
		case FE_QAM:
		rc = QAMParametersAdd(feparams);
		break;
		case FE_OFDM:
		rc = OFDMParametersAdd(feparams);
		break;
		default:
		return -1;
	}	RETURN_RC_ON_ERROR;	STATEMENT_PREPAREVA("INSERT INTO " MULTIPLEXES_TABLE "("						MULTIPLEX_FREQ ","						MULTIPLEX_TYPE ","						MULTIPLEX_PATVERSION ")"						"VALUES (%d,%d,-1);", feparams->frequency, type);	RETURN_RC_ON_ERROR;		STATEMENT_STEP();		STATEMENT_FINALIZE();	return rc;}int MultiplexPATVersionSet(Multiplex_t *multiplex, int patversion){	STATEMENT_INIT;	STATEMENT_PREPAREVA("UPDATE "	MULTIPLEXES_TABLE " "						"SET " MULTIPLEX_PATVERSION "=%d "						"WHERE " MULTIPLEX_FREQ "=%d;", patversion, multiplex->freq);	multiplex->patversion = patversion;	RETURN_RC_ON_ERROR;		STATEMENT_STEP();	STATEMENT_FINALIZE();		return rc;}int MultiplexTSIdSet(Multiplex_t *multiplex, int tsid){	STATEMENT_INIT;	STATEMENT_PREPAREVA("UPDATE "	MULTIPLEXES_TABLE " "						"SET " MULTIPLEX_ID "=%d "						"WHERE " MULTIPLEX_FREQ "=%d;", tsid, multiplex->freq);	multiplex->tsid = tsid;	RETURN_RC_ON_ERROR;		STATEMENT_STEP();	STATEMENT_FINALIZE();		return rc;}int OFDMParametersGet(int freq, struct dvb_frontend_parameters *feparams){	STATEMENT_INIT;	STATEMENT_PREPAREVA("SELECT "	OFDMPARAM_FREQ ","
						OFDMPARAM_INVERSION ","
						OFDMPARAM_BW ","
						OFDMPARAM_FEC_HP ","
						OFDMPARAM_FEC_LP ","
						OFDMPARAM_QAM ","
						OFDMPARAM_TRANSMISSIONM ","
						OFDMPARAM_GUARDLIST ","
						OFDMPARAM_HIERARCHINFO " "						"FROM " OFDMPARAMS_TABLE " WHERE " OFDMPARAM_FREQ "=%d;"
						,freq);	RETURN_RC_ON_ERROR;		STATEMENT_STEP();	if (rc == SQLITE_ROW)	{		feparams->frequency                    = STATEMENT_COLUMN_INT( 0);		feparams->inversion                    = STATEMENT_COLUMN_INT( 1);		feparams->u.ofdm.bandwidth             = STATEMENT_COLUMN_INT( 2);		feparams->u.ofdm.code_rate_HP          = STATEMENT_COLUMN_INT( 3);
		feparams->u.ofdm.code_rate_LP          = STATEMENT_COLUMN_INT( 4);
		feparams->u.ofdm.constellation         = STATEMENT_COLUMN_INT( 5);
		feparams->u.ofdm.transmission_mode     = STATEMENT_COLUMN_INT( 6);
		feparams->u.ofdm.guard_interval        = STATEMENT_COLUMN_INT( 7);
		feparams->u.ofdm.hierarchy_information = STATEMENT_COLUMN_INT( 8);		rc = 0;	}	STATEMENT_FINALIZE();	return rc;}int OFDMParametersAdd(struct dvb_frontend_parameters *feparams){	STATEMENT_INIT;	STATEMENT_PREPAREVA("INSERT INTO " OFDMPARAMS_TABLE " "						"VALUES (" 						"%d," /* OFDMPARAM_FREQ */
						"%d," /* OFDMPARAM_INVERSION */
						"%d," /* OFDMPARAM_BW */
						"%d," /* OFDMPARAM_FEC_HP */
						"%d," /* OFDMPARAM_FEC_LP */
						"%d," /* OFDMPARAM_QAM */
						"%d," /* OFDMPARAM_TRANSMISSIONM */
						"%d," /* OFDMPARAM_GUARDLIST */
						"%d"  /* OFDMPARAM_HIERARCHINFO */						");",
						feparams->frequency,						feparams->inversion,						feparams->u.ofdm.bandwidth,						feparams->u.ofdm.code_rate_HP,						feparams->u.ofdm.code_rate_LP,						feparams->u.ofdm.constellation,						feparams->u.ofdm.transmission_mode,						feparams->u.ofdm.guard_interval,						feparams->u.ofdm.hierarchy_information);	RETURN_RC_ON_ERROR;		STATEMENT_STEP();		STATEMENT_FINALIZE();	return rc;}
int QPSKParametersGet(int freq, struct dvb_frontend_parameters *feparams){	STATEMENT_INIT;	STATEMENT_PREPAREVA("SELECT "	
                        QPSKPARAM_FREQ ","
						QPSKPARAM_INVERSION ","
						QPSKPARAM_SYMBOL_RATE ","
						QPSKPARAM_FEC_INNER " "						"FROM " QPSKPARAMS_TABLE " WHERE " QPSKPARAM_FREQ "=%d;"
						,freq);	RETURN_RC_ON_ERROR;		STATEMENT_STEP();	if (rc == SQLITE_ROW)	{		feparams->frequency           = STATEMENT_COLUMN_INT( 0);		feparams->inversion           = STATEMENT_COLUMN_INT( 1);		feparams->u.qpsk.symbol_rate  = STATEMENT_COLUMN_INT( 2);		feparams->u.qpsk.fec_inner    = STATEMENT_COLUMN_INT( 3);		rc = 0;	}	STATEMENT_FINALIZE();	return rc;}int QPSKParametersAdd(struct dvb_frontend_parameters *feparams){	STATEMENT_INIT;	STATEMENT_PREPAREVA("INSERT INTO " QPSKPARAMS_TABLE " "						"VALUES (" 						"%d," /* QPSKPARAM_FREQ */
						"%d," /* QPSKPARAM_INVERSION */
						"%d," /* QPSKPARAM_SYMBOL_RATE */
						"%d" /* QPSKPARAM_FEC_INNER */
						");",
						feparams->frequency,						feparams->inversion,						feparams->u.qpsk.symbol_rate,						feparams->u.qpsk.fec_inner);	RETURN_RC_ON_ERROR;		STATEMENT_STEP();		STATEMENT_FINALIZE();	return rc;}
int QAMParametersGet(int freq, struct dvb_frontend_parameters *feparams){	STATEMENT_INIT;	STATEMENT_PREPAREVA("SELECT "	
						QAMPARAM_FREQ ","
	                    QAMPARAM_INVERSION ","
	                    QAMPARAM_SYMBOL_RATE ","
	                    QAMPARAM_FEC_INNER ","
	                    QAMPARAM_MODULATION " "
						"FROM " QAMPARAMS_TABLE " WHERE " QAMPARAM_FREQ "=%d;"
						,freq);	RETURN_RC_ON_ERROR;		STATEMENT_STEP();	if (rc == SQLITE_ROW)	{		feparams->frequency           = STATEMENT_COLUMN_INT( 0);		feparams->inversion           = STATEMENT_COLUMN_INT( 1);		feparams->u.qam.symbol_rate   = STATEMENT_COLUMN_INT( 2);		feparams->u.qam.fec_inner     = STATEMENT_COLUMN_INT( 3);
		feparams->u.qam.modulation    = STATEMENT_COLUMN_INT( 4);
		rc = 0;	}	STATEMENT_FINALIZE();	return rc;}int QAMParametersAdd(struct dvb_frontend_parameters *feparams){	STATEMENT_INIT;	STATEMENT_PREPAREVA("INSERT INTO " QAMPARAMS_TABLE " "						"VALUES (" 						"%d," /* QAMPARAM_FREQ */
						"%d," /* QAMPARAM_INVERSION */
						"%d," /* QAMPARAM_SYMBOL_RATE */
						"%d," /* QAMPARAM_FEC_INNER */
						"%d" /* QAMPARAM_MODULATION */						");",
						feparams->frequency,						feparams->inversion,						feparams->u.qam.symbol_rate,						feparams->u.qam.fec_inner,						feparams->u.qam.modulation);	RETURN_RC_ON_ERROR;		STATEMENT_STEP();		STATEMENT_FINALIZE();	return rc;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品久久三区| 日日夜夜精品免费视频| 亚洲bt欧美bt精品777| 国产精品99久久久久久似苏梦涵 | 欧洲国内综合视频| 精品国产一区二区三区久久久蜜月 | 在线91免费看| 亚洲桃色在线一区| 国内偷窥港台综合视频在线播放| 欧美性猛片xxxx免费看久爱| 国产日韩av一区| 久久精品国产一区二区| 欧美性猛交xxxxxx富婆| 一区在线观看视频| 国产成人在线视频网站| 日韩欧美国产综合一区| 图片区小说区区亚洲影院| 一本色道a无线码一区v| 欧美国产一区在线| 国产成人啪免费观看软件| 亚洲精品一区二区三区福利| 美女视频一区二区三区| 911精品产国品一二三产区| 亚洲主播在线观看| 日本福利一区二区| 亚洲男人电影天堂| 色狠狠桃花综合| 亚洲精品欧美在线| 在线观看三级视频欧美| 成人欧美一区二区三区| bt欧美亚洲午夜电影天堂| 国产色产综合色产在线视频 | 亚洲综合自拍偷拍| 97久久超碰国产精品| 1000部国产精品成人观看| 成人av片在线观看| 中文字幕一区二区三| 色先锋资源久久综合| 亚洲欧美日韩人成在线播放| 在线中文字幕一区二区| 亚洲成人午夜影院| 日韩亚洲电影在线| 麻豆国产一区二区| 国产日韩v精品一区二区| aa级大片欧美| 午夜视频在线观看一区二区三区| 欧美疯狂性受xxxxx喷水图片| 免费看黄色91| 国产视频视频一区| 色综合一个色综合亚洲| 亚洲美女免费在线| 制服丝袜国产精品| 国产成人99久久亚洲综合精品| 国产精品污www在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 亚洲另类在线制服丝袜| 欧美色成人综合| 久久精品免费观看| 亚洲素人一区二区| 日韩一二三区视频| 波多野结衣一区二区三区| 亚洲美女淫视频| 26uuuu精品一区二区| 91网站最新网址| 久久国产免费看| 亚洲欧美偷拍三级| 日韩精品一区二区在线| 99久久精品国产导航| 人禽交欧美网站| 国产精品成人网| 欧美一卡二卡三卡四卡| 波多野结衣欧美| 久久国产精品无码网站| 亚洲日本欧美天堂| 精品国产伦一区二区三区观看体验| 91免费观看国产| 国产一区福利在线| 视频在线观看一区| 亚洲色图.com| 国产欧美一区二区三区在线老狼| 欧美乱熟臀69xxxxxx| 91色在线porny| 国产一区二区中文字幕| 天天综合日日夜夜精品| 亚洲猫色日本管| 国产精品色眯眯| 久久色视频免费观看| 久久久久久久久久美女| 欧美色倩网站大全免费| 成人深夜在线观看| 久久精品国产色蜜蜜麻豆| 亚洲主播在线播放| 亚洲色图一区二区三区| 国产亚洲人成网站| 欧美一级一区二区| 欧美喷潮久久久xxxxx| 91捆绑美女网站| 99久久99久久精品免费看蜜桃| 国产精品一区二区x88av| 欧美aaaaaa午夜精品| 亚洲mv大片欧洲mv大片精品| 亚洲色图20p| 亚洲欧美精品午睡沙发| 国产精品国产三级国产| 国产欧美日韩另类一区| 久久色中文字幕| 国产日韩欧美一区二区三区综合| 久久久夜色精品亚洲| 久久久久久久久久久久久久久99 | 91在线观看视频| 成人三级伦理片| 成人av网站免费观看| 不卡的av在线| 91在线免费播放| 日本韩国视频一区二区| 色综合天天做天天爱| 欧美自拍偷拍一区| 欧美体内she精视频| 欧美日韩亚洲综合在线| 欧美三级资源在线| 欧美精品在线一区二区三区| 在线不卡中文字幕| 在线不卡一区二区| 欧美zozo另类异族| 国产欧美日韩另类视频免费观看| 国产精品国产自产拍在线| 1区2区3区精品视频| 亚洲靠逼com| 免费成人在线播放| 国产成人av自拍| av电影在线观看一区| 在线看不卡av| 精品sm在线观看| 国产精品毛片高清在线完整版| 国产精品初高中害羞小美女文| 亚洲观看高清完整版在线观看| 青青草原综合久久大伊人精品| 国产一区二区三区免费在线观看| 国产成人av电影在线| 91视频在线观看免费| 欧美一激情一区二区三区| 久久久午夜精品理论片中文字幕| 国产精品成人午夜| 日本不卡一二三区黄网| 成人免费毛片高清视频| 欧美午夜寂寞影院| 久久综合九色综合欧美98| 中文字幕亚洲欧美在线不卡| 五月天国产精品| 国产不卡视频一区| 欧美卡1卡2卡| 国产精品久久久久精k8| 日本91福利区| 91国产丝袜在线播放| 久久美女高清视频| 亚洲一区在线观看网站| 国产精品88av| 欧美精品久久久久久久久老牛影院| 国产午夜精品久久| 五月激情六月综合| 91在线视频18| 国产无人区一区二区三区| 五月开心婷婷久久| 97aⅴ精品视频一二三区| 精品成人在线观看| 亚洲福利视频三区| 99视频一区二区三区| 精品久久久久久久久久久久久久久| 一区二区不卡在线播放| 国产不卡视频在线播放| 欧美一级片免费看| 亚洲一区二区三区自拍| 成人免费毛片a| 337p粉嫩大胆色噜噜噜噜亚洲| 五月婷婷综合网| 欧美影院精品一区| 亚洲免费观看视频| 成人性色生活片| 久久久99免费| 激情小说欧美图片| 欧美成人乱码一区二区三区| 婷婷国产在线综合| 欧美日韩国产大片| 亚洲一线二线三线视频| 91麻豆成人久久精品二区三区| 欧美高清在线精品一区| 国产一区二区三区四区在线观看| 日韩欧美一区二区免费| 亚洲电影第三页| 在线看国产日韩| 亚洲国产精品一区二区www在线| 色欲综合视频天天天| 中文字幕一区二区三区不卡在线 | 亚洲国产精品99久久久久久久久| 久久成人免费电影| 日韩欧美亚洲另类制服综合在线| 日韩国产成人精品| 91精品国产欧美一区二区18 | 久久中文娱乐网| 国产一区二区三区在线观看精品 |