< prev index next >

modules/media/src/main/native/jfxmedia/platform/osx/OSXMediaPlayer.mm

Print this page
rev 9888 : 8145602: Remove QTKit based media player
Summary: Removed obsolete QTKit based code, updated AVFoundation code to use a later SDK
Reviewed-by: almatvee


  49 }
  50 
  51 + (OSXMediaPlayer*) peerForPlayer:(jobject)javaPlayer andEnv:(JNIEnv*)javaEnv
  52 {
  53     return [gMediaPlayerPeers peerForJObject:javaPlayer javaEnv:javaEnv];
  54 }
  55 
  56 + (void) setPeer:(OSXMediaPlayer*)player forJavaPlayer:(jobject)javaPlayer andEnv:(JNIEnv*)javaEnv
  57 {
  58     [gMediaPlayerPeers setPeer:player forJObject:javaPlayer javaEnv:javaEnv];
  59 }
  60 
  61 + (void) removePlayerPeers:(OSXMediaPlayer*)player
  62 {
  63     [gMediaPlayerPeers removePeer:player];
  64 }
  65 
  66 + (BOOL) initPlayerPlatform
  67 {
  68     BOOL enableAVF = YES;
  69     BOOL enableQTK = YES;
  70 
  71     // Check environment to see if platforms are enabled
  72     char *value = getenv("JFXMEDIA_AVF");
  73     if (value ? strncasecmp(value, "yes", 3) != 0 : NO) {
  74         enableAVF = NO;
  75     }
  76 
  77     value = getenv("JFXMEDIA_QTKIT");
  78     if (value ? strncasecmp(value, "yes", 3) != 0 : NO) {
  79         enableQTK = NO;
  80     }
  81 
  82     // Determine if we can use OSX native player libs, without linking directly
  83     Class klass;
  84 
  85     if (enableAVF) {
  86         klass = objc_getClass("AVFMediaPlayer");
  87         if (klass) {
  88             if ([klass conformsToProtocol:@protocol(OSXPlayerProtocol)]) {
  89                 if ([klass respondsToSelector:@selector(playerAvailable)] ? [klass playerAvailable] : YES) {
  90                     gMediaPlayerClass = klass;
  91                     return YES;
  92                 }
  93             }
  94         }
  95     }
  96 
  97     if (enableQTK) {
  98         klass = objc_getClass("QTKMediaPlayer");
  99         if (klass) {
 100             // And make sure it conforms to the OSXPlayerProtocol
 101             if ([klass conformsToProtocol:@protocol(OSXPlayerProtocol)]) {
 102                 if ([klass respondsToSelector:@selector(playerAvailable)] ? [klass playerAvailable] : YES) {
 103                     gMediaPlayerClass = klass;
 104                     return YES;
 105                 }
 106             }
 107         }
 108     }
 109 
 110     return NO;
 111 }
 112 
 113 - (id) init
 114 {
 115     if ((self = [super init]) != nil) {
 116     }
 117     return self;
 118 }
 119 
 120 - (id) initWithURL:(NSURL *)source javaPlayer:(jobject)jp andEnv:(JNIEnv*)env eventHandler:(CJavaPlayerEventDispatcher*)hdlr
 121 {
 122     if (!gMediaPlayerClass) {
 123         // No player class available, abort
 124         return nil;
 125     }
 126 
 127     if ((self = [super init]) != nil) {
 128         movieURL = [source retain];
 129 




  49 }
  50 
  51 + (OSXMediaPlayer*) peerForPlayer:(jobject)javaPlayer andEnv:(JNIEnv*)javaEnv
  52 {
  53     return [gMediaPlayerPeers peerForJObject:javaPlayer javaEnv:javaEnv];
  54 }
  55 
  56 + (void) setPeer:(OSXMediaPlayer*)player forJavaPlayer:(jobject)javaPlayer andEnv:(JNIEnv*)javaEnv
  57 {
  58     [gMediaPlayerPeers setPeer:player forJObject:javaPlayer javaEnv:javaEnv];
  59 }
  60 
  61 + (void) removePlayerPeers:(OSXMediaPlayer*)player
  62 {
  63     [gMediaPlayerPeers removePeer:player];
  64 }
  65 
  66 + (BOOL) initPlayerPlatform
  67 {
  68     BOOL enableAVF = YES;

  69 
  70     // Check environment to see if platforms are enabled
  71     char *value = getenv("JFXMEDIA_AVF");
  72     if (value ? strncasecmp(value, "yes", 3) != 0 : NO) {
  73         enableAVF = NO;
  74     }
  75 





  76     // Determine if we can use OSX native player libs, without linking directly
  77     Class klass;
  78 
  79     if (enableAVF) {
  80         klass = objc_getClass("AVFMediaPlayer");
  81         if (klass) {
  82             if ([klass conformsToProtocol:@protocol(OSXPlayerProtocol)]) {
  83                 if ([klass respondsToSelector:@selector(playerAvailable)] ? [klass playerAvailable] : YES) {
  84                     gMediaPlayerClass = klass;
  85                     return YES;
  86                 }
  87             }
  88         }
  89     }
  90 













  91     return NO;
  92 }
  93 
  94 - (id) init
  95 {
  96     if ((self = [super init]) != nil) {
  97     }
  98     return self;
  99 }
 100 
 101 - (id) initWithURL:(NSURL *)source javaPlayer:(jobject)jp andEnv:(JNIEnv*)env eventHandler:(CJavaPlayerEventDispatcher*)hdlr
 102 {
 103     if (!gMediaPlayerClass) {
 104         // No player class available, abort
 105         return nil;
 106     }
 107 
 108     if ((self = [super init]) != nil) {
 109         movieURL = [source retain];
 110 


< prev index next >