[mythtv-commits] Ticket #7519: Mac OS X 10.6.1 compile missing symbols related to mysql

MythTV mythtv at cvs.mythtv.org
Mon Nov 23 06:07:42 UTC 2009


#7519: Mac OS X 10.6.1 compile missing symbols related to mysql
------------------------------------+---------------------------------------
 Reporter:  astralbodies@…          |       Owner:  nigel
     Type:  defect                  |      Status:  new  
 Priority:  critical                |   Milestone:  0.22 
Component:  Ports - OSX             |     Version:  head 
 Severity:  medium                  |     Mlocked:  0    
------------------------------------+---------------------------------------

Comment(by anonymous):

 - currently must add #include <qsize.h> to util-opengl.h (as of 11/22/09)
 before trunk will build

 - osx-packager.pl tries to pull mysql-5.0.85 which no longer is available
 -change to 5.0.88

 - the above patches for 32-bit compilation are critical because
 !MythFrontEnd, like thousands of other Mac apps, uses Apple's Carbon API
 calls (that descend from the original 1980s Mac platform) and Apple chose
 not to support that API for use by 64-bit applications and instead
 emphasize it's somewhat redundant Cocoa API (that desceind from the
 original 1980s NeXT platform).  Further,

 - MythTV use of qt-opensource-mac (32 bit) should be replaced with the new
 Cocoa-native version of "Qt for Mac" (32-bit)   (
 http://qt.nokia.com/products/platform/qt-for-mac ) because Nokia likely
 will or has discontinue(d) qt-opensource-mac.  Simply transitioning to
 Cocoa-native Qt will not fully permit 64-bit Myth applications though.

 - It's important to complete the transition to 64-bit because Apple has
 only been selling 64-bit compatible Macs since October 2008 and starting
 with Mac OS X 10.6 Snow Leopard, the new system default will be 64-bit
 applications, so after a brief transition period, Apple has little
 incentive to continue paying to support 32-bit Carbon APIs.  (Bear in mind
 that Apple makes most of its money from hardware, not software, sales
 --and 64-bit support in the applications is crucial to their customers
 realizing the full-value of the newer high-memory/cpu capacity Apple
 models.)

 - Thus to complete transition to 64-bit, aside from transition to Qt for
 Mac, as neil/astralbodies and others know, we need to fork the code so the
 Intel versions that make direct calls to 32-bit-only Carbon API (ie, to
 show/hide the Mac menu bar, etc..) instead call equivalent Cocoa or Quartz
 APIs (though it would be nice if the PowerPC version could remain
 indefinitely, especially in light of the three years of work they did on
 the DVD-hardware decode); however,

 - in Snow Leopard, there is a new Mac OS X API to allow general purpose
 code to run on the GPU (OpenCL) and to better exploit SMP (Grand Central
 Dispatch).  But rather than re-factor the MythTV code to run in those APIs
 (thereby diverging significantly from the other platforms), it might make
 more sense to use another new feature of Snow Leopard, !QuickTime X, that
 already exploits the former two technologies. (See also
 http://www.apple.com/macosx/technology/ ) In other words, while removing
 all 32-bit-only Carbon code from the Intel-only version of MythTV, MythTV
 could replace the video-decode + playback feature with calls to !QuickTime
 X Internet Streaming, keeping the Qt-for-Mac on Cocoa code just for the
 non-playback UI.  This might involve scaling the playback-window to inset
 within the Program Guide and rendering the !MythTV OSD (menu, guide,
 program-info but not closed-captioning) into the MPEG stream being fed to
 !QuickTime X (using some kind of software-genlock/multiplexer ala Video
 LAN Client does).

 - Lastly, if there is any hope of EVENTUALLY getting CableCARD or Switched
 Video support inside of MythTV (to enable playback of encrypted digital
 cable channels), it will likely be Mac-only and involve routing the video
 streams coming in from future APIs that pull from CableCARD/Switched Video
 USB-devices and implement !TiVo-like hardware encryption tied to the
 network adapter's MAC address and further encode the streams to require an
 HDCP playback device.  Perhaps using !Quicktime X Internet Streaming as
 part of the transition to 64-bit native binaries would ease the transition
 to such future technologies.  Further note that it might be possible for a
 third-party such as Elgato.com, or anyone else, to license
 CableCARD/Switched Video devices for use on Macs and export a post-DRM-
 only developer API using !QuickTime plug-ins even if Apple does not.  Such
 an effort would be decidedly non-GPL/open source like much of the rest of
 Mac OS X (CoreVideo, CoreAudio, etc..)

-- 
Ticket URL: <http://svn.mythtv.org/trac/ticket/7519#comment:7>
MythTV <http://www.mythtv.org/>
MythTV


More information about the mythtv-commits mailing list