Changeset 2191:2fa43472c538 in roaraudio
- Timestamp:
- 07/26/09 22:33:32 (15 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libroardsp/transcode_celt.c
r2188 r2191 28 28 29 29 int roar_xcoder_celt_init (struct roar_xcoder * state) { 30 return -1; 30 struct roar_xcoder_celt * self = malloc(sizeof(struct roar_xcoder_celt)); 31 struct roar_audio_info * info = &(state->info.pcm); 32 33 if ( self == NULL ) 34 return -1; 35 36 // curruntly only 16 bit mode is supported 37 if ( info->bits != 16 ) { 38 free(self); 39 return -1; 40 } 41 42 memset(self, 0, sizeof(struct roar_xcoder_celt)); 43 44 state->inst = self; 45 46 self->frame_size = 256; 47 48 self->mode = celt_mode_create(info->rate, info->channels, self->frame_size, NULL); 49 50 if ( self->mode == NULL ) { 51 free(self); 52 return -1; 53 } 54 55 if (state->encode) { 56 self->encoder = celt_encoder_create(self->mode); 57 if ( self->encoder == NULL ) { 58 roar_xcoder_celt_uninit(state); 59 return -1; 60 } 61 } else { 62 self->decoder = celt_decoder_create(self->mode); 63 if ( self->decoder == NULL ) { 64 roar_xcoder_celt_uninit(state); 65 return -1; 66 } 67 } 68 69 return 0; 31 70 } 32 71 33 72 int roar_xcoder_celt_uninit (struct roar_xcoder * state) { 73 struct roar_xcoder_celt * self = state->inst; 74 75 if ( self->encoder ) 76 celt_encoder_destroy(self->encoder); 77 78 if ( self->decoder ) 79 celt_decoder_destroy(self->decoder); 80 81 if ( self->mode ) 82 celt_mode_destroy(self->mode); 83 84 free(self); 85 34 86 return -1; 35 87 } 36 88 37 89 int roar_xcoder_celt_packet_size(struct roar_xcoder * state, int samples) { 38 return -1; 90 struct roar_xcoder_celt * self = state->inst; 91 92 return self->frame_size; 39 93 } 40 94 41 95 int roar_xcoder_celt_encode (struct roar_xcoder * state, void * buf, size_t len) { 96 struct roar_xcoder_celt * self = state->inst; 97 98 if (!state->encode) 99 return -1; 100 42 101 return -1; 43 102 } 44 103 45 104 int roar_xcoder_celt_decode (struct roar_xcoder * state, void * buf, size_t len) { 105 struct roar_xcoder_celt * self = state->inst; 106 107 if (state->encode) 108 return -1; 109 46 110 return -1; 47 111 }
Note: See TracChangeset
for help on using the changeset viewer.