[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