VLC / libvlc свободной памяти

У меня есть некоторые проблемы с освобождением памяти, выделенной VLCs libvlc. (http://www.videolan.org/developers/vlc/doc/doxygen/html/index.html)

#include <stdio.h>
#include <stdlib.h>
#include <vlc/vlc.h>

int main(int argc, char* argv[])
{
libvlc_instance_t * inst;

inst = libvlc_new (0, NULL);

libvlc_release (inst);

return 0;
}

Составлено с: gcc -o tvlc tvlc.c -lvlc

Вальгринд говорит, что еще есть 32 не освобожденных байта. Но я не знаю другого способа освободить память, потребляемую vlc.

Моя вторая проблема с освобождением массива, который я передал в vlc-метод libvlc_media_new_path,

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <vlc/vlc.h>

int main(int argc, char* argv[])
{
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;

char *path = "/home/Musik/test.mp3";
char songpath[ strlen(path) +1 ];
memcpy(songpath, path, strlen(path) +1);

inst = libvlc_new (0, NULL);

m = libvlc_media_new_path (inst, songpath);

mp = libvlc_media_player_new_from_media (m);

libvlc_media_release (m);

libvlc_media_player_release (mp);

libvlc_release (inst);

free(songpath);

return 0;
}

Составлено с: gcc -o ttvlc ttvlc.c -lvlc

Как только я попытаюсь освободить указатель songpathпрограмма вылетает:

неверный указатель: 0x00007fff4dd76f90

Если я не освобожу память, она не рухнет. Кто-нибудь может подсказать, что не так?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]