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

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

?? sbcenc.c

?? 藍牙blue tooth sco協議棧
?? C
字號:
/* * *  Bluetooth low-complexity, subband codec (SBC) encoder * *  Copyright (C) 2004  Marcel Holtmann <marcel@holtmann.org> * * *  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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA * */#ifdef HAVE_CONFIG_H#include <config.h>#endif#include <stdio.h>#include <errno.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>#include <stdint.h>#include <string.h>#include <getopt.h>#include <byteswap.h>#include <sys/stat.h>#include "sbc.h"#if __BYTE_ORDER == __LITTLE_ENDIAN#define COMPOSE_ID(a,b,c,d)	((a) | ((b)<<8) | ((c)<<16) | ((d)<<24))#define LE_SHORT(v)		(v)#define LE_INT(v)		(v)#define BE_SHORT(v)		bswap_16(v)#define BE_INT(v)		bswap_32(v)#elif __BYTE_ORDER == __BIG_ENDIAN#define COMPOSE_ID(a,b,c,d)	((d) | ((c)<<8) | ((b)<<16) | ((a)<<24))#define LE_SHORT(v)		bswap_16(v)#define LE_INT(v)		bswap_32(v)#define BE_SHORT(v)		(v)#define BE_INT(v)		(v)#else#error "Wrong endian"#endif#define AU_MAGIC		COMPOSE_ID('.','s','n','d')#define AU_FMT_ULAW		1#define AU_FMT_LIN8		2#define AU_FMT_LIN16		3struct au_header {	uint32_t magic;		/* '.snd' */	uint32_t hdr_size;	/* size of header (min 24) */	uint32_t data_size;	/* size of data */	uint32_t encoding;	/* see to AU_FMT_XXXX */	uint32_t sample_rate;	/* sample rate */	uint32_t channels;	/* number of channels (voices) */};static ssize_t __read(int fd, void *buf, size_t count){	ssize_t len, pos = 0;	while (count > 0) {		len = read(fd, buf + pos, count);		if (len <= 0)			return len;		count -= len;		pos   += len;	}	return pos;}static ssize_t __write(int fd, const void *buf, size_t count){	ssize_t len, pos = 0;	while (count > 0) {		len = write(fd, buf + pos, count);		if (len <= 0)			return len;		count -= len;		pos   += len;	}	return pos;}static void encode(char *filename){	struct au_header *au_hdr;	unsigned char buf[2048];	sbc_t sbc;	int fd, len, size, count;	if (strcmp(filename, "-")) {		fd = open(filename, O_RDONLY);		if (fd < 0) {			fprintf(stderr, "Can't open file %s: %s\n",						filename, strerror(errno));			return;		}	} else		fd = fileno(stdin);	len = __read(fd, buf, sizeof(buf));	if (len < sizeof(*au_hdr)) {		if (fd > fileno(stderr))			fprintf(stderr, "Can't read header from file %s: %s\n",						filename, strerror(errno));		else			perror("Can't read audio header");		goto done;	}	au_hdr = (struct au_header *) buf;	if (au_hdr->magic != AU_MAGIC ||			BE_INT(au_hdr->hdr_size) > 128 ||			BE_INT(au_hdr->hdr_size) < 24 ||			BE_INT(au_hdr->encoding) != AU_FMT_LIN16) {		fprintf(stderr, "Data is not in Sun/NeXT audio S16_BE format\n");		goto done;	}	sbc_init(&sbc, SBC_NULL);	sbc.rate = BE_INT(au_hdr->sample_rate);	sbc.channels = BE_INT(au_hdr->channels);	count = BE_INT(au_hdr->data_size);	size = len - BE_INT(au_hdr->hdr_size);	memmove(buf, buf + BE_INT(au_hdr->hdr_size), size);	while (1) {		if (size < sizeof(buf)) {			len = __read(fd, buf + size, sizeof(buf) - size);			if (len == 0)				break;			if (len < 0) {				perror("Can't read audio data");				break;			}			size += len;		}		len = sbc_encode(&sbc, buf, size);		if (len < size)			memmove(buf, buf + len, size - len);		size -= len;		len = __write(fileno(stdout), sbc.data, sbc.len);		if (len == 0)			break;		if (len < 0 || len != sbc.len) {			perror("Can't write SBC output");			break;		}	}	sbc_finish(&sbc);done:	if (fd > fileno(stderr))		close(fd);}static void usage(void){	printf("SBC encoder utility ver %s\n", VERSION);	printf("Copyright (c) 2004  Marcel Holtmann\n\n");	printf("Usage:\n"		"\tsbcenc [options] file(s)\n"		"\n");	printf("Options:\n"		"\t-h, --help           Display help\n"		"\t-v, --verbose        Verbose mode\n"		"\n");}static struct option main_options[] = {	{ "help",	0, 0, 'h' },	{ "verbose",	0, 0, 'v' },	{ 0, 0, 0, 0 }};int main(int argc, char *argv[]){	int i, opt, verbose = 0;	while ((opt = getopt_long(argc, argv, "+hv", main_options, NULL)) != -1) {		switch(opt) {		case 'h':			usage();			exit(0);		case 'v':			verbose = 1;			break;		default:			exit(1);		}	}	argc -= optind;	argv += optind;	optind = 0;	if (argc < 1) {		usage();		exit(1);	}	for (i = 0; i < argc; i++)		encode(argv[i]);	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩国产高清一区二区 | 色综合天天做天天爱| 青椒成人免费视频| 丝袜美腿亚洲一区| 亚洲不卡在线观看| 亚洲aaa精品| 美女免费视频一区二区| 欧美aⅴ一区二区三区视频| 秋霞影院一区二区| 韩国一区二区视频| 国产91精品欧美| 91在线视频18| 欧美日韩精品欧美日韩精品一综合| 欧美日韩视频专区在线播放| 欧美欧美午夜aⅴ在线观看| 欧美日韩一本到| 91精品国产美女浴室洗澡无遮挡| 日韩三级av在线播放| 精品国产乱码久久久久久夜甘婷婷 | 国产精品高潮呻吟| 日本一区二区三区国色天香 | 成人做爰69片免费看网站| 97久久超碰国产精品| 欧美日韩另类一区| 久久久久亚洲综合| 一区二区成人在线视频| 日本欧美一区二区三区| 国产成人精品免费视频网站| 色综合久久久久综合| 91精品国产91热久久久做人人| 久久久久久久久久看片| 亚洲精品视频一区| 紧缚奴在线一区二区三区| 91免费在线视频观看| 欧美一区二区精品在线| 国产欧美一区二区精品性色超碰| 亚洲午夜精品久久久久久久久| 麻豆91精品91久久久的内涵| 成人91在线观看| 欧美成va人片在线观看| 一区二区三区在线观看网站| 国内精品伊人久久久久av一坑| aa级大片欧美| 久久午夜电影网| 午夜久久久久久| 97久久超碰国产精品| 久久这里只有精品6| 午夜精品成人在线视频| 国产91丝袜在线观看| 欧美一级生活片| 亚洲激情自拍视频| 成人精品免费网站| 精品国产一区二区三区忘忧草 | 亚洲欧洲av一区二区三区久久| 日韩高清中文字幕一区| 一本到三区不卡视频| 中文在线免费一区三区高中清不卡| 免费一级欧美片在线观看| 91在线国产福利| 国产精品高潮呻吟| 懂色av中文一区二区三区| 亚洲精品一区二区精华| 蜜桃精品视频在线| 日韩一区二区三免费高清| 五月综合激情婷婷六月色窝| 日本精品裸体写真集在线观看| 欧美国产视频在线| 国产成人精品三级| 国产人久久人人人人爽| 国产一级精品在线| 精品国产91洋老外米糕| 裸体歌舞表演一区二区| 欧美变态口味重另类| 秋霞av亚洲一区二区三| 欧美精品三级日韩久久| 午夜激情久久久| 4438亚洲最大| 日韩avvvv在线播放| 日韩一区二区三区av| 奇米色一区二区| 欧美一区午夜精品| 国内精品自线一区二区三区视频| 日韩欧美中文字幕公布| 久久精品国内一区二区三区| 久久综合久久99| 国产成人精品免费在线| 中文字幕制服丝袜成人av| 91色视频在线| 亚洲国产日韩综合久久精品| 欧美日韩不卡视频| 久久成人久久鬼色| 国产女人18毛片水真多成人如厕| 国产精品白丝av| 亚洲三级在线播放| 欧美图片一区二区三区| 日本vs亚洲vs韩国一区三区二区 | 欧美日韩高清在线播放| 日本系列欧美系列| 久久久综合精品| 97精品久久久午夜一区二区三区| 一个色在线综合| 日韩精品影音先锋| 成人黄色在线看| 五月激情综合网| 久久久久久免费| 欧美视频一区二区三区在线观看 | 国产一本一道久久香蕉| 亚洲男人的天堂在线aⅴ视频| 欧美日韩国产综合一区二区三区 | 丁香啪啪综合成人亚洲小说| 亚洲欧美日韩精品久久久久| 91精品在线免费| 国产99久久久精品| 午夜av一区二区三区| 久久精品日韩一区二区三区| 日本精品一级二级| 极品少妇一区二区三区精品视频 | 国产精一区二区三区| 亚洲一区二区三区中文字幕| 久久这里只有精品视频网| 在线观看精品一区| 国产成人精品aa毛片| 日本一不卡视频| 亚洲视频你懂的| 久久精品一区二区三区四区| 欧美日韩在线亚洲一区蜜芽| 成人精品免费网站| 久久国产精品免费| 亚洲www啪成人一区二区麻豆| 欧美国产激情二区三区| 精品久久久久久久久久久久包黑料 | 97久久超碰国产精品| 国产精品一区二区久激情瑜伽 | 国产精品一二二区| 美女脱光内衣内裤视频久久网站 | 91色.com| 99久久婷婷国产| 高清beeg欧美| 国产精品99久久久久久似苏梦涵| 丝袜美腿高跟呻吟高潮一区| 樱花影视一区二区| 成人欧美一区二区三区| 亚洲欧美视频一区| 国产亚洲欧美激情| 久久人人超碰精品| 精品99999| 337p日本欧洲亚洲大胆精品| 日韩欧美国产精品| 欧美一区二区不卡视频| 欧美日韩在线播放三区四区| 色综合久久天天| 一本色道久久综合亚洲精品按摩| 99久久伊人网影院| 粉嫩aⅴ一区二区三区四区| 国产丶欧美丶日本不卡视频| 国产一区日韩二区欧美三区| 看电影不卡的网站| 精品一区二区三区免费| 黄页视频在线91| 国产乱子轮精品视频| 国产福利一区在线| 成人高清视频免费观看| 波多野结衣视频一区| jiyouzz国产精品久久| 97久久精品人人澡人人爽| 色素色在线综合| 欧美日韩色综合| 在线播放国产精品二区一二区四区| 欧美日韩国产123区| 91精品国产综合久久国产大片| 8v天堂国产在线一区二区| 欧美一区二区三区在线视频| 精品国产一区二区国模嫣然| 国产天堂亚洲国产碰碰| 亚洲女子a中天字幕| 亚洲福利电影网| 久久97超碰国产精品超碰| 国产91精品精华液一区二区三区| 91一区二区三区在线观看| 欧美日韩视频在线观看一区二区三区| 69堂国产成人免费视频| 久久久久久久久久看片| 国产精品福利在线播放| 日韩一区精品视频| 国产91精品露脸国语对白| 欧美性videosxxxxx| 久久丝袜美腿综合| 亚洲影院在线观看| 国产精品自拍av| 在线观看日产精品| 国产亚洲精品7777| 天堂成人免费av电影一区| 成人一级视频在线观看| 91精品国产乱码久久蜜臀| 国产精品久久久久天堂| 日韩在线a电影| 色呦呦日韩精品| 日韩三级免费观看| 亚洲无人区一区| 粉嫩久久99精品久久久久久夜|