Changeset 2299:f5c12281eca5 in roaraudio
- Timestamp:
- 08/05/09 05:13:44 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/transcode_speex.c
r2298 r2299 102 102 103 103 int roar_xcoder_speex_encode (struct roar_xcoder * state, void * buf, size_t len) { 104 return -1; 104 struct roar_xcoder_speex * self = state->inst; 105 uint16_t tmp_net; 106 int pkg_len; 107 108 if (!state->encode) 109 return -1; 110 111 ROAR_DBG("roar_xcoder_speex_encode(*): Encoding..."); 112 113 if ( state->stage == ROAR_XCODER_STAGE_INITED ) { 114 if ( roar_vio_write(state->backend, ROAR_SPEEX_MAGIC, ROAR_SPEEX_MAGIC_LEN) != ROAR_SPEEX_MAGIC_LEN ) 115 return -1; 116 state->stage = ROAR_XCODER_STAGE_MAGIC; 117 ROAR_DBG("roar_xcoder_speex_encode(*): Wrote MAGIC"); 118 119 state->stage = ROAR_XCODER_STAGE_OPENING; 120 121 tmp_net = ROAR_HOST2NET16(self->mode); 122 if ( roar_vio_write(state->backend, &tmp_net, 2) != 2 ) 123 return -1; 124 125 state->stage = ROAR_XCODER_STAGE_OPENED; 126 } 127 128 speex_bits_reset(&(self->bits)); 129 130 speex_encode_int(self->xcoder, (spx_int16_t *) buf, &(self->bits)); 131 132 pkg_len = speex_bits_write(&(self->bits), self->cc, ROAR_SPEEX_MAX_CC); 133 134 tmp_net = ROAR_HOST2NET16(pkg_len); 135 136 if ( roar_vio_write(state->backend, &tmp_net, 2) != 2 ) 137 return -1; 138 139 if ( roar_vio_write(state->backend, self->cc, pkg_len) != pkg_len ) 140 return -1; 141 142 return 0; 105 143 } 106 144
Note: See TracChangeset
for help on using the changeset viewer.