Lines Matching refs:rp
42 OpusRepacketizer *opus_repacketizer_init(OpusRepacketizer *rp) in opus_repacketizer_init() argument
44 rp->nb_frames = 0; in opus_repacketizer_init()
45 return rp; in opus_repacketizer_init()
50 OpusRepacketizer *rp; in opus_repacketizer_create() local
51 rp=(OpusRepacketizer *)opus_alloc(opus_repacketizer_get_size()); in opus_repacketizer_create()
52 if(rp==NULL)return NULL; in opus_repacketizer_create()
53 return opus_repacketizer_init(rp); in opus_repacketizer_create()
56 void opus_repacketizer_destroy(OpusRepacketizer *rp) in opus_repacketizer_destroy() argument
58 opus_free(rp); in opus_repacketizer_destroy()
61 static int opus_repacketizer_cat_impl(OpusRepacketizer *rp, const unsigned char *data, opus_int32 l… in opus_repacketizer_cat_impl() argument
67 if (rp->nb_frames == 0) in opus_repacketizer_cat_impl()
69 rp->toc = data[0]; in opus_repacketizer_cat_impl()
70 rp->framesize = opus_packet_get_samples_per_frame(data, 8000); in opus_repacketizer_cat_impl()
71 } else if ((rp->toc&0xFC) != (data[0]&0xFC)) in opus_repacketizer_cat_impl()
80 if ((curr_nb_frames+rp->nb_frames)*rp->framesize > 960) in opus_repacketizer_cat_impl()
85 …_packet_parse_impl(data, len, self_delimited, &tmp_toc, &rp->frames[rp->nb_frames], &rp->len[rp->n… in opus_repacketizer_cat_impl()
88 rp->nb_frames += curr_nb_frames; in opus_repacketizer_cat_impl()
92 int opus_repacketizer_cat(OpusRepacketizer *rp, const unsigned char *data, opus_int32 len) in opus_repacketizer_cat() argument
94 return opus_repacketizer_cat_impl(rp, data, len, 0); in opus_repacketizer_cat()
97 int opus_repacketizer_get_nb_frames(OpusRepacketizer *rp) in opus_repacketizer_get_nb_frames() argument
99 return rp->nb_frames; in opus_repacketizer_get_nb_frames()
102 opus_int32 opus_repacketizer_out_range_impl(OpusRepacketizer *rp, int begin, int end, in opus_repacketizer_out_range_impl() argument
111 if (begin<0 || begin>=end || end>rp->nb_frames) in opus_repacketizer_out_range_impl()
118 len = rp->len+begin; in opus_repacketizer_out_range_impl()
119 frames = rp->frames+begin; in opus_repacketizer_out_range_impl()
132 *ptr++ = rp->toc&0xFC; in opus_repacketizer_out_range_impl()
141 *ptr++ = (rp->toc&0xFC) | 0x1; in opus_repacketizer_out_range_impl()
147 *ptr++ = (rp->toc&0xFC) | 0x2; in opus_repacketizer_out_range_impl()
181 *ptr++ = (rp->toc&0xFC) | 0x3; in opus_repacketizer_out_range_impl()
187 *ptr++ = (rp->toc&0xFC) | 0x3; in opus_repacketizer_out_range_impl()
230 opus_int32 opus_repacketizer_out_range(OpusRepacketizer *rp, int begin, int end, unsigned char *dat… in opus_repacketizer_out_range() argument
232 return opus_repacketizer_out_range_impl(rp, begin, end, data, maxlen, 0, 0); in opus_repacketizer_out_range()
235 opus_int32 opus_repacketizer_out(OpusRepacketizer *rp, unsigned char *data, opus_int32 maxlen) in opus_repacketizer_out() argument
237 return opus_repacketizer_out_range_impl(rp, 0, rp->nb_frames, data, maxlen, 0, 0); in opus_repacketizer_out()
242 OpusRepacketizer rp; in opus_packet_pad() local
250 opus_repacketizer_init(&rp); in opus_packet_pad()
253 ret = opus_repacketizer_cat(&rp, data+new_len-len, len); in opus_packet_pad()
256 ret = opus_repacketizer_out_range_impl(&rp, 0, rp.nb_frames, data, new_len, 0, 1); in opus_packet_pad()
265 OpusRepacketizer rp; in opus_packet_unpad() local
269 opus_repacketizer_init(&rp); in opus_packet_unpad()
270 ret = opus_repacketizer_cat(&rp, data, len); in opus_packet_unpad()
273 ret = opus_repacketizer_out_range_impl(&rp, 0, rp.nb_frames, data, len, 0, 0); in opus_packet_unpad()
315 OpusRepacketizer rp; in opus_multistream_packet_unpad() local
330 opus_repacketizer_init(&rp); in opus_multistream_packet_unpad()
335 ret = opus_repacketizer_cat_impl(&rp, data, packet_offset, self_delimited); in opus_multistream_packet_unpad()
338 ret = opus_repacketizer_out_range_impl(&rp, 0, rp.nb_frames, dst, len, self_delimited, 0); in opus_multistream_packet_unpad()