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

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

?? paqa_errs.c

?? ppciaxclient softphone
?? C
字號:
/*
 * $Id: paqa_errs.c,v 1.2.4.1 2003/02/11 21:41:32 philburk Exp $
 * paqa_devs.c
 * Self Testing Quality Assurance app for PortAudio
 * Do lots of bad things to test error reporting.
 *
 * Author: Phil Burk  http://www.softsynth.com
 *
 * 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.
 *
 * 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.
 *
 * 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.
 *
 */
#include <stdio.h>
#include <math.h>
#include "portaudio.h"
/****************************************** Definitions ***********/
#define MODE_INPUT      (0)
#define MODE_OUTPUT     (1)
#define FRAMES_PER_BUFFER       (64)
#define SAMPLE_RATE        (44100.0)
#define NUM_BUFFERS              (0)
typedef struct PaQaData
{
    unsigned long  framesLeft;
    int            numChannels;
    int            bytesPerSample;
    int            mode;
}
PaQaData;
/****************************************** Prototypes ***********/
static void TestDevices( int mode );
static void TestFormats( int mode, PaDeviceID deviceID, double sampleRate,
                         int numChannels );
static int TestBadOpens( void );
static int TestBadActions( void );
static int QaCallback( void *inputBuffer, void *outputBuffer,
                       unsigned long framesPerBuffer,
                       PaTimestamp outTime, void *userData );
/****************************************** Globals ***********/
static int gNumPassed = 0;
static int gNumFailed = 0;
/****************************************** Macros ***********/
/* Print ERROR if it fails. Tally success or failure. */
/* Odd do-while wrapper seems to be needed for some compilers. */
#define EXPECT( msg, _exp) \
    do \
    { \
        if ((_exp)) {\
            gNumPassed++; \
        } \
        else { \
            printf("\nERROR %s\n    - 0x%x - %s for %s\n", (msg), result, Pa_GetErrorText(result), #_exp ); \
            gNumFailed++; \
            goto error; \
        } \
    } while(0)
#define HOPEFOR( msg, _exp) \
    do \
    { \
        if ((_exp)) {\
            gNumPassed++; \
        } \
        else { \
            printf("\nERROR %s\n    - 0x%x - %s for %s\n", (msg), result, Pa_GetErrorText(result), #_exp ); \
            gNumFailed++; \
        } \
    } while(0)
/*******************************************************************/
/* This routine will be called by the PortAudio engine when audio is needed.
** It may be 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 QaCallback( void *inputBuffer, void *outputBuffer,
                       unsigned long framesPerBuffer,
                       PaTimestamp outTime, void *userData )
{
    unsigned long i;
    unsigned char *out = (unsigned char *) outputBuffer;
    PaQaData *data = (PaQaData *) userData;
    (void) inputBuffer; /* Prevent "unused variable" warnings. */
    (void) outTime;

    /* Zero out buffer so we don't hear terrible noise. */
    if( data->mode == MODE_OUTPUT )
    {
        unsigned long numBytes = framesPerBuffer * data->numChannels * data->bytesPerSample;
        for( i=0; i<numBytes; i++ )
        {
            *out++ = 0;
        }
    }
    /* Are we through yet? */
    if( data->framesLeft > framesPerBuffer )
    {
        data->framesLeft -= framesPerBuffer;
        return 0;
    }
    else
    {
        data->framesLeft = 0;
        return 1;
    }
}
/*******************************************************************/
int main(void);
int main(void)
{
    PaError result;
    EXPECT( "init", ((result=Pa_Initialize()) == 0) );
    TestBadActions();
    TestBadOpens();
error:
    Pa_Terminate();
    printf("QA Report: %d passed, %d failed.\n", gNumPassed, gNumFailed );
    return 0;
}
/*******************************************************************/
static int TestBadOpens( void )
{
    PortAudioStream *stream = NULL;
    PaError result;
    PaQaData myData;
    /* Setup data for synthesis thread. */
    myData.framesLeft = (unsigned long) (SAMPLE_RATE * 100); /* 100 seconds */
    myData.numChannels = 1;
    myData.mode = MODE_OUTPUT;
    HOPEFOR( "No devices specified.",(
                 (result = Pa_OpenStream(
                               &stream,
                               paNoDevice, 0, paFloat32, NULL,
                               paNoDevice, 0, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidDeviceId) );
    HOPEFOR( "Out of range input device specified.",(
                 (result = Pa_OpenStream(
                               &stream,
                               Pa_CountDevices(), 0, paFloat32, NULL,
                               paNoDevice, 0, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidDeviceId) );

    HOPEFOR( "Out of range output device specified.",(
                 (result = Pa_OpenStream(
                               &stream,
                               paNoDevice, 0, paFloat32, NULL,
                               Pa_CountDevices(), 0, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidDeviceId) );
    HOPEFOR( "Zero input channels.",(
                 (result = Pa_OpenStream(
                               &stream,
                               Pa_GetDefaultInputDeviceID(), 0, paFloat32, NULL,
                               paNoDevice, 0, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidChannelCount) );
    HOPEFOR( "Zero output channels.",(
                 (result = Pa_OpenStream(
                               &stream,
                               paNoDevice, 0, paFloat32, NULL,
                               Pa_GetDefaultOutputDeviceID(), 0, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidChannelCount) );
    HOPEFOR( "Nonzero input channels but no device.",(
                 (result = Pa_OpenStream(
                               &stream,
                               Pa_GetDefaultInputDeviceID(), 2, paFloat32, NULL,
                               paNoDevice, 2, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidChannelCount) );

    HOPEFOR( "Nonzero output channels but no device.",(
                 (result = Pa_OpenStream(
                               &stream,
                               paNoDevice, 2, paFloat32, NULL,
                               Pa_GetDefaultOutputDeviceID(), 2, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidChannelCount) );
    HOPEFOR( "NULL stream pointer.",(
                 (result = Pa_OpenStream(
                               NULL,
                               paNoDevice, 0, paFloat32, NULL,
                               Pa_GetDefaultOutputDeviceID(), 2, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paBadStreamPtr) );
    HOPEFOR( "Low sample rate.",(
                 (result = Pa_OpenStream(
                               &stream,
                               paNoDevice, 0, paFloat32, NULL,
                               Pa_GetDefaultOutputDeviceID(), 2, paFloat32, NULL,
                               1.0, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidSampleRate) );
    HOPEFOR( "High sample rate.",(
                 (result = Pa_OpenStream(
                               &stream,
                               paNoDevice, 0, paFloat32, NULL,
                               Pa_GetDefaultOutputDeviceID(), 2, paFloat32, NULL,
                               10000000.0, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidSampleRate) );
    HOPEFOR( "NULL callback.",(
                 (result = Pa_OpenStream(
                               &stream,
                               paNoDevice, 0, paFloat32, NULL,
                               Pa_GetDefaultOutputDeviceID(), 2, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               NULL,
                               &myData )
                 ) == paNullCallback) );
    HOPEFOR( "Bad flag.",(
                 (result = Pa_OpenStream(
                               &stream,
                               paNoDevice, 0, paFloat32, NULL,
                               Pa_GetDefaultOutputDeviceID(), 2, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               (1<<3),
                               QaCallback,
                               &myData )
                 ) == paInvalidFlag) );

#if 1 /* FIXME - this is legal for some implementations. */
    HOPEFOR( "Use input device as output device.",(
                 (result = Pa_OpenStream(
                               &stream,
                               paNoDevice, 0, paFloat32, NULL,
                               Pa_GetDefaultInputDeviceID(), 2, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidDeviceId) );

    HOPEFOR( "Use output device as input device.",(
                 (result = Pa_OpenStream(
                               &stream,
                               Pa_GetDefaultOutputDeviceID(), 2, paFloat32, NULL,
                               paNoDevice, 0, paFloat32, NULL,
                               SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                               paClipOff,
                               QaCallback,
                               &myData )
                 ) == paInvalidDeviceId) );
#endif

    if( stream != NULL ) Pa_CloseStream( stream );
    return result;
}
/*******************************************************************/
static int TestBadActions( void )
{
    PortAudioStream *stream = NULL;
    PaError result;
    PaQaData myData;
    /* Setup data for synthesis thread. */
    myData.framesLeft = (unsigned long) (SAMPLE_RATE * 100); /* 100 seconds */
    myData.numChannels = 1;
    myData.mode = MODE_OUTPUT;
    /* Default output. */
    EXPECT( "TestBadActions", ((result = Pa_OpenStream(
                           &stream,
                           paNoDevice, 0, paFloat32, NULL,
                           Pa_GetDefaultOutputDeviceID(), 2, paFloat32, NULL,
                           SAMPLE_RATE, FRAMES_PER_BUFFER, NUM_BUFFERS,
                           paClipOff,
                           QaCallback,
                           &myData )
             ) == 0) );
    HOPEFOR( "start", ((result = Pa_StartStream( NULL )) == paBadStreamPtr) );
    HOPEFOR( "stop", ((result = Pa_StopStream( NULL )) == paBadStreamPtr) );
    HOPEFOR( "active?", ((result = Pa_StreamActive( NULL )) == paBadStreamPtr) );
    HOPEFOR( "close", ((result = Pa_CloseStream( NULL )) == paBadStreamPtr) );
    HOPEFOR( "time?", ((result = (PaError)Pa_StreamTime( NULL )) != 0) );
    HOPEFOR( "CPULoad?", ((result = (PaError)Pa_GetCPULoad( NULL )) != 0) );
error:
    if( stream != NULL ) Pa_CloseStream( stream );
    return result;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
五月婷婷综合在线| 成人av在线一区二区| 国产精品99精品久久免费| 91在线观看成人| 26uuu欧美| 亚洲va天堂va国产va久| 国产999精品久久| 欧美精品三级在线观看| 尤物视频一区二区| 国产福利一区二区三区| 91精品久久久久久蜜臀| 亚洲乱码中文字幕| 国产成人在线看| 日韩欧美资源站| 午夜精品在线视频一区| 91在线视频免费91| 中文字幕va一区二区三区| 久久超碰97人人做人人爱| 欧美日韩五月天| 亚洲欧美日韩一区二区三区在线观看 | 国产精品蜜臀在线观看| 美腿丝袜一区二区三区| 欧美三级电影在线看| 亚洲欧美另类久久久精品2019| 成人一区二区三区视频在线观看| 日韩亚洲欧美在线| 日本欧美加勒比视频| 欧美日精品一区视频| 亚洲综合色成人| 欧美伊人久久大香线蕉综合69 | 日韩欧美一级特黄在线播放| 国内精品伊人久久久久av一坑| 欧美三级欧美一级| 亚洲国产综合视频在线观看| 欧美色欧美亚洲另类二区| 亚洲女同一区二区| 色88888久久久久久影院按摩| 国产精品护士白丝一区av| gogogo免费视频观看亚洲一| 欧美激情在线一区二区三区| 成人一区二区三区中文字幕| 国产精品色哟哟| voyeur盗摄精品| 亚洲视频一二区| 欧美在线999| 婷婷夜色潮精品综合在线| 欧美视频一区二区| 青青草国产成人av片免费| 日韩精品在线看片z| 久久99精品久久久久久| 国产网站一区二区| 99久久99久久精品免费观看| 1000部国产精品成人观看| 91电影在线观看| 性久久久久久久| 亚洲精品在线电影| 成人av在线一区二区三区| 亚洲自拍与偷拍| 日韩一区二区三区电影| 国产二区国产一区在线观看| 国产精品护士白丝一区av| 欧美三级一区二区| 老司机精品视频在线| 国产精品久久久一本精品| 在线观看欧美黄色| 国产综合色产在线精品| 亚洲三级视频在线观看| 欧美日韩高清影院| 国内成人免费视频| 国产一区二区影院| 亚洲美女视频一区| 精品免费国产二区三区| 99精品一区二区| 欧美a一区二区| 中文字幕一区二区5566日韩| 欧美精品久久99| 成人免费视频国产在线观看| 亚洲bt欧美bt精品777| 国产日韩欧美精品一区| 欧美日韩综合色| 成人免费精品视频| 青青草原综合久久大伊人精品优势| 久久久高清一区二区三区| 欧美日韩在线亚洲一区蜜芽| 国产老女人精品毛片久久| 亚洲成人一区二区| 国产精品免费视频观看| 欧美一区二区三区人| 91蝌蚪porny九色| 国产麻豆精品一区二区| 日韩在线卡一卡二| 亚洲欧美激情在线| 国产午夜一区二区三区| 日韩一二三区不卡| 欧美午夜理伦三级在线观看| 91在线观看免费视频| 国产精品一区二区久久精品爱涩| 午夜激情一区二区| 一区2区3区在线看| 中文字幕一区二| 日本一区二区免费在线观看视频 | 亚洲主播在线播放| 综合欧美一区二区三区| 国产偷国产偷亚洲高清人白洁| 欧美老年两性高潮| 欧美日韩中字一区| 欧美亚洲一区二区在线| 日韩欧美色电影| 欧美人xxxx| 欧美日韩一区二区欧美激情| 色综合久久久久综合| 波多野结衣在线aⅴ中文字幕不卡| 精品亚洲国内自在自线福利| 日韩av不卡在线观看| 日日噜噜夜夜狠狠视频欧美人| 亚洲尤物视频在线| 有坂深雪av一区二区精品| 亚洲少妇30p| 亚洲欧美激情小说另类| 亚洲激情五月婷婷| 亚洲专区一二三| 日韩中文字幕av电影| 日本欧美大码aⅴ在线播放| 天天综合天天做天天综合| 日本亚洲天堂网| 久久精品国产秦先生| 韩国女主播一区| 国产成人在线看| av午夜精品一区二区三区| 91影院在线免费观看| 欧美中文字幕一区二区三区亚洲| 欧美日韩高清一区二区| 欧美一级生活片| 久久久久久9999| 自拍偷自拍亚洲精品播放| 一区二区三区四区蜜桃| 日韩国产在线一| 国产自产2019最新不卡| 97精品电影院| 欧美日韩国产片| 久久久综合视频| 亚洲三级免费观看| 日韩精品欧美成人高清一区二区| 国内不卡的二区三区中文字幕| 大桥未久av一区二区三区中文| 精品美女在线播放| 中文字幕日韩欧美一区二区三区| 一区二区成人在线视频| 韩国女主播一区| 日本韩国欧美在线| 精品毛片乱码1区2区3区| 亚洲色图色小说| 欧美aaa在线| 一本大道久久a久久综合婷婷| 欧美精品粉嫩高潮一区二区| 日本一二三四高清不卡| 午夜国产精品影院在线观看| 成熟亚洲日本毛茸茸凸凹| 欧美裸体bbwbbwbbw| 欧美激情综合网| 日本最新不卡在线| 99国内精品久久| 精品国产伦一区二区三区观看体验 | 久久成人18免费观看| 久久精品国产精品亚洲精品| 精品一区免费av| 成人精品高清在线| 色诱视频网站一区| 精品久久久久久久久久久久久久久久久 | 在线看国产一区| 精品少妇一区二区三区日产乱码 | 午夜精品久久久久影视| 懂色av一区二区三区免费看| 色欧美片视频在线观看在线视频| 欧美一区二区国产| 一区二区三区鲁丝不卡| 精品一区在线看| 欧美日韩国产中文| 国产欧美日韩综合| 韩国午夜理伦三级不卡影院| 色哟哟一区二区在线观看| 久久久久久久综合色一本| 亚洲黄色av一区| 99精品视频在线免费观看| 日韩视频一区在线观看| 亚洲美女少妇撒尿| 国产在线精品一区二区| 欧美精品1区2区3区| 一区二区中文视频| 国内精品伊人久久久久av一坑 | 麻豆成人综合网| 色婷婷av一区二区三区大白胸 | 成人午夜激情在线| 欧美一二三区精品| 亚洲图片欧美色图| 欧美午夜一区二区| 亚洲六月丁香色婷婷综合久久| 国产精品系列在线观看| 久久久精品tv| 韩日欧美一区二区三区|