|
|
|
@ -1341,6 +1341,8 @@ static int __handler_func_sequencer(struct media_packet *mp, struct transcode_pa |
|
|
|
// got a new packet, run decoder |
|
|
|
|
|
|
|
while (1) { |
|
|
|
int func_ret = 0; |
|
|
|
|
|
|
|
packet = seq_next_packet(&ssrc_in_p->sequencer); |
|
|
|
if (G_UNLIKELY(!packet)) |
|
|
|
break; |
|
|
|
@ -1366,10 +1368,12 @@ static int __handler_func_sequencer(struct media_packet *mp, struct transcode_pa |
|
|
|
// we might be working with a different packet now |
|
|
|
mp->rtp = &packet->rtp; |
|
|
|
|
|
|
|
if (packet->func(ch, packet, mp)) |
|
|
|
ilog(LOG_WARN, "Decoder error while processing RTP packet"); |
|
|
|
func_ret = packet->func(ch, packet, mp); |
|
|
|
if (func_ret < 0) |
|
|
|
ilog(LOG_WARN | LOG_FLAG_LIMIT, "Decoder error while processing RTP packet"); |
|
|
|
next: |
|
|
|
__transcode_packet_free(packet); |
|
|
|
if (func_ret != 1) |
|
|
|
__transcode_packet_free(packet); |
|
|
|
} |
|
|
|
|
|
|
|
out: |
|
|
|
@ -2076,7 +2080,6 @@ static int packet_decoded_common(decoder_t *decoder, AVFrame *frame, void *u1, v |
|
|
|
|
|
|
|
discard: |
|
|
|
av_frame_free(&frame); |
|
|
|
//mp->iter_out++; |
|
|
|
obj_put(&new_ch->h); |
|
|
|
|
|
|
|
return 0; |
|
|
|
|