[mythtv] MythTV 0.15 Port for FreeBSD

Matt Zimmerman mdz at debian.org
Tue Jun 1 02:45:50 EDT 2004


On Tue, Jun 01, 2004 at 12:36:48AM -0500, Stacey Son wrote:

> Matt Zimmerman wrote:
> >patch-channel.cpp, patch-fifowriter.cpp
> > Can you explain these?  Why doesn't it work on FreeBSD as-is?
> For channel.cpp I get a strange compile time error without the cast:
> 
>  channel.cpp: In function `int signalStrengthATSC_v4l2(int, int)':
>  channel.cpp:474: error: no matching function for call to 
> `clamp(__s32&, int,
>     int)'
>  *** Error code 1
> 
> I haven't really figured out the correct way to handle this but casting 
> it to an int seems to work. :) Note that FreeBSD is using g++ version 
> 3.3.3. 

It sounds like the template isn't being instantiated correctly.  I wonder
what's different about your setup (I'm using 3.3.3 on Debian and it compiles
fine).

After all, __s32 should be equivalent to int anyway.  What is it typedef'd
to on FreeBSD?

> For fifowriter.cpp, S_IREAD, S_IWRITE, S_IRGRP,  and so on are defined 
> in stat.h for FreeBSD.

Ah, ok.  I added sys/stat.h and sys/types.h to fifowriter.cpp in CVS, so
this should be considered merged.

> >patch-mainserver.cpp
> > hunk 1: should be the same for linux; commited without #ifdefs
> > hunk 2: statfs again; fixed in the same way as the others
> > hunks 3-4: why does this thread need such a huge stack?  maybe there is a
> >            better way to fix it
> > 
> >
> That is a very good question.   The answer might be in the QT code 
> somewhere.   BTW,  I don't know if these threads actually need 256K each 
> but I do know that the default stack size (64K) doesn't work.   With the 
> default stack size the thread stack gets blown when doing live TV.  If 
> you can think of a better solution I would like to know.

64K should be more than enough; can you get a trace at the point where it
blows up?  Maybe there is something big getting allocated on the stack that
should be moved to the heap.

-- 
 - mdz


More information about the mythtv-dev mailing list