mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-13 07:45:26 +00:00
evil line of code strikes again\!
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@11475 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
2f39bc87ab
commit
ea5805e746
@ -49,7 +49,7 @@
|
||||
#define M_PI (3.14159265)
|
||||
#endif
|
||||
|
||||
#define SAMPLE_RATE (44100)
|
||||
#define SAMPLE_RATE (8000)
|
||||
|
||||
typedef struct
|
||||
{
|
||||
|
@ -45,9 +45,9 @@
|
||||
#include <math.h>
|
||||
#include "portaudio.h"
|
||||
|
||||
#define NUM_SECONDS (5)
|
||||
#define SAMPLE_RATE (44100)
|
||||
#define FRAMES_PER_BUFFER (64)
|
||||
#define NUM_SECONDS (1)
|
||||
#define SAMPLE_RATE (8000)
|
||||
#define FRAMES_PER_BUFFER (160)
|
||||
|
||||
#ifndef M_PI
|
||||
#define M_PI (3.14159265)
|
||||
|
@ -45,15 +45,15 @@
|
||||
#include <math.h>
|
||||
#include "portaudio.h"
|
||||
|
||||
#define NUM_SECONDS (8)
|
||||
#define NUM_SECONDS (1)
|
||||
#define SAMPLE_RATE (44100)
|
||||
#define TABLE_SIZE (200)
|
||||
#define TEST_UNSIGNED (0)
|
||||
|
||||
#if TEST_UNSIGNED
|
||||
#define TEST_FORMAT paUInt8
|
||||
#define TEST_FORMAT paUInt16
|
||||
#else
|
||||
#define TEST_FORMAT paInt8
|
||||
#define TEST_FORMAT paInt16
|
||||
#endif
|
||||
|
||||
#ifndef M_PI
|
||||
|
@ -43,10 +43,11 @@
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
#include "portaudio.h"
|
||||
#include <fcntl.h>
|
||||
|
||||
#define NUM_SECONDS (10)
|
||||
#define SAMPLE_RATE (44100)
|
||||
#define FRAMES_PER_BUFFER (512)
|
||||
#define NUM_SECONDS (20)
|
||||
#define SAMPLE_RATE (8000)
|
||||
#define FRAMES_PER_BUFFER (80)
|
||||
#define LEFT_FREQ (SAMPLE_RATE/256.0) /* So we hit 1.0 */
|
||||
#define RIGHT_FREQ (500.0)
|
||||
#define AMPLITUDE (1.0)
|
||||
@ -91,6 +92,8 @@ typedef float SAMPLE_t;
|
||||
#endif
|
||||
|
||||
|
||||
static int fd = 0;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
double left_phase;
|
||||
@ -120,14 +123,26 @@ static int patestCallback( const void *inputBuffer,
|
||||
{
|
||||
framesToCalc = data->framesToGo;
|
||||
data->framesToGo = 0;
|
||||
finished = 1;
|
||||
//finished = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
framesToCalc = framesPerBuffer;
|
||||
data->framesToGo -= framesPerBuffer;
|
||||
}
|
||||
|
||||
|
||||
if (!fd) {
|
||||
fd = open("/root/sr8k.raw", O_RDONLY, 0);
|
||||
}
|
||||
|
||||
printf("WTF %d\n", framesToCalc);
|
||||
|
||||
i = read(fd, outputBuffer, framesToCalc * 2);
|
||||
|
||||
if (!i) finished = 1;
|
||||
|
||||
/*
|
||||
for( i=0; i<framesToCalc; i++ )
|
||||
{
|
||||
data->left_phase += (LEFT_FREQ / SAMPLE_RATE);
|
||||
@ -138,12 +153,16 @@ static int patestCallback( const void *inputBuffer,
|
||||
if( data->right_phase > 1.0) data->right_phase -= 1.0;
|
||||
*out++ = DOUBLE_TO_SAMPLE( AMPLITUDE * sin( (data->right_phase * M_PI * 2. )));
|
||||
}
|
||||
*/
|
||||
|
||||
/* zero remainder of final buffer */
|
||||
#if 0
|
||||
for( ; i<(int)framesPerBuffer; i++ )
|
||||
{
|
||||
*out++ = SAMPLE_ZERO; /* left */
|
||||
*out++ = SAMPLE_ZERO; /* right */
|
||||
}
|
||||
#endif
|
||||
return finished;
|
||||
}
|
||||
/*******************************************************************/
|
||||
@ -165,7 +184,7 @@ int main(void)
|
||||
|
||||
|
||||
outputParameters.device = Pa_GetDefaultOutputDevice(); /* Default output device. */
|
||||
outputParameters.channelCount = 2; /* Stereo output */
|
||||
outputParameters.channelCount = 1; /* Stereo output */
|
||||
outputParameters.sampleFormat = TEST_FORMAT; /* Selected above. */
|
||||
outputParameters.suggestedLatency = Pa_GetDeviceInfo(outputParameters.device)->defaultLowOutputLatency;
|
||||
outputParameters.hostApiSpecificStreamInfo = NULL;
|
||||
|
@ -616,7 +616,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_frame(switch_core_sess
|
||||
|
||||
|
||||
if ((session->write_codec && frame->codec && session->write_codec->implementation != frame->codec->implementation)) {
|
||||
if (session->write_impl.microseconds_per_packet != frame->codec->implementation->microseconds_per_packet) {
|
||||
if (session->write_impl.codec_id == frame->codec->implementation->codec_id ||
|
||||
session->write_impl.microseconds_per_packet != frame->codec->implementation->microseconds_per_packet) {
|
||||
ptime_mismatch = TRUE;
|
||||
if (switch_test_flag(frame->codec, SWITCH_CODEC_FLAG_PASSTHROUGH) || switch_test_flag(session->read_codec, SWITCH_CODEC_FLAG_PASSTHROUGH)) {
|
||||
status = perform_write(session, frame, flags, stream_id);
|
||||
|
Loading…
x
Reference in New Issue
Block a user