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

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

?? dvb-dibusb-dvb.c

?? h內核
?? C
字號:
/* * dvb-dibusb-dvb.c is part of the driver for mobile USB Budget DVB-T devices  * based on reference design made by DiBcom (http://www.dibcom.fr/) * * Copyright (C) 2004-5 Patrick Boettcher (patrick.boettcher@desy.de) * * see dvb-dibusb-core.c for more copyright details. * * This file contains functions for initializing and handling the  * linux-dvb API. */#include "dvb-dibusb.h"#include <linux/usb.h>#include <linux/version.h>static u32 urb_compl_count;/* * MPEG2 TS DVB stuff  */void dibusb_urb_complete(struct urb *urb, struct pt_regs *ptregs){	struct usb_dibusb *dib = urb->context;	int ret;	deb_ts("urb complete feedcount: %d, status: %d, length: %d\n",dib->feedcount,urb->status,			urb->actual_length);	urb_compl_count++;	if (urb_compl_count % 500 == 0)		deb_info("%d urbs completed so far.\n",urb_compl_count);	switch (urb->status) {		case 0:         /* success */		case -ETIMEDOUT:    /* NAK */			break;		case -ECONNRESET:   /* unlink */		case -ENOENT:		case -ESHUTDOWN:			return;		default:        /* error */			warn("urb completition error %d.", urb->status);	}	if (dib->feedcount > 0) {		deb_ts("URB return len: %d\n",urb->actual_length);		if (urb->actual_length % 188) 			deb_ts("TS Packets: %d, %d\n", urb->actual_length/188,urb->actual_length % 188);		/* Francois recommends to drop not full-filled packets, even if they may 		 * contain valid TS packets, at least for USB1.1		 *		 * if (urb->actual_length == dib->dibdev->parm->default_size && dib->dvb_is_ready) */		if (dib->init_state & DIBUSB_STATE_DVB)			dvb_dmx_swfilter(&dib->demux, (u8*) urb->transfer_buffer,urb->actual_length);		else			deb_ts("URB dropped because of the " 					"actual_length or !dvb_is_ready (%d).\n",dib->init_state & DIBUSB_STATE_DVB);	} else 		deb_ts("URB dropped because of feedcount.\n");	ret = usb_submit_urb(urb,GFP_ATOMIC);	deb_ts("urb resubmitted, (%d)\n",ret);}static int dibusb_ctrl_feed(struct dvb_demux_feed *dvbdmxfeed, int onoff) {	struct usb_dibusb *dib = dvbdmxfeed->demux->priv;	int newfeedcount;		if (dib == NULL)		return -ENODEV;	newfeedcount = dib->feedcount + (onoff ? 1 : -1);	/* 	 * stop feed before setting a new pid if there will be no pid anymore 	 *///	if ((dib->dibdev->parm->firmware_bug && dib->feedcount) || 	if (newfeedcount == 0) {		deb_ts("stop feeding\n");		if (dib->xfer_ops.fifo_ctrl != NULL) {			if (dib->xfer_ops.fifo_ctrl(dib->fe,0)) {				err("error while inhibiting fifo.");				return -ENODEV;			}		}	}		dib->feedcount = newfeedcount;	/* get a free pid from the list and activate it on the device	 * specific pid_filter	 */	if (dib->pid_parse)		dibusb_ctrl_pid(dib,dvbdmxfeed,onoff);	/* 	 * start the feed, either if there is the firmware bug or 	 * if this was the first pid to set and there is still a pid for 	 * reception.	 */	//	if ((dib->dibdev->parm->firmware_bug)	if (dib->feedcount == onoff && dib->feedcount > 0) {		deb_ts("controlling pid parser\n");		if (dib->xfer_ops.pid_parse != NULL) {			if (dib->xfer_ops.pid_parse(dib->fe,dib->pid_parse) < 0) {				err("could not handle pid_parser");			}		}				deb_ts("start feeding\n");		if (dib->xfer_ops.fifo_ctrl != NULL) {			if (dib->xfer_ops.fifo_ctrl(dib->fe,1)) {				err("error while enabling fifo.");				return -ENODEV;			}		}		dibusb_streaming(dib,1);	}	return 0;}static int dibusb_start_feed(struct dvb_demux_feed *dvbdmxfeed){	deb_ts("start pid: 0x%04x, feedtype: %d\n", dvbdmxfeed->pid,dvbdmxfeed->type);	return dibusb_ctrl_feed(dvbdmxfeed,1);}static int dibusb_stop_feed(struct dvb_demux_feed *dvbdmxfeed){	deb_ts("stop pid: 0x%04x, feedtype: %d\n", dvbdmxfeed->pid, dvbdmxfeed->type);	return dibusb_ctrl_feed(dvbdmxfeed,0);}int dibusb_dvb_init(struct usb_dibusb *dib){	int ret;	urb_compl_count = 0;#if LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,4)    if ((ret = dvb_register_adapter(&dib->adapter, DRIVER_DESC)) < 0) {#else    if ((ret = dvb_register_adapter(&dib->adapter, DRIVER_DESC , 			THIS_MODULE)) < 0) {#endif		deb_info("dvb_register_adapter failed: error %d", ret);		goto err;	}	dib->adapter->priv = dib;	/* i2c is done in dibusb_i2c_init */		dib->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING;	dib->demux.priv = (void *)dib;	/* get pidcount from demod */	dib->demux.feednum = dib->demux.filternum = 255;	dib->demux.start_feed = dibusb_start_feed;	dib->demux.stop_feed = dibusb_stop_feed;	dib->demux.write_to_decoder = NULL;	if ((ret = dvb_dmx_init(&dib->demux)) < 0) {		err("dvb_dmx_init failed: error %d",ret);		goto err_dmx;	}	dib->dmxdev.filternum = dib->demux.filternum;	dib->dmxdev.demux = &dib->demux.dmx;	dib->dmxdev.capabilities = 0;	if ((ret = dvb_dmxdev_init(&dib->dmxdev, dib->adapter)) < 0) {		err("dvb_dmxdev_init failed: error %d",ret);		goto err_dmx_dev;	}	dvb_net_init(dib->adapter, &dib->dvb_net, &dib->demux.dmx);	goto success;err_dmx_dev:	dvb_dmx_release(&dib->demux);err_dmx:	dvb_unregister_adapter(dib->adapter);err:	return ret;success:	dib->init_state |= DIBUSB_STATE_DVB;	return 0;}int dibusb_dvb_exit(struct usb_dibusb *dib){	if (dib->init_state & DIBUSB_STATE_DVB) {		dib->init_state &= ~DIBUSB_STATE_DVB;		deb_info("unregistering DVB part\n");		dvb_net_release(&dib->dvb_net);		dib->demux.dmx.close(&dib->demux.dmx);		dvb_dmxdev_release(&dib->dmxdev);		dvb_dmx_release(&dib->demux);		dvb_unregister_adapter(dib->adapter);	}	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色悠悠亚洲一区二区| 日本成人中文字幕在线视频| 国产91精品一区二区麻豆亚洲| 欧美一级二级在线观看| 美女尤物国产一区| 欧美精品一区二区三区四区| 狠狠色综合日日| 国产日韩欧美麻豆| 色偷偷久久人人79超碰人人澡 | 欧美一区二区三区视频在线| 日韩黄色免费电影| 国产亚洲成年网址在线观看| 成人免费观看视频| 亚洲乱码国产乱码精品精小说 | 成人深夜视频在线观看| 亚洲男同1069视频| 欧美精品 日韩| 九色综合国产一区二区三区| 中文幕一区二区三区久久蜜桃| 99在线热播精品免费| 亚洲成人综合网站| 久久网这里都是精品| 94色蜜桃网一区二区三区| 亚洲一区二区在线视频| 精品日韩成人av| jizz一区二区| 欧美aa在线视频| 中文字幕综合网| 欧美一区二区在线播放| 成人av第一页| 免费观看一级特黄欧美大片| 国产精品国产三级国产aⅴ中文 | 在线免费观看成人短视频| 轻轻草成人在线| 中文字幕一区二区三区视频| 欧美美女视频在线观看| 国产馆精品极品| 亚洲h在线观看| 国产精品丝袜久久久久久app| 欧美无砖专区一中文字| 国产麻豆91精品| 亚洲电影一级黄| 中文字幕的久久| 7777精品伊人久久久大香线蕉的| 国产成人h网站| 麻豆91免费看| 亚洲成人777| 国产精品第13页| 精品电影一区二区| 欧美日韩一卡二卡| 99久久伊人精品| 国产麻豆一精品一av一免费| 亚洲1区2区3区视频| 中文字幕一区二区三区不卡| 欧美白人最猛性xxxxx69交| 欧美色图天堂网| fc2成人免费人成在线观看播放| 久久精品免费看| 丝袜亚洲精品中文字幕一区| 一区二区在线观看免费视频播放 | 国产精品护士白丝一区av| 日韩欧美在线不卡| 777欧美精品| 欧美性生活一区| 色综合久久综合中文综合网| 国产a精品视频| 国产一区二区三区在线看麻豆| 五月天欧美精品| 亚洲福利国产精品| 一区二区三区日韩精品| 亚洲品质自拍视频| 亚洲天堂中文字幕| 亚洲欧美综合另类在线卡通| 国产精品天干天干在观线| 久久久精品国产免费观看同学| 欧美mv日韩mv国产网站| 日韩一级片在线观看| 欧美一级黄色大片| 精品国产一区二区三区av性色| 欧美一级一级性生活免费录像| 色婷婷激情综合| 欧美伊人久久久久久久久影院 | 欧美人伦禁忌dvd放荡欲情| 91传媒视频在线播放| 色香色香欲天天天影视综合网| av在线这里只有精品| 99久久精品免费看国产| 色一区在线观看| 欧美日韩的一区二区| 日韩一卡二卡三卡国产欧美| 日韩精品一区二区三区视频在线观看 | 欧洲亚洲精品在线| 欧美视频一区二区三区在线观看| 在线免费不卡视频| 在线不卡免费欧美| 精品久久人人做人人爽| 久久久久久久综合| 国产精品福利一区二区三区| 亚洲欧洲www| 亚洲综合小说图片| 免费在线看一区| 国产精品综合一区二区| 91啪亚洲精品| 欧美日韩视频在线观看一区二区三区| 欧美色视频一区| 精品av久久707| 国产精品福利电影一区二区三区四区| 亚洲欧美精品午睡沙发| 五月天中文字幕一区二区| 美腿丝袜一区二区三区| 成人一级黄色片| 欧美日韩精品一区二区三区蜜桃| 日韩免费视频一区二区| 中文字幕在线视频一区| 五月综合激情婷婷六月色窝| 国产综合色在线| 色视频一区二区| 精品日韩av一区二区| 亚洲日本在线a| 久久97超碰国产精品超碰| 国产大陆a不卡| 欧美日韩在线不卡| 久久久久久久久岛国免费| 亚洲国产日韩a在线播放性色| 卡一卡二国产精品| 欧美最猛性xxxxx直播| 精品国产sm最大网站免费看| 亚洲伦在线观看| 国产一区久久久| 欧美日韩综合色| 国产精品视频第一区| 蜜臀av一区二区在线免费观看 | 91福利国产成人精品照片| 欧美不卡在线视频| 亚洲影视资源网| 国产成人综合在线播放| 欧美日韩视频在线一区二区| 中文字幕在线播放不卡一区| 久久99精品国产.久久久久久 | 国产人成亚洲第一网站在线播放| 亚洲国产sm捆绑调教视频| 国产 日韩 欧美大片| 91精品黄色片免费大全| 亚洲色图色小说| 成人一区二区三区| 久久久久综合网| 免费看日韩精品| 欧美群妇大交群中文字幕| 日韩理论片在线| 成人深夜在线观看| 久久久精品免费免费| 精品一区二区三区久久| 欧美一区二区三区在线视频| 尤物在线观看一区| 色综合久久综合网| 亚洲欧洲av一区二区三区久久| 国产乱码精品一区二区三区忘忧草 | 欧美又粗又大又爽| 亚洲同性同志一二三专区| 高清不卡在线观看av| 26uuuu精品一区二区| 蜜臀久久99精品久久久久久9| 欧美午夜视频网站| 亚洲午夜羞羞片| 欧美影院精品一区| 亚洲综合色网站| 色综合色综合色综合色综合色综合| 国产精品麻豆视频| 成人午夜又粗又硬又大| 国产精品五月天| 99精品久久久久久| 亚洲欧美精品午睡沙发| 欧美在线一区二区三区| 亚洲一区二区在线播放相泽| 日本精品视频一区二区三区| 亚洲综合激情另类小说区| 色综合久久综合网97色综合| 亚洲另类中文字| 欧美性xxxxxx少妇| 婷婷综合久久一区二区三区| 欧美人xxxx| 久久99精品久久久久久动态图| 精品国产99国产精品| 国产一区二区电影| 国产精品美女久久久久av爽李琼| 不卡影院免费观看| 亚洲主播在线观看| 91精品久久久久久久久99蜜臂| 免费高清视频精品| 久久综合色8888| 成人免费看黄yyy456| 亚洲制服丝袜一区| 日韩欧美国产综合在线一区二区三区| 国产在线一区二区综合免费视频| 久久九九久久九九| 色呦呦国产精品| 久久精品国产一区二区三| 久久久天堂av| 在线观看www91| 国产美女在线精品|