Changeset 1144:a17ed9fd2af0 in roaraudio for roard/codecfilter.c
- Timestamp:
- 01/21/09 22:56:24 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
roard/codecfilter.c
r1065 r1144 26 26 27 27 struct roar_codecfilter g_codecfilter[] = { 28 {-1, "null", "null codec filter", NULL, ROAR_CODECFILTER_NONE, NULL, NULL, NULL, NULL, NULL, NULL}, 28 {-1, "null", "null codec filter", NULL, ROAR_CODECFILTER_NONE, 29 NULL, NULL, NULL, NULL, NULL, NULL, NULL}, 29 30 30 31 /* … … 35 36 */ 36 37 {ROAR_CODEC_RIFF_WAVE, "RIFF/WAVE", "RIFF/WAVE", NULL, ROAR_CODECFILTER_READ|ROAR_CODECFILTER_WRITE, 37 cf_wave_open, cf_wave_close, NULL, cf_wave_write, cf_wave_read, NULL },38 cf_wave_open, cf_wave_close, NULL, cf_wave_write, cf_wave_read, NULL, NULL}, 38 39 //#endif 39 40 … … 51 52 NULL, 52 53 #endif 53 cf_alaw_read, NULL },54 cf_alaw_read, NULL, cf_alaw_delay}, 54 55 #endif 55 56 … … 67 68 NULL, 68 69 #endif 69 cf_mulaw_read, NULL },70 cf_mulaw_read, NULL, cf_alaw_delay}, 70 71 #endif 71 72 … … 73 74 {ROAR_CODEC_OGG_GENERAL, "cmd", "ogg123", 74 75 ROAR_HAVE_BIN_OGG123 " -q -d raw -f - -", ROAR_CODECFILTER_READ, 75 cf_cmd_open, NULL, NULL, NULL, NULL, NULL },76 cf_cmd_open, NULL, NULL, NULL, NULL, NULL, codecfilter_delay_fulldyn}, 76 77 #endif 77 78 … … 83 84 ROAR_CODECFILTER_READ, 84 85 #endif 85 cf_vorbis_open, cf_vorbis_close, NULL, cf_vorbis_write, cf_vorbis_read, NULL },86 cf_vorbis_open, cf_vorbis_close, NULL, cf_vorbis_write, cf_vorbis_read, NULL, codecfilter_delay_fulldyn}, 86 87 #else 87 88 #ifdef ROAR_HAVE_BIN_OGG123 88 89 {ROAR_CODEC_OGG_VORBIS, "cmd", "ogg123", 89 90 ROAR_HAVE_BIN_OGG123 " -q -d raw -f - -", ROAR_CODECFILTER_READ, 90 cf_cmd_open, NULL, NULL, NULL, NULL, NULL },91 cf_cmd_open, NULL, NULL, NULL, NULL, NULL, codecfilter_delay_fulldyn}, 91 92 #endif 92 93 #endif … … 95 96 {ROAR_CODEC_OGG_SPEEX, "fishsound", "libfishsound Xiph Codec library", 96 97 NULL, ROAR_CODECFILTER_READ, 97 cf_fishsound_open, cf_fishsound_close, NULL, NULL, cf_fishsound_read, NULL },98 cf_fishsound_open, cf_fishsound_close, NULL, NULL, cf_fishsound_read, NULL, codecfilter_delay_fulldyn}, 98 99 99 100 {ROAR_CODEC_OGG_FLAC, "fishsound", "libfishsound Xiph Codec library", 100 101 NULL, ROAR_CODECFILTER_READ, 101 cf_fishsound_open, cf_fishsound_close, NULL, NULL, cf_fishsound_read, NULL },102 cf_fishsound_open, cf_fishsound_close, NULL, NULL, cf_fishsound_read, NULL, codecfilter_delay_fulldyn}, 102 103 #endif 103 104 … … 105 106 {ROAR_CODEC_MIDI_FILE, "MIDIFILE", "timidity MIDI synth", 106 107 ROAR_HAVE_BIN_TIMIDITY " -Or1sl -s %R -o - -", ROAR_CODECFILTER_READ, 107 cf_cmd_open, NULL, NULL, NULL, NULL, NULL },108 cf_cmd_open, NULL, NULL, NULL, NULL, NULL, codecfilter_delay_fulldyn}, 108 109 #endif 109 110 110 111 #ifdef ROAR_HAVE_LIBCELT 111 112 {ROAR_CODEC_ROAR_CELT, "RoarCELT", "RoarAudio CELT", NULL, ROAR_CODECFILTER_READ|ROAR_CODECFILTER_WRITE, 112 cf_celt_open, cf_celt_close, NULL, cf_celt_write, cf_celt_read, NULL },113 cf_celt_open, cf_celt_close, NULL, cf_celt_write, cf_celt_read, NULL, cf_celt_delay}, 113 114 #endif 114 115 115 116 #ifdef ROAR_HAVE_LIBSPEEX 116 117 {ROAR_CODEC_ROAR_SPEEX, "RoarSpeex", "RoarAudio Speex", NULL, ROAR_CODECFILTER_READ|ROAR_CODECFILTER_WRITE, 117 cf_speex_open, cf_speex_close, NULL, cf_speex_write, cf_speex_read, NULL },118 cf_speex_open, cf_speex_close, NULL, cf_speex_write, cf_speex_read, NULL, NULL}, 118 119 #endif 119 120 … … 128 129 #endif 129 130 ROAR_CODECFILTER_READ, 130 cf_cmd_open, NULL, NULL, NULL, NULL, NULL },131 #endif 132 133 {-1, NULL, NULL, NULL, ROAR_CODECFILTER_NONE, NULL, NULL, NULL, NULL, NULL, NULL } // end of list131 cf_cmd_open, NULL, NULL, NULL, NULL, NULL, codecfilter_delay_fulldyn}, 132 #endif 133 134 {-1, NULL, NULL, NULL, ROAR_CODECFILTER_NONE, NULL, NULL, NULL, NULL, NULL, NULL, NULL} // end of list 134 135 }; 135 136 … … 138 139 int flags; 139 140 char mode[5]; 140 141 printf(" Codec Filtername Mode - Description\n"); 141 char delay[6]; 142 uint_least32_t d; 143 144 printf(" Codec Filtername Mode Delay - Description\n"); 142 145 printf("------------------------------------------------------\n"); 143 146 … … 154 157 mode[1] = 'w'; 155 158 } 159 160 *delay = 0; 161 if ( g_codecfilter[i].codec == -1 ) { // null codec filter 162 strcpy(delay, "0ms"); 163 } else if ( g_codecfilter[i].delay == NULL ) { 164 strcpy(delay, "?"); 165 } else { 166 if ( codecfilter_delay(NULL, i, &d) == -1 ) { 167 strcpy(delay, "dyn"); 168 } else { 169 snprintf(delay, 5, "%ims", d/1000); 170 } 171 } 156 172 157 printf(" %-12s %-12s %-4s - %s\n",173 printf(" %-12s %-12s %-4s %-5s - %s\n", 158 174 roar_codec2str(g_codecfilter[i].codec), 159 175 g_codecfilter[i].name, 160 176 mode, 177 delay, 161 178 g_codecfilter[i].desc 162 179 ); … … 253 270 } 254 271 272 int codecfilter_delay(CODECFILTER_USERDATA_T inst, int codecfilter, uint_least32_t * delay) { 273 ROAR_DBG("codecfilter_delay(inst=%p, codecfilter=%i, *delay=?) = ?", inst, codecfilter); 274 275 if ( codecfilter == -1 ) 276 return -1; 277 278 if ( g_codecfilter[codecfilter].delay ) 279 return g_codecfilter[codecfilter].delay(inst, delay); 280 281 return -1; 282 } 283 284 int codecfilter_delay_fulldyn(CODECFILTER_USERDATA_T inst, uint_least32_t * delay) { 285 *delay = 0; // just to be sure 286 return -1; 287 } 288 255 289 //ll
Note: See TracChangeset
for help on using the changeset viewer.