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

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

?? patest_buffer.c

?? 一個(gè)開(kāi)源的sip源代碼
?? C
字號(hào):
/** @file patest_buffer.c	@ingroup test_src	@brief Test opening streams with different buffer sizes.	@author Phil Burk  http://www.softsynth.com*//* * $Id: patest_buffer.c 1097 2006-08-26 08:27:53Z rossb $ * * This program uses the PortAudio Portable Audio Library. * For more information see: http://www.portaudio.com * Copyright (c) 1999-2000 Ross Bencina and Phil Burk * * Permission is hereby granted, free of charge, to any person obtaining * a copy of this software and associated documentation files * (the "Software"), to deal in the Software without restriction, * including without limitation the rights to use, copy, modify, merge, * publish, distribute, sublicense, and/or sell copies of the Software, * and to permit persons to whom the Software is furnished to do so, * subject to the following conditions: * * The above copyright notice and this permission notice shall be * included in all copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *//* * The text above constitutes the entire PortAudio license; however,  * the PortAudio community also makes the following non-binding requests: * * Any person wishing to distribute modifications to the Software is * requested to send the modifications to the original developer so that * they can be incorporated into the canonical version. It is also  * requested that these non-binding requests be included along with the  * license above. */#include <stdio.h>#include <stdlib.h>#include <math.h>#include "portaudio.h"#define NUM_SECONDS   (3)#define SAMPLE_RATE   (44100)#ifndef M_PI#define M_PI  (3.14159265)#endif#define TABLE_SIZE   (200)#define BUFFER_TABLE  14long buffer_table[] = {paFramesPerBufferUnspecified,16,32,64,128,200,256,500,512,600,723,1000,1024,2345};typedef struct{    short sine[TABLE_SIZE];    int left_phase;    int right_phase;    unsigned int sampsToGo;}paTestData;PaError TestOnce( int buffersize, PaDeviceIndex );/* This routine will be called by the PortAudio engine when audio is needed.** It may called at interrupt level on some machines so don't do anything** that could mess up the system like calling malloc() or free().*/static int patest1Callback( const void *inputBuffer, void *outputBuffer,                            unsigned long framesPerBuffer,                            const PaStreamCallbackTimeInfo* timeInfo,                            PaStreamCallbackFlags statusFlags,                            void *userData ){    paTestData *data = (paTestData*)userData;    short *out = (short*)outputBuffer;    unsigned int i;    int finished = 0;    (void) inputBuffer; /* Prevent "unused variable" warnings. */    if( data->sampsToGo < framesPerBuffer )    {        /* final buffer... */        for( i=0; i<data->sampsToGo; i++ )        {            *out++ = data->sine[data->left_phase];  /* left */            *out++ = data->sine[data->right_phase];  /* right */            data->left_phase += 1;            if( data->left_phase >= TABLE_SIZE ) data->left_phase -= TABLE_SIZE;            data->right_phase += 3; /* higher pitch so we can distinguish left and right. */            if( data->right_phase >= TABLE_SIZE ) data->right_phase -= TABLE_SIZE;        }        /* zero remainder of final buffer */        for( ; i<framesPerBuffer; i++ )        {            *out++ = 0; /* left */            *out++ = 0; /* right */        }        finished = 1;    }    else    {        for( i=0; i<framesPerBuffer; i++ )        {            *out++ = data->sine[data->left_phase];  /* left */            *out++ = data->sine[data->right_phase];  /* right */            data->left_phase += 1;            if( data->left_phase >= TABLE_SIZE ) data->left_phase -= TABLE_SIZE;            data->right_phase += 3; /* higher pitch so we can distinguish left and right. */            if( data->right_phase >= TABLE_SIZE ) data->right_phase -= TABLE_SIZE;        }        data->sampsToGo -= framesPerBuffer;    }    return finished;}/*******************************************************************/int main(int argc, char **args);int main(int argc, char **args){    int i;    int device = -1;    PaError err;    printf("Test opening streams with different buffer sizes\n");    if( argc > 1 ) {       device=atoi( args[1] );       printf("Using device number %d.\n\n", device );    } else {       printf("Using default device.\n\n" );    }    for (i = 0 ; i < BUFFER_TABLE; i++)    {        printf("Buffer size %ld\n", buffer_table[i]);        err = TestOnce(buffer_table[i], device);        if( err < 0 ) return 0;    }    return 0;}PaError TestOnce( int buffersize, PaDeviceIndex device ){    PaStreamParameters outputParameters;    PaStream *stream;    PaError err;    paTestData data;    int i;    int totalSamps;    /* initialise sinusoidal wavetable */    for( i=0; i<TABLE_SIZE; i++ )    {        data.sine[i] = (short) (32767.0 * sin( ((double)i/(double)TABLE_SIZE) * M_PI * 2. ));    }    data.left_phase = data.right_phase = 0;    data.sampsToGo = totalSamps =  NUM_SECONDS * SAMPLE_RATE; /* Play for a few seconds. */    err = Pa_Initialize();    if( err != paNoError ) goto error;        if( device == -1 )        outputParameters.device = Pa_GetDefaultOutputDevice(); /* default output device */    else        outputParameters.device = device ;    outputParameters.channelCount = 2;                      /* stereo output */    outputParameters.sampleFormat = paInt16;                /* 32 bit floating point output */    outputParameters.suggestedLatency = Pa_GetDeviceInfo( outputParameters.device )->defaultLowOutputLatency;    outputParameters.hostApiSpecificStreamInfo = NULL;    err = Pa_OpenStream(              &stream,              NULL,                         /* no input */              &outputParameters,              SAMPLE_RATE,              buffersize,                   /* frames per buffer */              (paClipOff | paDitherOff),              patest1Callback,              &data );    if( err != paNoError ) goto error;    err = Pa_StartStream( stream );    if( err != paNoError ) goto error;    printf("Waiting for sound to finish.\n");    Pa_Sleep(1000*NUM_SECONDS);    err = Pa_CloseStream( stream );    if( err != paNoError ) goto error;    Pa_Terminate();    return paNoError;error:    Pa_Terminate();    fprintf( stderr, "An error occured while using the portaudio stream\n" );    fprintf( stderr, "Error number: %d\n", err );    fprintf( stderr, "Error message: %s\n", Pa_GetErrorText( err ) );    fprintf( stderr, "Host Error message: %s\n", Pa_GetLastHostErrorInfo()->errorText );    return err;}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
丝袜美腿亚洲一区| 久久99精品一区二区三区| 日韩一级片在线观看| 成人污污视频在线观看| 无吗不卡中文字幕| 中文字幕一区二区5566日韩| 欧美精品精品一区| av午夜一区麻豆| 国内精品第一页| 五月综合激情网| **欧美大码日韩| 国产亚洲精品免费| 日韩午夜三级在线| 精品视频123区在线观看| 高清成人免费视频| 久久国产精品区| 首页亚洲欧美制服丝腿| 亚洲精品国久久99热| 国产农村妇女精品| 久久亚洲精精品中文字幕早川悠里 | 麻豆久久久久久久| 亚洲午夜精品在线| 亚洲精品videosex极品| 国产精品麻豆视频| 午夜精品一区二区三区三上悠亚| 国产三级精品视频| 久久精品一区八戒影视| 精品久久免费看| 日韩一级免费观看| 欧美一级午夜免费电影| 欧美日韩国产首页| 欧美日韩小视频| 欧美日韩一区久久| 欧美日韩三级视频| 欧美日韩成人综合天天影院| 精品婷婷伊人一区三区三| 色先锋久久av资源部| 色综合久久99| 在线亚洲+欧美+日本专区| 日本伦理一区二区| 欧美专区亚洲专区| 欧美日韩成人激情| 7777精品伊人久久久大香线蕉 | 日本黄色一区二区| 在线区一区二视频| 欧美日韩国产一级片| 91精品国产乱码久久蜜臀| 337p亚洲精品色噜噜噜| 日韩天堂在线观看| 久久久精品免费免费| 国产日韩欧美在线一区| 国产精品国产三级国产普通话99 | 精品免费国产一区二区三区四区| 精品欧美乱码久久久久久1区2区 | 夜夜精品视频一区二区 | 国产精品网曝门| 亚洲少妇30p| 亚洲尤物视频在线| 男女男精品视频网| 国产乱码一区二区三区| 成人国产视频在线观看| 欧美中文字幕一区二区三区亚洲| 欧美日韩精品三区| 精品国产一区二区三区久久久蜜月 | 精品一区二区日韩| 91麻豆精品国产91久久久更新时间| 欧美色图第一页| 91精品国产综合久久精品| 精品国产123| 亚洲色图制服丝袜| 婷婷综合另类小说色区| 精品一二线国产| 成人听书哪个软件好| 欧美在线免费播放| 欧美xxxxx牲另类人与| 国产精品高清亚洲| 三级不卡在线观看| 成人黄色综合网站| 6080国产精品一区二区| 欧美国产精品v| 日韩在线卡一卡二| 国产aⅴ综合色| 欧美片在线播放| 欧美国产精品专区| 免费欧美高清视频| 91免费观看视频| 精品av久久707| 一区二区日韩电影| 国产精品亚洲视频| 555www色欧美视频| 成人免费在线视频| 精品一区二区在线免费观看| 91在线精品一区二区三区| 日韩精品一区二区三区老鸭窝| 日韩一区欧美小说| 经典三级视频一区| 欧美日韩大陆一区二区| 最好看的中文字幕久久| 国产一区二区调教| 精品视频全国免费看| 中文字幕一区在线观看视频| 美女爽到高潮91| 欧美在线看片a免费观看| 日本一区二区视频在线| 久久er99精品| 欧美久久婷婷综合色| 国产精品视频一二| 精品午夜久久福利影院 | 99re热这里只有精品视频| 日韩欧美国产电影| 亚洲午夜久久久久久久久久久 | 成人免费黄色大片| 日韩一区二区三| 午夜视频一区在线观看| 一本大道久久a久久综合婷婷| 久久蜜桃一区二区| 蜜臀av在线播放一区二区三区 | 欧美日韩国产一级| 一区二区三区中文免费| av在线这里只有精品| 国产视频在线观看一区二区三区 | 一色桃子久久精品亚洲| 国产寡妇亲子伦一区二区| 精品国产乱码久久| 美女一区二区三区在线观看| 欧美老人xxxx18| 亚洲一区二区高清| 日本国产一区二区| 亚洲精品国产一区二区精华液 | 2024国产精品| 极品销魂美女一区二区三区| 国产精品每日更新在线播放网址| 国产一区在线看| 精品国产乱码久久久久久1区2区| 麻豆久久久久久久| 精品久久一区二区三区| 国内精品自线一区二区三区视频| 精品国产网站在线观看| 激情综合五月婷婷| 久久精品亚洲一区二区三区浴池 | 国产精品成人午夜| 成人黄色小视频| 国产精品福利av | 久久久精品免费网站| 国产成人无遮挡在线视频| 久久男人中文字幕资源站| 国产一区二区久久| 中文乱码免费一区二区| gogogo免费视频观看亚洲一| ...中文天堂在线一区| 一本色道a无线码一区v| 亚洲国产中文字幕| 日韩三级.com| 国产精品性做久久久久久| 国产精品久久久久久久久免费樱桃| 成人国产在线观看| 亚洲国产另类精品专区| 欧美一区二区三区免费在线看| 国产在线精品免费av| 国产精品全国免费观看高清| 色猫猫国产区一区二在线视频| 亚洲午夜精品一区二区三区他趣| 91精品福利在线一区二区三区| 激情综合色播激情啊| 亚洲国产高清在线观看视频| 色婷婷精品久久二区二区蜜臀av| 性感美女久久精品| 精品成人一区二区| 99久久99久久久精品齐齐| 午夜成人在线视频| 国产色婷婷亚洲99精品小说| 99国产精品久久久久| 天天免费综合色| 欧美高清在线一区| 欧美福利视频一区| 91麻豆精品91久久久久久清纯 | 亚洲成人黄色小说| 精品国产乱码久久久久久闺蜜| 9人人澡人人爽人人精品| 日日摸夜夜添夜夜添精品视频| 久久影院午夜论| 欧美三片在线视频观看 | 欧美理论电影在线| 北岛玲一区二区三区四区| 日韩专区中文字幕一区二区| 国产欧美久久久精品影院| 欧美日韩在线播| 国产盗摄精品一区二区三区在线| 亚洲一区二区综合| 欧美激情一区二区三区蜜桃视频| 欧美性大战久久久久久久蜜臀| 国产精品一二三四五| 日韩av二区在线播放| 中文字幕一区二区三区在线观看| 欧美一区二区三级| 91福利资源站| 成人av网站在线观看免费| 蜜臀av一级做a爰片久久| 亚洲精品免费在线| 久久婷婷色综合|