00001 #include <stdio.h>
00002 #include <stdlib.h>
00003
00004 #include "lpc10.h"
00005 #include "c_lpc10.h"
00006 #include "sr_lpc10.h"
00007
00008
00009
00010 BOOL g_used_c_dgram = FALSE;
00011 BYTE g_dgram[7];
00012
00013
00014
00015 CLPC10_DGRAM *clpc10_dgram_construct( VOID )
00016 {
00017 if (g_used_c_dgram) {
00018 fprintf(stderr,"\nPor ahora no soporto mas de una estructura CLPC10_DGRAM!\7\n");
00019 exit(1);
00020 }
00021
00022 g_used_c_dgram = TRUE;
00023
00024 clpc10_dgram_reset((CLPC10_DGRAM*)1);
00025 return (CLPC10_DGRAM*)1;
00026 }
00027
00028
00029
00030 VOID clpc10_dgram_destruct( CLPC10_DGRAM *c )
00031 {
00032 (void)c;
00033 g_used_c_dgram = FALSE;
00034 }
00035
00036
00037
00038 VOID clpc10_dgram_reset( CLPC10_DGRAM *c )
00039 {
00040 (void)c;
00041 coder_ini();
00042 send_dgram_ini();
00043 }
00044
00045
00046
00047 LPC10_dgram_data *clpc10_dgram_code( CLPC10_DGRAM *c, FLOAT speech[LPC10_LFRAME] )
00048 {
00049 (void)c;
00050
00051 shift();
00052
00053 framein(speech);
00054
00055 analys();
00056
00057 send_dgram(CODED_VOICE, CODED_PITCH, CODED_RMS, CODED_RC, g_dgram);
00058
00059 return (LPC10_dgram_data*)g_dgram;
00060 }
00061
00062
00063
00064 LPC10_dgram_data *clpc10_dgram_code_i16( CLPC10_DGRAM *c, INT16 speech[LPC10_LFRAME] )
00065 {
00066 (void)c;
00067
00068 shift();
00069
00070 framein_i16(speech);
00071
00072 analys();
00073
00074 send_dgram(CODED_VOICE, CODED_PITCH, CODED_RMS, CODED_RC, g_dgram);
00075
00076 return (LPC10_dgram_data*)g_dgram;
00077 }
00078
00079