|
243 | 243 | ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
|
244 | 244 | [];
|
245 | 245 |
|
246 |
| - return { browser: match[1] || "", version: match[2] || "0" }; |
| 246 | + var oRet = { browser: match[1] || "", version: match[2] || "0" }; |
| 247 | + |
| 248 | + var rchrome = /(chrome)[ \/]([\w.]+)/; |
| 249 | + var matchChrome = rchrome.exec(ua) || []; |
| 250 | + |
| 251 | + if (matchChrome[1]) { |
| 252 | + oRet.chromeVersion = matchChrome[2]; |
| 253 | + } |
| 254 | + |
| 255 | + return oRet; |
247 | 256 | };
|
248 | 257 |
|
249 | 258 | // Platform sniffer for detecting mobile devices
|
|
277 | 286 | if ( browserMatch.browser ) {
|
278 | 287 | $.jPlayer.browser[ browserMatch.browser ] = true;
|
279 | 288 | $.jPlayer.browser.version = browserMatch.version;
|
| 289 | + if (typeof(browserMatch.chromeVersion) != 'undefined') { |
| 290 | + $.jPlayer.browser.chromeVersion = browserMatch.chromeVersion; |
| 291 | + } |
280 | 292 | }
|
281 | 293 | var platformMatch = $.jPlayer.uaPlatform(navigator.userAgent);
|
282 | 294 | if ( platformMatch.platform ) {
|
|
1764 | 1776 | _absoluteMediaUrls: function(media) {
|
1765 | 1777 | var self = this;
|
1766 | 1778 | $.each(media, function(type, url) {
|
1767 |
| - if(url && self.format[type]) { |
| 1779 | + if(url && self.format[type] && url.substr(0, 5) != 'data:') { |
1768 | 1780 | media[type] = self._qualifyURL(url);
|
1769 | 1781 | }
|
1770 | 1782 | });
|
|
1830 | 1842 | self._html_setAudio(media);
|
1831 | 1843 | self.html.active = true;
|
1832 | 1844 |
|
1833 |
| - // Setup the Android Fix - Only for HTML audio. |
1834 |
| - if($.jPlayer.platform.android) { |
| 1845 | + // Setup the Android Fix - Only for HTML audio. And it's not needed not for Chrome 37+. |
| 1846 | + if ( $.jPlayer.platform.android && !(typeof($.jPlayer.browser.chromeVersion) != 'undefined' && parseInt($.jPlayer.browser.chromeVersion) >= 37) ) { |
1835 | 1847 | self.androidFix.setMedia = true;
|
1836 | 1848 | }
|
1837 | 1849 | } else {
|
|
0 commit comments