#include <stdio.h>
#include <stdlib.h>
//typedef int ssize_t;
#include <vlc/vlc.h>
int main(int argc, char* argv[])
{
libvlc_instance_t * inst;
libvlc_media_player_t *mp;
libvlc_media_t *m;
/* Load the VLC engine */
inst = libvlc_new(0, NULL);
/* Create a new item */
m = libvlc_media_new_location(inst, "rtsp://192.168.10.192:8554/test");
//m = libvlc_media_new_path (inst, "/path/to/test.mov");
/* Create a media player playing environement */
mp = libvlc_media_player_new_from_media(m);
/* No need to keep the media now */
libvlc_media_release(m);
#if 0
/* This is a non working code that show how to hooks into a window,
* if we have a window around */
libvlc_media_player_set_xwindow(mp, xid);
/* or on windows */
libvlc_media_player_set_hwnd(mp, hwnd);
/* or on mac os */
libvlc_media_player_set_nsobject(mp, view);
#endif
/* play the media_player */
libvlc_media_player_play(mp);
// sleep(10); /* Let it play a bit */
/* Stop playing */
// libvlc_media_player_stop(mp);
/* Free the media_player */
// libvlc_media_player_release(mp);
// libvlc_release(inst);
getchar();
return 0;
}
LabWindows 2015를 사용하고 있습니다.
위 소스를 실행하면
m = libvlc_media_new_location(inst, "rtsp://192.168.10.192:8554/test");
여기에서 멈추게 됩니다.
에러는
thread id 0x00003264: The program has caused a 'General Protection' fault at 0x5AB55348.
이라고 뜨는데 더이상 진행할 수 없습니다.
vlc 오픈소스를 통해 Visual Studio에서 동작하는걸 확인하고 그대로 따라했는데 안됩니다.
.c외에 첨부해놓은건 libvlc.lib / libvlccore.lib / libvlc.dll / libvlccore.dll / vlc.c 파일들 입니다.
(첨부한 파일은 오픈소스에서 가져왔습니다.)
혹시 더 추가해야할 사항이 있는지 모르겠습니다.