Home | History | Annotate | Download | only in src

Lines Matching refs:rp

42 OpusRepacketizer *opus_repacketizer_init(OpusRepacketizer *rp)
44 rp->nb_frames = 0;
45 return rp;
50 OpusRepacketizer *rp;
51 rp=(OpusRepacketizer *)opus_alloc(opus_repacketizer_get_size());
52 if(rp==NULL)return NULL;
53 return opus_repacketizer_init(rp);
56 void opus_repacketizer_destroy(OpusRepacketizer *rp)
58 opus_free(rp);
61 static int opus_repacketizer_cat_impl(OpusRepacketizer *rp, const unsigned char *data, opus_int32 len, int self_delimited)
67 if (rp->nb_frames == 0)
69 rp->toc = data[0];
70 rp->framesize = opus_packet_get_samples_per_frame(data, 8000);
71 } else if ((rp->toc&0xFC) != (data[0]&0xFC))
73 /*fprintf(stderr, "toc mismatch: 0x%x vs 0x%x\n", rp->toc, data[0]);*/
80 if ((curr_nb_frames+rp->nb_frames)*rp->framesize > 960)
85 ret=opus_packet_parse_impl(data, len, self_delimited, &tmp_toc, &rp->frames[rp->nb_frames], &rp->len[rp->nb_frames], NULL, NULL);
88 rp->nb_frames += curr_nb_frames;
92 int opus_repacketizer_cat(OpusRepacketizer *rp, const unsigned char *data, opus_int32 len)
94 return opus_repacketizer_cat_impl(rp, data, len, 0);
97 int opus_repacketizer_get_nb_frames(OpusRepacketizer *rp)
99 return rp->nb_frames;
102 opus_int32 opus_repacketizer_out_range_impl(OpusRepacketizer *rp, int begin, int end,
111 if (begin<0 || begin>=end || end>rp->nb_frames)
113 /*fprintf(stderr, "%d %d %d\n", begin, end, rp->nb_frames);*/
118 len = rp->len+begin;
119 frames = rp->frames+begin;
132 *ptr++ = rp->toc&0xFC;
141 *ptr++ = (rp->toc&0xFC) | 0x1;
147 *ptr++ = (rp->toc&0xFC) | 0x2;
181 *ptr++ = (rp->toc&0xFC) | 0x3;
187 *ptr++ = (rp->toc&0xFC) | 0x3;
228 opus_int32 opus_repacketizer_out_range(OpusRepacketizer *rp, int begin, int end, unsigned char *data, opus_int32 maxlen)
230 return opus_repacketizer_out_range_impl(rp, begin, end, data, maxlen, 0, 0);
233 opus_int32 opus_repacketizer_out(OpusRepacketizer *rp, unsigned char *data, opus_int32 maxlen)
235 return opus_repacketizer_out_range_impl(rp, 0, rp->nb_frames, data, maxlen, 0, 0);
240 OpusRepacketizer rp;
248 opus_repacketizer_init(&rp);
251 opus_repacketizer_cat(&rp, data+new_len-len, len);
252 ret = opus_repacketizer_out_range_impl(&rp, 0, rp.nb_frames, data, new_len, 0, 1);
261 OpusRepacketizer rp;
265 opus_repacketizer_init(&rp);
266 ret = opus_repacketizer_cat(&rp, data, len);
269 ret = opus_repacketizer_out_range_impl(&rp, 0, rp.nb_frames, data, len, 0, 0);
311 OpusRepacketizer rp;
326 opus_repacketizer_init(&rp);
331 ret = opus_repacketizer_cat_impl(&rp, data, packet_offset, self_delimited);
334 ret = opus_repacketizer_out_range_impl(&rp, 0, rp.nb_frames, dst, len, self_delimited, 0);