intel / gstreamer-media-SDK

GNU Lesser General Public License v2.1
90 stars 53 forks source link

Fixed definitely memory leak detected by valgrind on gst-msdk #44

Closed SiewHoon closed 7 years ago

SiewHoon commented 7 years ago

execute command: valgrind --tool=memcheck --leak-check=full --log-file=output.log gst-play-1.0 --playlist videoplaylist.m3u

1. ==1236== 72 bytes in 1 blocks are definitely lost in loss record 4,528 of 6,301 ==1236== at 0x4C2AC55: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==1236== by 0xC7C9A82: ??? (in /usr/lib/libwayland-client.so.0.3.0) ==1236== by 0xC7C9F44: wl_proxy_marshal_array_constructor_versioned (in /usr/lib/libwayland-client.so.0.3.0) ==1236== by 0xC7CA269: wl_proxy_marshal_constructor (in /usr/lib/libwayland-client.so.0.3.0) ==1236== by 0xB7D1B70: wl_drm_create_prime_buffer (wayland-drm-client-protocol.h:225) ==1236== by 0xB7D215C: gst_mfx_window_wayland_render (gstmfxwindow_wayland.c:234) ==1236== by 0xB7CC58A: gst_mfx_window_put_surface (gstmfxwindow.c:456) ==1236== by 0xB7B71AC: gst_mfxsink_render_surface (gstmfxsink.c:110) ==1236== by 0xB7B999F: gst_mfxsink_show_frame (gstmfxsink.c:1044) ==1236== by 0x6DC12B1: ??? (in /usr/lib/libgstbase-1.0.so.0.803.0) ==1236== by 0x6DC26FF: ??? (in /usr/lib/libgstbase-1.0.so.0.803.0) ==1236== by 0x57F4237: ??? (in /usr/lib/libgstreamer-1.0.so.0.803.0)

2. ==1236== 120 (88 direct, 32 indirect) bytes in 1 blocks are definitely lost in loss record 5,504 of 6,301 ==1236== at 0x5AE4A63: g_type_create_instance (in /usr/lib/libgobject-2.0.so.0.4400.1) ==1236== by 0x5ACD2E6: g_param_spec_internal (in /usr/lib/libgobject-2.0.so.0.4400.1) ==1236== by 0x5AD07C8: g_param_spec_boolean (in /usr/lib/libgobject-2.0.so.0.4400.1) ==1236== by 0xB7C1913: gst_mfx_sink_bin_class_init (gstmfxsinkbin.c:280) ==1236== by 0xB7C1132: gst_mfx_sink_bin_class_intern_init (gstmfxsinkbin.c:95) ==1236== by 0x5AE189C: g_type_class_ref (in /usr/lib/libgobject-2.0.so.0.4400.1) ==1236== by 0x5AC8FCC: g_object_newv (in /usr/lib/libgobject-2.0.so.0.4400.1) ==1236== by 0x57E0464: gst_element_factory_create (in /usr/lib/libgstreamer-1.0.so.0.803.0) ==1236== by 0x8039D83: ??? (in /usr/lib/gstreamer-1.0/libgstplayback.so) ==1236== by 0x7611F9F: ffi_call_unix64 (in /usr/lib/libffi.so.6.0.4) ==1236== by 0x7611A0A: ffi_call (in /usr/lib/libffi.so.6.0.4) ==1236== by 0x5AC29E8: g_cclosure_marshal_generic (in /usr/lib/libgobject-2.0.so.0.4400.1)

3. ==1236== 216 bytes in 3 blocks are definitely lost in loss record 5,942 of 6,301 ==1236== at 0x4C2AC55: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so) ==1236== by 0xC7C9A82: ??? (in /usr/lib/libwayland-client.so.0.3.0) ==1236== by 0xC7C9F44: wl_proxy_marshal_array_constructor_versioned (in /usr/lib/libwayland-client.so.0.3.0) ==1236== by 0xC7CA269: wl_proxy_marshal_constructor (in /usr/lib/libwayland-client.so.0.3.0) ==1236== by 0xB7D1A34: wl_surface_frame (wayland-client-protocol.h:1873) ==1236== by 0xB7D22D3: gst_mfx_window_wayland_render (gstmfxwindow_wayland.c:260) ==1236== by 0xB7CC58A: gst_mfx_window_put_surface (gstmfxwindow.c:456) ==1236== by 0xB7B71AC: gst_mfxsink_render_surface (gstmfxsink.c:110) ==1236== by 0xB7B999F: gst_mfxsink_show_frame (gstmfxsink.c:1044) ==1236== by 0x6DC12B1: ??? (in /usr/lib/libgstbase-1.0.so.0.803.0) ==1236== by 0x6DC26FF: ??? (in /usr/lib/libgstbase-1.0.so.0.803.0) ==1236== by 0x57F4237: ??? (in /usr/lib/libgstreamer-1.0.so.0.803.0)