summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec_jpeg.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_jpeg.c
parent8a273a746061a112e5e35066a8fd8e146d821a62 (diff)
downloadffmpeg-199fb40278146c5bb162990c66ad3cd561abc780.tar.gz
rtpdec: Use ffio_free_dyn_buf
Signed-off-by: Martin Storsjö <martin@martin.st>
Diffstat (limited to 'libavformat/rtpdec_jpeg.c')
-rw-r--r--libavformat/rtpdec_jpeg.c17
1 files changed, 4 insertions, 13 deletions
diff --git a/libavformat/rtpdec_jpeg.c b/libavformat/rtpdec_jpeg.c
index 0bc9eea13c..d2ca6ab007 100644
--- a/libavformat/rtpdec_jpeg.c
+++ b/libavformat/rtpdec_jpeg.c
@@ -20,6 +20,7 @@
*/
#include "avformat.h"
+#include "avio_internal.h"
#include "rtpdec.h"
#include "rtpdec_formats.h"
#include "libavutil/intreadwrite.h"
@@ -59,19 +60,9 @@ static const uint8_t default_quantizers[128] = {
99, 99, 99, 99, 99, 99, 99, 99
};
-static void free_frame(PayloadContext *jpeg)
-{
- if (jpeg->frame) {
- uint8_t *p;
- avio_close_dyn_buf(jpeg->frame, &p);
- av_free(p);
- jpeg->frame = NULL;
- }
-}
-
static void jpeg_free_context(PayloadContext *jpeg)
{
- free_frame(jpeg);
+ ffio_free_dyn_buf(&jpeg->frame);
}
static int jpeg_create_huffman_table(PutByteContext *p, int table_class,
@@ -315,7 +306,7 @@ static int jpeg_parse_packet(AVFormatContext *ctx, PayloadContext *jpeg,
/* Skip the current frame in case of the end packet
* has been lost somewhere. */
- free_frame(jpeg);
+ ffio_free_dyn_buf(&jpeg->frame);
if ((ret = avio_open_dyn_buf(&jpeg->frame)) < 0)
return ret;
@@ -341,7 +332,7 @@ static int jpeg_parse_packet(AVFormatContext *ctx, PayloadContext *jpeg,
if (jpeg->timestamp != *timestamp) {
/* Skip the current frame if timestamp is incorrect.
* A start packet has been lost somewhere. */
- free_frame(jpeg);
+ ffio_free_dyn_buf(&jpeg->frame);
av_log(ctx, AV_LOG_ERROR, "RTP timestamps don't match.\n");
return AVERROR_INVALIDDATA;
}