안녕하세요.
현재 WPF 기반으로 VMS 서버와 클라이언트를 개발하고 있습니다.
VMS는 Video Management System으로 아마 이 질문을 보고 들어오신 분은 어떤 프로그램인지 다 아실 겁니다.
대략 이런 프로그램이라고 보시면 됩니다.(iSpy란 프로그램 예시)
현재 저희가 개발한 기반은 Gst Sharp이라는 소스를 이용해서 구현하였고, gstreamer-d3d11-overlay 라는 소스를 기반으로 rstp영상 view를 구현하였습니다.
문제는 현재 이 테스트 프로그램에서 많은 영상을 시현하게 되면, 혹은 영상을 켜고 끄는 작업을 하게 되면, Access Violation 이란 예외가 나오면서 프로그램이 죽는 현상이 있습니다. 이런 문제를 해결하기 위해서 어떤 조치를 취해야되는지 알 수 있을 까요?
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.869: Source ID 5783 was not found when attempting to remove it
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.869: Source ID 5786 was not found when attempting to remove it
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.869: Source ID 5785 was not found when attempting to remove it
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.869: Source ID 5788 was not found when attempting to remove it
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.869: Source ID 5787 was not found when attempting to remove it
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.869: Source ID 5790 was not found when attempting to remove it
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.869: Source ID 5789 was not found when attempting to remove it
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.869: Source ID 5792 was not found when attempting to remove it
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.869: Source ID 5791 was not found when attempting to remove it
(VMS.Test.Client.exe:1732): GLib-CRITICAL **: 14:34:23.870: Source ID 5793 was not found when attempting to remove it
'[스레드 소멸됨]' (14064) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (8800) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (3344) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (13556) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (13604) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (15384) 스레드가 종료되었습니다(코드: 0 (0x0)).
(VMS.Test.Client.exe:1732): GStreamer-CRITICAL **: 14:34:26.080: gst_mini_object_unref: assertion 'GST_MINI_OBJECT_REFCOUNT_VALUE (mini_object) > 0' failed
'[스레드 소멸됨]' (14048) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (21696) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (4604) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (26148) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (24232) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (1364) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (24992) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (4644) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (16856) 스레드가 종료되었습니다(코드: 0 (0x0)).
'[스레드 소멸됨]' (17284) 스레드가 종료되었습니다(코드: 0 (0x0)).
(VMS.Test.Client.exe:1732): GStreamer-CRITICAL **: 14:34:27.371: gst_caps_is_empty: assertion 'GST_IS_CAPS (caps)' failed
(VMS.Test.Client.exe:1732): GStreamer-CRITICAL **: 14:34:27.371: gst_caps_is_any: assertion 'GST_IS_CAPS (caps)' failed
(VMS.Test.Client.exe:1732): GStreamer-CRITICAL **: 14:34:27.371: gst_caps_is_fixed: assertion 'GST_IS_CAPS (caps)' failed
'[1732] VMS.Test.Client.exe' 프로그램이 종료되었습니다(코드: 3221225477 (0xc0000005) 'Access violation').
이런 내용을 내뱉으면서 죽네요…
혹시 관련 프로젝트에 대해서 경험이 있으시면 조언 부탁드립니다.
감사합니다.