JDK-8097777 : [macosx] Separate QTKit platform code from core media code so it can be removed for MAS
  • Type: Enhancement
  • Component: javafx
  • Sub-Component: media
  • Affected Version: 8u40
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-07-28
  • Updated: 2015-06-12
  • Resolved: 2014-08-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 8
8u40Fixed
Related Reports
Blocks :  
Description
We will need to keep the QTKit based player for FX 8 because we support 10.7. Since Apple no longer allows QTKit dependent code in MAS app submissions, we need to separate this from our core native library so it can be removed without completely disabling media. For FX 9, this code will be removed completely since we will no longer support 10.7.
Comments
Changeset: 24a1b2582b74 Author: ddehaven Date: 2014-08-05 08:43 -0700 URL: http://hg.openjdk.java.net/openjfx/8u-dev/rt/rev/24a1b2582b74
05-08-2014

Ah, that did it. Looks good (and I see the new library now).
01-08-2014

Oh, good. I was about to panic ;) Thanks for confirming.
01-08-2014

(bangs head on desk) Yeah, that was it. I had done a qimport of your patch but hadn't done the qpush. Results shortly...
01-08-2014

I started with a completely clean (freshly purged) repo. I'll double-check and see if I did something stupid like forgot to qpush your patch or similar.
01-08-2014

After applying the patch it should be building. You may need to clean first, there are dependency tracking issues with the existing makefiles. If it's not building after cleaning (and especially after purging the forest) then something's amiss...
01-08-2014

One question, though. Is the new libjfxmedia_qtkit.dylib supposed to be built yet? Because I don't see it on my Mac. It works, though, and plays media with no issues.
01-08-2014

+1
01-08-2014

Ok. Approved.
30-07-2014

That's not a bad thought. My thinking was we catch ULE earlier if the dylib can't be loaded, but in the case of AVFoundation we can load it but potentially not be able to use it if it's run on 10.7 (and the QTKit dylib is not present). It might make more sense to make this change as part of RT-34893 though, since it's highly unlikely that QTKit would not function at that point.
30-07-2014

Code review: http://cr.openjdk.java.net/~ddehaven/RT-38074/rt.2/
30-07-2014

initPlayerPlatform() in OSXMediaPlayer.mm will fail silently, but it will be called from loadPlatform() in OSXPlatform.java. Should we return true or false from initPlayerPlatform() and propagate it upto loadPlatform(), so if we fail we will not use this platform?
30-07-2014