summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec_mpa_robust.c
diff options
context:
space:
mode:
authorMartin Storsjö <martin@martin.st>2015-02-24 13:37:03 +0200
committerMartin Storsjö <martin@martin.st>2015-02-24 23:07:44 +0200
commit199fb40278146c5bb162990c66ad3cd561abc780 (patch)
tree0411eef55863c799202a17254b8cc30e9601d28f /libavformat/rtpdec_mpa_robust.c
parent8a273a746061a112e5e35066a8fd8e146d821a62 (diff)
rtpdec: Use ffio_free_dyn_buf
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/rtpdec_mpa_robust.c')
-rw-r--r--libavformat/rtpdec_mpa_robust.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/libavformat/rtpdec_mpa_robust.c b/libavformat/rtpdec_mpa_robust.c
index 46e9f36e8d..36b4691112 100644
--- a/libavformat/rtpdec_mpa_robust.c
+++ b/libavformat/rtpdec_mpa_robust.c
@@ -22,6 +22,7 @@
#include "libavutil/attributes.h"
#include "libavutil/intreadwrite.h"
+#include "avio_internal.h"
#include "rtpdec_formats.h"
struct PayloadContext {
@@ -33,19 +34,9 @@ struct PayloadContext {
AVIOContext *fragment;
};
-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 mpa_robust_free_context(PayloadContext *data)
{
- free_fragment(data);
+ ffio_free_dyn_buf(&data->fragment);
av_free(data->split_buf);
}
@@ -154,7 +145,7 @@ static int mpa_robust_parse_packet(AVFormatContext *ctx, PayloadContext *data,
return 0;
} else if (!continuation) { /* && adu_size > len */
/* First fragment */
- free_fragment(data);
+ ffio_free_dyn_buf(&data->fragment);
data->adu_size = adu_size;
data->cur_size = len;
@@ -177,7 +168,7 @@ static int mpa_robust_parse_packet(AVFormatContext *ctx, PayloadContext *data,
}
if (adu_size = data->adu_size ||
data->timestamp != *timestamp) {
- free_fragment(data);
+ ffio_free_dyn_buf(&data->fragment);
av_log(ctx, AV_LOG_ERROR, "Invalid packet received\n");
return AVERROR_INVALIDDATA;
}