[mediaplayer] fix memory leak
This CL fixes a memory leak in mediaplayer caused by an incorrect
deleter for ffmpeg AVPacket structures.
TEST: tested using mediaplayer_test_util and ps
MTWN-166 #done
Change-Id: I978956d2529d2bacc14b1b9d897550769cafabae
diff --git a/bin/mediaplayer/ffmpeg/av_packet.h b/bin/mediaplayer/ffmpeg/av_packet.h
index 71d1bd5..8a93f14 100644
--- a/bin/mediaplayer/ffmpeg/av_packet.h
+++ b/bin/mediaplayer/ffmpeg/av_packet.h
@@ -14,16 +14,16 @@
namespace ffmpeg {
struct AVPacketDeleter {
- inline void operator()(AVPacket* ptr) const { av_packet_unref(ptr); }
+ inline void operator()(AVPacket* ptr) const {
+ av_packet_free(&ptr);
+ }
};
using AvPacketPtr = std::unique_ptr<AVPacket, AVPacketDeleter>;
struct AvPacket {
static AvPacketPtr Create() {
- AVPacket* av_packet = new AVPacket();
- av_init_packet(av_packet);
- return AvPacketPtr(av_packet);
+ return AvPacketPtr(av_packet_alloc());
}
};