Author: andre
Date: 2010-07-09 13:21:35 +0200 (Fri, 09 Jul 2010)
New Revision: 42837

Modified:
   openimages/trunk/src/main/webapp/oiplayer/js/jquery.oiplayer.js
Log:
wrapping the media tag in a new div confuses Safari on the new iPhone 4 OS so 
we let it be 


Modified: openimages/trunk/src/main/webapp/oiplayer/js/jquery.oiplayer.js
===================================================================
--- openimages/trunk/src/main/webapp/oiplayer/js/jquery.oiplayer.js     
2010-07-09 10:50:51 UTC (rev 42836)
+++ openimages/trunk/src/main/webapp/oiplayer/js/jquery.oiplayer.js     
2010-07-09 11:21:35 UTC (rev 42837)
@@ -39,7 +39,6 @@
         controls : true,
         log: 'error'
     };
-    
     if (settings) $.extend(config, settings);
     
     var current = this;
@@ -54,6 +53,12 @@
                 sources = $(current).find('source');
             }
             
+            /* In the next couple of lines the video/audio tag is wrapped in a 
new div, 
+               this breaks the video tag on iPhone 4 */
+            if (isIphone() && navigator.userAgent.match(/OS 4/i) != null) {
+                return;
+            }
+            
             $(mt).wrap('<div class="oiplayer"><div 
class="player"></div></div>');
             var div = $(mt).closest('div.oiplayer');
             var player = createPlayer(mt, sources, config);
@@ -264,7 +269,7 @@
     }
     
     /* 
-     * Create player
+     * Creates player based upon selected url
      * @param el        video or audio element
      * @param source    source tags
      * @param config    configuration
@@ -434,28 +439,16 @@
     }
         
     function controlsHtml(player) {
-        var html;
-        if (isIphone()) {
-            html = '<div class="controls"><ul class="controls">' + 
+        var html = '<div class="controls"><ul class="controls">' + 
                       '<li class="play"><a title="play" 
href="#play">play</a></li>' +
                       '<li class="position">' +
                         '<div class="time">00:00</div>' +
                         '<div class="sliderwrap"><div class="slider"><div> 
</div></div></div>' +
                         '<div class="timeleft">-00:00</div>' +
                       '</li>' +
-                   '</ul></div>';
-        } else {
-            html = '<div class="controls"><ul class="controls">' + 
-                      '<li class="play"><a title="play" 
href="#play">play</a></li>' +
-                      '<li class="position">' +
-                        '<div class="time">00:00</div>' +
-                        '<div class="sliderwrap"><div class="slider"><div> 
</div></div></div>' +
-                        '<div class="timeleft">-00:00</div>' +
-                      '</li>' +
                       (isIpad() ? '' : '<li class="sound"><a title="mute" 
href="#sound">mute</a></li>') + 
                       (player.type == 'video' ? '<li class="screen"><a 
title="fullscreen" href="#fullscreen">fullscreen</a></li>' : '') + 
                    '</ul></div>';
-        }
         return html;
     }
 
@@ -554,7 +547,7 @@
     },
     
     /* 
-     * Add slider aka scrobbler
+     * Add slider aka scrubber
      */
     slider: function(player) {
         $(player.ctrls).find("div.slider > div").slider({
@@ -718,6 +711,10 @@
     return this.player;
 }
 MediaPlayer.prototype.play = function() {
+    if (this.player.readyState == '0') {
+        //console.log("loading src: " + this.player.currentSrc);
+        this.player.load();
+    }
     this.player.play();
     this.state = 'play';
 }

_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to