Skip to content

EyeTV interface causes a crash when accessing libvlc (without main VLC GUI)

I am running Mac OS X 10.6 (64-bit). I have VLC 1.1.9.

I have built a simple app that uses libvlc to display video. Unfortunately, this app crashes due to the EyeTV interface in the VLC Mac GUI (modules/gui/macosx/eyetv.m).

A trivial example is being provided as an attachment. You'll need to edit crash.mm to point it to a video file on your machine (any will do).

The crash occurs because VLCEyeTVController::globalNotificationReceived is called while VLCIntf (ie. [[VLCMain sharedInstance] intf]) is not valid. This value is only used in this function to print some debug but the debugging function (msg_GenericVa) does an assert on the vlc_object_t *p_this and the app crashes. The VLCIntf value is used in other methods in that file but they don't seem to be getting called.

As a fix for me, I removed the debugging statement though I'm kind of surprised the class is instantiated at all since there's no VLC GUI running.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information