Hi guys, $subj
Josh
From daa6ecbe1e479e16a87debc67d700ef1b931bc18 Mon Sep 17 00:00:00 2001 From: Josh Allmann <[email protected]> Date: Mon, 19 Jul 2010 10:34:25 -0700 Subject: [PATCH] Avoid extra memcpy in Xiph RTP depacketizer. --- libavformat/rtpdec_xiph.c | 16 +++++----------- 1 files changed, 5 insertions(+), 11 deletions(-) diff --git a/libavformat/rtpdec_xiph.c b/libavformat/rtpdec_xiph.c index 9973efc..4c9cad2 100644 --- a/libavformat/rtpdec_xiph.c +++ b/libavformat/rtpdec_xiph.c @@ -178,24 +178,18 @@ static int xiph_handle_packet(AVFormatContext * ctx, if (fragmented == 3) { // end of xiph data packet - uint8_t* xiph_data; - int frame_size = url_close_dyn_buf(data->fragment, &xiph_data); + av_init_packet(pkt); + pkt->size = url_close_dyn_buf(data->fragment, &pkt->data); - if (frame_size < 0) { + if (pkt->size < 0) { av_log(ctx, AV_LOG_ERROR, "Error occurred when getting fragment buffer."); - return frame_size; + return pkt->size; } - if (av_new_packet(pkt, frame_size)) { - av_log(ctx, AV_LOG_ERROR, "Out of memory.\n"); - return AVERROR(ENOMEM); - } - - memcpy(pkt->data, xiph_data, frame_size); pkt->stream_index = st->index; + pkt->destruct = av_destruct_packet; - av_free(xiph_data); data->fragment = NULL; return 0; -- 1.7.0.4
_______________________________________________ FFmpeg-soc mailing list [email protected] https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-soc
