[mythtv] Compile error in videoout_quartz.cpp on MacOS X

Eggert Thorlacius eggi-spam at menandmice.com
Wed Apr 27 14:45:10 UTC 2005


On 27.4.2005, at 13:37, Daniel Kristjansson wrote:

> On Wed, 2005-04-27 at 09:23 +0000, Eggert Thorlacius wrote:
>> Hello
>>
>> I am trying to compile MythTV on MacOS X for the first time after
>> Daniel committed the Xv-XvMC patch and I am having problems with
>> videoout_quartz.cpp.  It seemes that the data type CodecType is 
>> defined
>> both in libavcodec/avcodec.h and in QuickTime.h
> This is my fault, I added avcodec.h to videooutbase.h for the CodecID
> type. Is it difficult to put QuickTime.h into a namespace? Putting
> avcodec.h in a namespace requires changing many files.

Tried that and got mythtv to link, but as soon as I selected "Watch TV" 
it crashed with the following backtrace:

#0  0x908311ec in objc_msgSend ()
#1  0x96547a0c in numberForKey ()
#2  0x96546bcc in CGDisplayCurrentMode ()
#3  0xc91c2008 in VideoOutputQuartz::Init(int, int, float, int, int, 
int, int, int, int) ()
#4  0xc903f070 in NuppelVideoPlayer::InitVideo() ()
#5  0xc904b884 in NuppelVideoPlayer::StartPlaying() ()
#6  0xc90ca830 in SpawnDecode(void*) ()
#7  0x90024910 in _pthread_body ()

Maybe I'm on the wrong track but my guess is that 
CGDisplayCurrentMode() was calling a QuickTime function whose name got 
mangled because of the namespace.

I can look into this if you like (now that I know that this isn't just 
a setup problem on my end). I'll see if I can split videoout_quartz 
into two files, and have different #includes in each.  If I can get it 
to link that way and still get a crash, then we can add a namespace and 
start looking elsewhere for the cause of the crash :-)

Eggert



More information about the mythtv-dev mailing list