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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? dec_sndfile.c

?? Aqualung is an advanced music player primarily targeted for the GNU/Linux operating system, but als
?? C
字號(hào):
/*                                                     -*- linux-c -*-    Copyright (C) 2005 Tom Szilagyi    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., 675 Mass Ave, Cambridge, MA 02139, USA.    $Id: dec_sndfile.c,v 1.6 2006/09/16 16:06:27 peterszilagyi Exp $*/#include <config.h>#include <stdio.h>#include <stdlib.h>#include "dec_sndfile.h"#ifdef HAVE_SNDFILE/* list of accepted file extensions */char * valid_extensions_sndfile[] = {        "wav", "aiff", "au", "w64", "voc", "xi", "htk", "svx", NULL};decoder_t *sndfile_decoder_init(file_decoder_t * fdec) {        decoder_t * dec = NULL;        if ((dec = calloc(1, sizeof(decoder_t))) == NULL) {                fprintf(stderr, "dec_sndfile.c: sndfile_decoder_new() failed: calloc error\n");                return NULL;        }	dec->fdec = fdec;        if ((dec->pdata = calloc(1, sizeof(sndfile_pdata_t))) == NULL) {                fprintf(stderr, "dec_sndfile.c: sndfile_decoder_new() failed: calloc error\n");                return NULL;        }	dec->init = sndfile_decoder_init;	dec->destroy = sndfile_decoder_destroy;	dec->open = sndfile_decoder_open;	dec->close = sndfile_decoder_close;	dec->read = sndfile_decoder_read;	dec->seek = sndfile_decoder_seek;	return dec;}voidsndfile_decoder_destroy(decoder_t * dec) {	free(dec->pdata);	free(dec);}intsndfile_decoder_open(decoder_t * dec, char * filename) {	sndfile_pdata_t * pd = (sndfile_pdata_t *)dec->pdata;	file_decoder_t * fdec = dec->fdec;	pd->sf_info.format = 0;        if ((pd->sf = sf_open(filename, SFM_READ, &(pd->sf_info))) == NULL) {		return DECODER_OPEN_BADLIB;	}#ifdef HAVE_NEW_SNDFILE	/* XXX don't use the FLAC decoder in sndfile, seeking seems to be buggy */	/* the native FLAC decoder will catch the file instead. */	if ((pd->sf_info.format & SF_FORMAT_TYPEMASK) == SF_FORMAT_FLAC) {		sf_close(pd->sf);		return DECODER_OPEN_BADLIB;	}#endif	if ((pd->sf_info.channels != 1) && (pd->sf_info.channels != 2)) {		fprintf(stderr,			"sndfile_decoder_open: sndfile with %d channels is unsupported\n",			pd->sf_info.channels);		return DECODER_OPEN_FERROR;	}	fdec->channels = pd->sf_info.channels;	fdec->SR = pd->sf_info.samplerate;	fdec->file_lib = SNDFILE_LIB;		fdec->fileinfo.total_samples = pd->sf_info.frames;	fdec->fileinfo.format_major = pd->sf_info.format & SF_FORMAT_TYPEMASK;	fdec->fileinfo.format_minor = pd->sf_info.format & SF_FORMAT_SUBMASK;		switch (fdec->fileinfo.format_minor) {	case SF_FORMAT_PCM_S8:	case SF_FORMAT_PCM_U8:		fdec->fileinfo.bps = 8;		break;	case SF_FORMAT_PCM_16:		fdec->fileinfo.bps = 16;		break;	case SF_FORMAT_PCM_24:		fdec->fileinfo.bps = 24;		break;	case SF_FORMAT_PCM_32:	case SF_FORMAT_FLOAT:		fdec->fileinfo.bps = 32;		break;	case SF_FORMAT_DOUBLE:		fdec->fileinfo.bps = 64;		break;	default:		/* XXX libsndfile knows some more formats apart from the ones above,		   but i don't know their bits/sample... perhaps i'm stupid. --tszilagyi */		fdec->fileinfo.bps = 0;		break;	}	fdec->fileinfo.bps *= fdec->SR * fdec->channels;			return DECODER_OPEN_SUCCESS;}voidsndfile_decoder_close(decoder_t * dec) {	sndfile_pdata_t * pd = (sndfile_pdata_t *)dec->pdata;	sf_close(pd->sf);}unsigned intsndfile_decoder_read(decoder_t * dec, float * dest, int num) {	sndfile_pdata_t * pd = (sndfile_pdata_t *)dec->pdata;	file_decoder_t * fdec = dec->fdec;	int i;	unsigned int numread = 0;	numread = sf_readf_float(pd->sf, dest, num);	for (i = 0; i < numread; i++) {		dest[i] *= fdec->voladj_lin;	}	return numread;}voidsndfile_decoder_seek(decoder_t * dec, unsigned long long seek_to_pos) {		sndfile_pdata_t * pd = (sndfile_pdata_t *)dec->pdata;	file_decoder_t * fdec = dec->fdec;	if ((pd->nframes = sf_seek(pd->sf, seek_to_pos, SEEK_SET)) != -1) {		fdec->samples_left = fdec->fileinfo.total_samples - pd->nframes;	} else {		fprintf(stderr, "sndfile_decoder_seek: warning: sf_seek() failed\n");	}}#elsedecoder_t *sndfile_decoder_init(file_decoder_t * fdec) {	return NULL;}#endif /* HAVE_SNDFILE */// vim: shiftwidth=8:tabstop=8:softtabstop=8 :  

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人黄页毛片网站| 自拍偷拍亚洲激情| 91亚洲精品久久久蜜桃网站| 亚洲成人高清在线| 中文字幕巨乱亚洲| 7777精品伊人久久久大香线蕉超级流畅| 国产久卡久卡久卡久卡视频精品| 一二三四区精品视频| 国产性做久久久久久| 91精品午夜视频| 在线日韩国产精品| 丁香婷婷综合色啪| 精品亚洲国产成人av制服丝袜| 一区二区久久久久| 国产精品国产三级国产aⅴ无密码| 日韩欧美视频在线 | 波多野结衣91| 久久99久久久欧美国产| 亚洲国产日韩a在线播放| 亚洲同性同志一二三专区| 欧美精品一区二区在线播放| 91精品免费在线观看| 91成人在线免费观看| 99久久久免费精品国产一区二区| 国产一本一道久久香蕉| 免费观看成人av| 日韩精品欧美精品| 香蕉久久一区二区不卡无毒影院| 日韩毛片一二三区| 国产精品蜜臀在线观看| 久久综合99re88久久爱| 日韩欧美中文字幕一区| 5566中文字幕一区二区电影| 色视频成人在线观看免| 91网站在线播放| 成人av电影在线播放| 成人av网站在线观看| 成人午夜精品一区二区三区| 国产精品一区二区视频| 欧美色综合网站| 97超碰欧美中文字幕| 成人app在线| www.欧美精品一二区| 成人激情免费网站| 99精品1区2区| 色综合中文综合网| 一级日本不卡的影视| 亚洲免费资源在线播放| 亚洲精品va在线观看| 国产精品中文字幕一区二区三区| 亚洲国产精品久久不卡毛片| 欧美一二三区在线观看| 欧美精品aⅴ在线视频| 欧美电影影音先锋| 欧美一级一区二区| 欧美白人最猛性xxxxx69交| 精品日韩一区二区三区免费视频| 欧美不卡一二三| 国产无遮挡一区二区三区毛片日本| 久久久五月婷婷| 中文字幕乱码日本亚洲一区二区| 国产精品久久久久久久久免费樱桃| 日韩一区有码在线| 一区二区免费在线| 日韩二区三区四区| 国产剧情一区二区三区| 99久久综合精品| 欧美日韩一级视频| 日韩视频免费观看高清完整版 | 国产精品影视在线| 成人一级片网址| 在线一区二区三区做爰视频网站| 国产剧情一区二区| 欧美亚洲免费在线一区| 91无套直看片红桃| 成人性生交大片免费看中文网站| 99九九99九九九视频精品| 在线视频你懂得一区| 日韩一卡二卡三卡| 中文一区一区三区高中清不卡| 亚洲在线中文字幕| 麻豆91精品视频| 99久久精品免费精品国产| 欧美日韩久久久一区| 26uuu亚洲| 一区二区日韩av| 国产一区二区毛片| 日本精品裸体写真集在线观看| 欧美一级片在线看| 国产精品久久久久四虎| 婷婷开心激情综合| 成人精品gif动图一区| 欧美日韩dvd在线观看| 国产欧美一区二区精品秋霞影院| 夜夜精品浪潮av一区二区三区| 六月丁香综合在线视频| 91天堂素人约啪| 精品少妇一区二区三区| 亚洲影视在线观看| 国产真实乱对白精彩久久| 欧美亚州韩日在线看免费版国语版| 精品久久国产字幕高潮| 亚洲一区二区美女| 高清国产一区二区三区| 555夜色666亚洲国产免| 欧美一区二区在线播放| 精品久久国产老人久久综合| 一卡二卡欧美日韩| 国产老肥熟一区二区三区| 欧美精品一级二级| 国产精品无人区| 国产综合久久久久影院| 欧美午夜在线一二页| 日本一区二区高清| 精彩视频一区二区三区| 9191国产精品| 夜夜揉揉日日人人青青一国产精品| 国产成人综合网| 日韩欧美在线影院| 丝袜美腿亚洲色图| 欧洲亚洲精品在线| 亚洲免费观看在线观看| 成人性视频免费网站| 国产三级三级三级精品8ⅰ区| 免费高清不卡av| 欧美肥妇毛茸茸| 亚洲国产成人av网| 欧美午夜理伦三级在线观看| 亚洲天堂免费看| 成人国产视频在线观看| 国产欧美精品区一区二区三区| 丰满白嫩尤物一区二区| 亚洲欧美日韩中文字幕一区二区三区| 美国欧美日韩国产在线播放| jlzzjlzz亚洲女人18| 亚洲国产成人午夜在线一区| 国产成人av影院| 欧美国产综合一区二区| 国产另类ts人妖一区二区| 国产午夜久久久久| 成人黄色电影在线| 中文字幕一区二区三区精华液 | 韩国欧美一区二区| 日韩免费观看高清完整版在线观看| 日精品一区二区三区| 欧美浪妇xxxx高跟鞋交| 日本三级亚洲精品| 日韩精品一区二区三区在线播放| 久久66热re国产| 久久天天做天天爱综合色| 国产高清不卡一区二区| 欧美国产精品v| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 欧美日韩国产首页| 青青草91视频| 久久久久久麻豆| 成人精品小蝌蚪| 亚洲精品视频免费看| 欧美性受xxxx黑人xyx| 人禽交欧美网站| www精品美女久久久tv| 国产成人免费在线视频| 自拍偷在线精品自拍偷无码专区| 在线观看视频91| 免费成人在线视频观看| 日本一区二区视频在线| 91麻豆免费在线观看| 午夜视频一区二区三区| 精品蜜桃在线看| 99re视频精品| 日韩精品亚洲一区| 国产天堂亚洲国产碰碰| 一本到三区不卡视频| 日本成人在线网站| 国产日韩欧美a| 欧美三级日本三级少妇99| 精品一区二区三区欧美| 亚洲欧洲www| 欧美一卡2卡3卡4卡| 成人精品电影在线观看| 亚洲va国产天堂va久久en| 精品88久久久久88久久久| 国产sm精品调教视频网站| 久久这里只有精品6| 精品少妇一区二区三区视频免付费| **欧美大码日韩| 777xxx欧美| 波多野结衣精品在线| 日韩成人伦理电影在线观看| 欧美激情一区二区三区蜜桃视频 | 一区二区三区中文字幕电影| 欧美一区二区精美| 91视视频在线观看入口直接观看www | 精品三级在线看| 91蜜桃传媒精品久久久一区二区| 美女视频黄久久| 一区二区在线观看视频在线观看| 日韩亚洲欧美在线观看| 91小视频在线| 国产美女精品一区二区三区|