[mythtv] OSX backend beta test

David Abrahams dave at boost-consulting.com
Mon Jan 9 00:05:01 UTC 2006

Isaac Richards <ijr at case.edu> writes:

> On Saturday 07 January 2006 21:56, David Abrahams wrote:
>> Okay, I got it working, as far as I can tell; the patch against this
>> morning's source (Version 8516) is enclosed.
> Comments:
> - The amount of ifdefs you've added are not good.  Create new classes when the 
> code is significantly different, as it is in this case.

Sure, I'll be happy to refactor it; I just wanted to get something
working first, and I expected more code to be shared than actually is.

> - I assume that this should be compile-time optional, and it's not?

I don't know what you mean, exactly.  It might be very obvious to
everyone else what you mean by "this" and "compile-time optional," but
being new to MythTV culture I need a little more explanation.  Are you
saying that

   configure --disable-firewire 

should cause all of this new code not to be included?  I admit I
haven't yet considered whether configure is as fine-grained as

I had to learn a lot of new (to me) technologies to get as far as I
did, so it's no surprise that some things are less than perfect.  If
you're willing to patiently tell me what should be improved I'll be
happy to do it.

> - I'd prefer not to have more device-specific code in tv_rec than there 
> already is.

I suppose you're referring to the inclusion of the
AVCDeviceController* in that class?  If so, I understand; that class
is already looking pretty scary.  I actually started without it in
there, to avoid intruding.  Here's the problem: the Channel changer
and the Recorder must share the same device controller.  Otherwise,
the OS tells you that you're trying to open a device twice with
exclusive access and nothing gets recorded.  Where would you like to
see the shared data stored?  I could keep it in the Channel, but then
I'd need to expose some way to get the channel from the TVRec, which I
wasn't sure would be well received either -- and it would require a
downcast to get it from the ChannelBase to FirewireChannel, which ends
up making some assumptions about the operation of TVRec (e.g. that the
Channel is initialized first), which I didn't like much either.

Actually, from my limited perspective the independence of the Channel
and Recorder classes seems a bit conflicted, since at least in some
situations tuning and video streaming happen on the same device.  

Dave Abrahams
Boost Consulting

More information about the mythtv-dev mailing list