summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec_xiph.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-02-25 00:40:58 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-02-25 00:42:14 +0100
commit7d9b06eb179fb0d032c530d21182dce3fe0a7671 (patch)
tree7be8a4aaa2ed84b83b868f4f636c3a27dfe7b98c /libavformat/rtpdec_xiph.c
parent6e9bbaca6c6739e6524809d3e786ce1e10ad518b (diff)
parent199fb40278146c5bb162990c66ad3cd561abc780 (diff)
downloadffmpeg-7d9b06eb179fb0d032c530d21182dce3fe0a7671.tar.gz
Merge commit '199fb40278146c5bb162990c66ad3cd561abc780'
* commit '199fb40278146c5bb162990c66ad3cd561abc780': rtpdec: Use ffio_free_dyn_buf Conflicts: libavformat/rtpdec_latm.c libavformat/rtpdec_svq3.c libavformat/rtpdec_xiph.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/rtpdec_xiph.c')
-rw-r--r--libavformat/rtpdec_xiph.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/libavformat/rtpdec_xiph.c b/libavformat/rtpdec_xiph.c
index 535cbff549..abdbcf4a86 100644
--- a/libavformat/rtpdec_xiph.c
+++ b/libavformat/rtpdec_xiph.c
@@ -33,6 +33,7 @@
#include "libavutil/base64.h"
#include "libavcodec/bytestream.h"
+#include "avio_internal.h"
#include "internal.h"
#include "rtpdec.h"
#include "rtpdec_formats.h"
@@ -49,19 +50,9 @@ struct PayloadContext {
int split_pkts;
};
-static void free_fragment(PayloadContext * data)
-{
- if (data->fragment) {
- uint8_t* p;
- avio_close_dyn_buf(data->fragment, &p);
- av_free(p);
- data->fragment = NULL;
- }
-}
-
static void xiph_free_context(PayloadContext * data)
{
- free_fragment(data);
+ ffio_free_dyn_buf(&data->fragment);
av_freep(&data->split_buf);
}
@@ -168,7 +159,7 @@ static int xiph_handle_packet(AVFormatContext *ctx, PayloadContext *data,
int res;
// end packet has been lost somewhere, so drop buffered data
- free_fragment(data);
+ ffio_free_dyn_buf(&data->fragment);
if((res = avio_open_dyn_buf(&data->fragment)) < 0)
return res;
@@ -181,7 +172,7 @@ static int xiph_handle_packet(AVFormatContext *ctx, PayloadContext *data,
if (data->timestamp != *timestamp) {
// skip if fragmented timestamp is incorrect;
// a start packet has been lost somewhere
- free_fragment(data);
+ ffio_free_dyn_buf(&data->fragment);
av_log(ctx, AV_LOG_ERROR, "RTP timestamps don't match!\n");
return AVERROR_INVALIDDATA;
}