FV Flowplayer Video Player - Version 7.2.3.727

Version Description

  • 2018/10/03 =

  • HLS - improving quality labels (M, SD and HD)

  • Lightbox - fixing full screen sizing issue when using Chrome on Windows

  • Subtitles - fixing language codes for Hebrew, Indonesian and Javanese

  • Check template function - adding warning for websites which strip the query string versions

  • Fixing Admin JavaScript warning

Download this release

Release Info

Developer FolioVision
Plugin Icon 128x128 FV Flowplayer Video Player
Version 7.2.3.727
Comparing to
See all releases

Code changes from version 7.2.2.727 to 7.2.3.727

controller/backend.php CHANGED
@@ -132,7 +132,7 @@ function fv_wp_flowplayer_check_template() {
132
  $errors[] = 'html5.js not found in your template! Videos might not play in old browsers, like Internet Explorer 6-8. Please follow our instructions <a href="https://foliovision.com/player/installation#html5js">here</a>.';
133
  }
134
 
135
- $ok[] = __('Template checker has changed. Just open any of your videos on your site and see if you get a red warning message about JavaScript not working.', 'fv-wordpress-flowplayer');
136
 
137
  $response['body'] = preg_replace( '$<!--[\s\S]+?-->$', '', $response['body'] ); // handle HTML comments
138
 
@@ -149,6 +149,8 @@ function fv_wp_flowplayer_check_template() {
149
  } else if( $check == 1 ) {
150
  $ok[] = __('FV Flowplayer script found: ', 'fv-wordpress-flowplayer') . "<code>$flowplayer_script</code>!";
151
  $fv_flowplayer_pos = strpos( $response['body'], $flowplayer_script );
 
 
152
  }
153
  }
154
  } else if( count($flowplayer_scripts[1]) < 1 ) {
132
  $errors[] = 'html5.js not found in your template! Videos might not play in old browsers, like Internet Explorer 6-8. Please follow our instructions <a href="https://foliovision.com/player/installation#html5js">here</a>.';
133
  }
134
 
135
+ $ok[] = __('We also recommend you to open any of your videos on your site and see if you get a red warning message about JavaScript not working.', 'fv-wordpress-flowplayer');
136
 
137
  $response['body'] = preg_replace( '$<!--[\s\S]+?-->$', '', $response['body'] ); // handle HTML comments
138
 
149
  } else if( $check == 1 ) {
150
  $ok[] = __('FV Flowplayer script found: ', 'fv-wordpress-flowplayer') . "<code>$flowplayer_script</code>!";
151
  $fv_flowplayer_pos = strpos( $response['body'], $flowplayer_script );
152
+ } else if( $check == 0 ) {
153
+ $errors[] = "<p>It appears there are <strong>stripping the query string versions</strong> as <code>$flowplayer_script</code> appears without the plugin version number.</p><p>Some site speed analysis tools recommend doing so, but it means you loose control over what version of plugin files is cached (in users' browsers and on CDN). That way users hang on to the old plugin files and might experience visual or functional issues with FV Player (and any other plugin).</p><p>You can read all the details in our article: <a href='https://foliovision.com/2017/06/wordpress-cdn-best-practices' target='_blank'>How to use WordPress with CDN<a>.</p>";
154
  }
155
  }
156
  } else if( count($flowplayer_scripts[1]) < 1 ) {
css/fancybox.css CHANGED
@@ -15,8 +15,8 @@ body.compensate-for-scrollbar{overflow:hidden;-ms-overflow-style:none}.fancybox-
15
 
16
  /* Make sure FV Player respects fancybox fullscreen mode */
17
  .fancybox-is-fullscreen .flowplayer {
18
- max-width: 9999px !important;
19
- max-height: 9999px !important;
20
  }
21
  .fancybox-is-fullscreen .flowplayer .fp-fullscreen:before {
22
  content: "\e016"; }
@@ -26,7 +26,7 @@ body.compensate-for-scrollbar{overflow:hidden;-ms-overflow-style:none}.fancybox-
26
  content: "\e116"; }
27
  .fancybox-is-fullscreen .flowplayer.fp-edgy.fp-outlined .fp-fullscreen:before, .fancybox-is-fullscreen .flowplayer.fp-edgy.fp-minimal .fp-fullscreen:before {
28
  content: "\e316"; }
29
-
30
  .fv-player-fancybox-play-icon {
31
  position: absolute;
32
  left: 0;
15
 
16
  /* Make sure FV Player respects fancybox fullscreen mode */
17
  .fancybox-is-fullscreen .flowplayer {
18
+ max-width: 99% !important;
19
+ max-height: 99% !important;
20
  }
21
  .fancybox-is-fullscreen .flowplayer .fp-fullscreen:before {
22
  content: "\e016"; }
26
  content: "\e116"; }
27
  .fancybox-is-fullscreen .flowplayer.fp-edgy.fp-outlined .fp-fullscreen:before, .fancybox-is-fullscreen .flowplayer.fp-edgy.fp-minimal .fp-fullscreen:before {
28
  content: "\e316"; }
29
+
30
  .fv-player-fancybox-play-icon {
31
  position: absolute;
32
  left: 0;
css/flowplayer.css CHANGED
@@ -428,9 +428,7 @@
428
  top: 0;
429
  }
430
  .fp-chromecast {
431
- position: absolute;
432
- right: 80px;
433
- top: 0;
434
  }
435
  .flowplayer .fp-header .fp-unload {
436
  display: none; }
@@ -1218,22 +1216,6 @@
1218
  to { opacity: 1 }
1219
  }
1220
 
1221
- /*this might be needed some day:
1222
-
1223
- @-moz-keyframes fade-in {
1224
- from { transform: opacity .5s ease; opacity: 0; filter: alpha(opacity=0); }
1225
- to { opacity: 1; filter: alpha(opacity=100); }
1226
- }
1227
- @-webkit-keyframes fade-in {
1228
- from { transform: opacity .5s ease; opacity: 0; filter: alpha(opacity=0); }
1229
- to { opacity: 1; filter: alpha(opacity=100); }
1230
- }
1231
- @keyframes fade-in {
1232
- from { transform: opacity .5s ease; opacity: 0; filter: alpha(opacity=0); }
1233
- to { opacity: 1; filter: alpha(opacity=100); }
1234
- }
1235
- */
1236
-
1237
  /* Other playlist styles */
1238
  .fp-playlist-external a,.entry-content .fp-playlist-external a {position:relative;text-decoration:none;border-bottom:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
1239
  .fp-playlist-external a:focus,.entry-content .fp-playlist-external a:focus {outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
@@ -1438,8 +1420,21 @@ p.fp-caption { text-align: center;max-width: 100%; }
1438
  }
1439
 
1440
 
1441
- /* Video checker, todo: check! */
1442
- .fvfp_admin_error { position: absolute; top: 10%; z-index: 2; text-align: center; width: 100%; /*color: #fff;*/ }
 
 
 
 
 
 
 
 
 
 
 
 
 
1443
  .fvfp_admin_error { -webkit-animation-name: fade-in; -moz-animation-name: fade-in; -o-animation-name: fade-in; animation-name: fade-in; -webkit-animation-duration: 1s; -moz-animation-duration: 1s; -o-animation-duration: 1s; animation-duration: 1s; -webkit-animation-delay: 5s; -moz-animation-delay: 5s;-o-animation-delay: 5s; animation-delay: 5s; -webkit-animation-fill-mode:both; -moz-animation-fill-mode:both; -o-animation-fill-mode:both; animation-fill-mode:both; }
1444
 
1445
  article .entry-content .fvfp_admin_error p { line-height: 18px }
428
  top: 0;
429
  }
430
  .fp-chromecast {
431
+ float: right;
 
 
432
  }
433
  .flowplayer .fp-header .fp-unload {
434
  display: none; }
1216
  to { opacity: 1 }
1217
  }
1218
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1219
  /* Other playlist styles */
1220
  .fp-playlist-external a,.entry-content .fp-playlist-external a {position:relative;text-decoration:none;border-bottom:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;text-align:center;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
1221
  .fp-playlist-external a:focus,.entry-content .fp-playlist-external a:focus {outline:0;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;}
1420
  }
1421
 
1422
 
1423
+ .fvfp_admin_error { position: absolute; top: 10%; z-index: 2; text-align: center; width: 100%; color: #fff; }
1424
+ .fvfp_admin_error h4 { color: #fff }
1425
+ .fvfp_admin_error a { color: #f00 }
1426
+ @-moz-keyframes fade-in {
1427
+ from { transform: opacity 0.5s ease; opacity: 0; filter: alpha(opacity=0); }
1428
+ to { opacity: 1; filter: alpha(opacity=100); }
1429
+ }
1430
+ @-webkit-keyframes fade-in {
1431
+ from { transform: opacity 0.5s ease; opacity: 0; filter: alpha(opacity=0); }
1432
+ to { opacity: 1; filter: alpha(opacity=100); }
1433
+ }
1434
+ @keyframes fade-in {
1435
+ from { transform: opacity 0.5s ease; opacity: 0; filter: alpha(opacity=0); }
1436
+ to { opacity: 1; filter: alpha(opacity=100); }
1437
+ }
1438
  .fvfp_admin_error { -webkit-animation-name: fade-in; -moz-animation-name: fade-in; -o-animation-name: fade-in; animation-name: fade-in; -webkit-animation-duration: 1s; -moz-animation-duration: 1s; -o-animation-duration: 1s; animation-duration: 1s; -webkit-animation-delay: 5s; -moz-animation-delay: 5s;-o-animation-delay: 5s; animation-delay: 5s; -webkit-animation-fill-mode:both; -moz-animation-fill-mode:both; -o-animation-fill-mode:both; animation-fill-mode:both; }
1439
 
1440
  article .entry-content .fvfp_admin_error p { line-height: 18px }
flowplayer.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: FV Player
4
  Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
5
  Description: Formerly FV WordPress Flowplayer. Supports MP4, HLS, MPEG-DASH, WebM and OGV. Advanced features such as overlay ads or popups. Uses Flowplayer 7.2.7.
6
- Version: 7.2.2.727
7
  Author URI: http://foliovision.com/
8
  License: GPL-3.0
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.txt
@@ -26,7 +26,7 @@ License URI: http://www.gnu.org/licenses/gpl-3.0.txt
26
  along with this program. If not, see <http://www.gnu.org/licenses/>.
27
  */
28
 
29
- $fv_wp_flowplayer_ver = '7.2.2.727';
30
  $fv_wp_flowplayer_core_ver = '7.2.7.1';
31
 
32
  include_once( dirname( __FILE__ ) . '/includes/extra-functions.php' );
3
  Plugin Name: FV Player
4
  Plugin URI: http://foliovision.com/wordpress/plugins/fv-wordpress-flowplayer
5
  Description: Formerly FV WordPress Flowplayer. Supports MP4, HLS, MPEG-DASH, WebM and OGV. Advanced features such as overlay ads or popups. Uses Flowplayer 7.2.7.
6
+ Version: 7.2.3.727
7
  Author URI: http://foliovision.com/
8
  License: GPL-3.0
9
  License URI: http://www.gnu.org/licenses/gpl-3.0.txt
26
  along with this program. If not, see <http://www.gnu.org/licenses/>.
27
  */
28
 
29
+ $fv_wp_flowplayer_ver = '7.2.3.727';
30
  $fv_wp_flowplayer_core_ver = '7.2.7.1';
31
 
32
  include_once( dirname( __FILE__ ) . '/includes/extra-functions.php' );
flowplayer/fv-flowplayer.min.js CHANGED
@@ -637,7 +637,7 @@ function fv_player_load() {
637
  var api = root.data('flowplayer');
638
  if( api ) return;
639
 
640
- root.flowplayer( { clip: fv_player_videos_parse(root.attr('data-item'), root) }); // todo: IE6-8
641
  } );
642
 
643
  // Playlist - new style
@@ -786,7 +786,7 @@ flowplayer( function(api,root) {
786
  api.conf.loop = true;
787
  }
788
 
789
- jQuery('.fvfp_admin_error', root).remove(); // v6: admin error removal?
790
 
791
  root.find('.fp-logo, .fp-header').click( function(e) {
792
  if (e.target !== this) return;
@@ -799,7 +799,7 @@ flowplayer( function(api,root) {
799
  root.addClass('no-brand');
800
  });
801
 
802
- api.bind("ready", function (e, api, video) {
803
  setTimeout( function () {
804
  jQuery('.fvp-share-bar',root).show();
805
 
@@ -827,6 +827,13 @@ flowplayer( function(api,root) {
827
  jQuery(document).on('contextmenu', '.flowplayer', function(e) {
828
  e.preventDefault();
829
  });
 
 
 
 
 
 
 
830
 
831
  });
832
 
@@ -1682,7 +1689,7 @@ if( typeof(flowplayer) != "undefined" ) { // stop lightbox from playing if it's
1682
 
1683
  if( flowplayer.support.android && flowplayer.support.android.samsung && parseInt(flowplayer.support.browser.version) < 66 ) { // Samsung Browser is just old version of Google Chrome!
1684
  api.on('error', function(e,api,error) {
1685
- fv_player_warning(root,fv_flowplayer_translations.warning_samsungbrowser);
1686
  });
1687
  }
1688
 
@@ -2117,14 +2124,22 @@ flowplayer( function(api,root) {
2117
  var stream_info = bitrates[api.engine.dash.getQualityFor('video')];
2118
  if( stream_info.qualityIndex != last_quality ) {
2119
  last_quality = stream_info.qualityIndex;
2120
- quality_label(stream_info.qualityIndex,stream_info.height);
 
 
 
 
2121
  }
2122
  if( search.match(/dash_debug/) ) quality_debug(stream_info.width,stream_info.height,stream_info.bitrate);
2123
 
2124
  } else if( api.engine.engineName == 'hlsjs-lite' ) {
2125
  if( hlsjs.currentLevel != last_quality ) {
2126
  last_quality = hlsjs.currentLevel;
2127
- quality_label( hlsjs.currentLevel, hlsjs.levels[hlsjs.currentLevel].height );
 
 
 
 
2128
  }
2129
 
2130
  if( search.match(/hls_debug/) ) {
@@ -2135,12 +2150,12 @@ flowplayer( function(api,root) {
2135
  }
2136
  }
2137
 
2138
- function quality_label(index,height) {
2139
  root.find('a[data-quality]').removeClass('is-current');
2140
  root.find('a[data-quality='+index+']').addClass('is-current');
2141
  var label = 'M';
2142
- if( height >= 400 ) label = 'SD';
2143
- if( height >= 720 ) label = 'HD';
2144
  if( height >= 1400 ) label = '4K';
2145
  root.find('.fp-qsel').html(label);
2146
  }
637
  var api = root.data('flowplayer');
638
  if( api ) return;
639
 
640
+ root.flowplayer( { clip: fv_player_videos_parse(root.attr('data-item'), root) });
641
  } );
642
 
643
  // Playlist - new style
786
  api.conf.loop = true;
787
  }
788
 
789
+ jQuery('.fvfp_admin_error', root).remove();
790
 
791
  root.find('.fp-logo, .fp-header').click( function(e) {
792
  if (e.target !== this) return;
799
  root.addClass('no-brand');
800
  });
801
 
802
+ api.bind("ready", function (e, api, video) {
803
  setTimeout( function () {
804
  jQuery('.fvp-share-bar',root).show();
805
 
827
  jQuery(document).on('contextmenu', '.flowplayer', function(e) {
828
  e.preventDefault();
829
  });
830
+
831
+ api.bind("ready fullscreen fullscreen-exit", function (e, api, video) {
832
+ jQuery('.fp-chromecast').insertAfter('.fp-fullscreen');
833
+ setTimeout( function() {
834
+ jQuery('.fp-chromecast').insertAfter('.fp-fullscreen');
835
+ },0);
836
+ });
837
 
838
  });
839
 
1689
 
1690
  if( flowplayer.support.android && flowplayer.support.android.samsung && parseInt(flowplayer.support.browser.version) < 66 ) { // Samsung Browser is just old version of Google Chrome!
1691
  api.on('error', function(e,api,error) {
1692
+ fv_player_warning(root,fv_flowplayer_translations.warning_samsungbrowser,'warning_samsungbrowser');
1693
  });
1694
  }
1695
 
2124
  var stream_info = bitrates[api.engine.dash.getQualityFor('video')];
2125
  if( stream_info.qualityIndex != last_quality ) {
2126
  last_quality = stream_info.qualityIndex;
2127
+ var low = 100000;
2128
+ for( var i in bitrates ) {
2129
+ if( bitrates[i].height < low ) low = bitrates[i].height;
2130
+ }
2131
+ quality_label(stream_info.qualityIndex,stream_info.height,low);
2132
  }
2133
  if( search.match(/dash_debug/) ) quality_debug(stream_info.width,stream_info.height,stream_info.bitrate);
2134
 
2135
  } else if( api.engine.engineName == 'hlsjs-lite' ) {
2136
  if( hlsjs.currentLevel != last_quality ) {
2137
  last_quality = hlsjs.currentLevel;
2138
+ var low = 100000;
2139
+ for( var i in hlsjs.levels ) {
2140
+ if( hlsjs.levels[i].height < low ) low = hlsjs.levels[i].height;
2141
+ }
2142
+ quality_label( hlsjs.currentLevel, hlsjs.levels[hlsjs.currentLevel].height, low );
2143
  }
2144
 
2145
  if( search.match(/hls_debug/) ) {
2150
  }
2151
  }
2152
 
2153
+ function quality_label(index,height,low) {
2154
  root.find('a[data-quality]').removeClass('is-current');
2155
  root.find('a[data-quality='+index+']').addClass('is-current');
2156
  var label = 'M';
2157
+ if( height >= 360 && low < height ) label = 'SD';
2158
+ if( height > 540 ) label = 'HD';
2159
  if( height >= 1400 ) label = '4K';
2160
  root.find('.fp-qsel').html(label);
2161
  }
js/fancybox.js CHANGED
@@ -57,6 +57,7 @@ function fv_fancybox_check_size() {
57
  $player = jQuery('.fancybox-slide--current .flowplayer:visible'),
58
  player_height = $player.outerHeight(),
59
  $caption = jQuery('.fancybox-caption'),
 
60
  $toolbar = jQuery('.fancybox-toolbar'),
61
  $fs_button = $player.find('.fp-fullscreen');
62
 
@@ -78,12 +79,17 @@ function fv_fancybox_check_size() {
78
  .css('max-width', (height/$player.data('ratio'))+'px');
79
 
80
 
81
- // hide caption if it would cover the player
82
  if ($caption.length) {
83
  if ( $caption.position().top - 5 < $player.position().top + player_height ) $caption.hide();
84
  else $caption.show();
85
  }
86
 
 
 
 
 
 
87
  // hide FV Player fullscreen button if it would be covered.
88
  if ($toolbar.length) {
89
  if ( $player.position().top < $toolbar.position().top + $toolbar.height() ) $fs_button.hide();
57
  $player = jQuery('.fancybox-slide--current .flowplayer:visible'),
58
  player_height = $player.outerHeight(),
59
  $caption = jQuery('.fancybox-caption'),
60
+ $infobar = jQuery('.fancybox-infobar'),
61
  $toolbar = jQuery('.fancybox-toolbar'),
62
  $fs_button = $player.find('.fp-fullscreen');
63
 
79
  .css('max-width', (height/$player.data('ratio'))+'px');
80
 
81
 
82
+ // hide caption and infobar if it would cover the player
83
  if ($caption.length) {
84
  if ( $caption.position().top - 5 < $player.position().top + player_height ) $caption.hide();
85
  else $caption.show();
86
  }
87
 
88
+ if ($infobar.length) {
89
+ if ( $infobar.position().top+$infobar.height() > $player.position().top && $infobar.position().left+$infobar.width() > $player.position().left ) $infobar.hide();
90
+ else $infobar.show();
91
+ }
92
+
93
  // hide FV Player fullscreen button if it would be covered.
94
  if ($toolbar.length) {
95
  if ( $player.position().top < $toolbar.position().top + $toolbar.height() ) $fs_button.hide();
js/shortcode-editor.js CHANGED
@@ -611,6 +611,12 @@ function fv_flowplayer_language_add( sInput, sLang ,iTabIndex ) {
611
  }
612
 
613
  if ( sLang ) {
 
 
 
 
 
 
614
  jQuery('.fv-fp-subtitle:last select.fv_wp_flowplayer_field_subtitles_lang' , oTab).val(sLang);
615
  }
616
 
611
  }
612
 
613
  if ( sLang ) {
614
+ if( sLang == 'iw' ) sLang = 'he';
615
+ if( sLang == 'in' ) sLang = 'id';
616
+ if( sLang == 'jw' ) sLang = 'jv';
617
+ if( sLang == 'mo' ) sLang = 'ro';
618
+ if( sLang == 'sh' ) sLang = 'sr';
619
+
620
  jQuery('.fv-fp-subtitle:last select.fv_wp_flowplayer_field_subtitles_lang' , oTab).val(sLang);
621
  }
622
 
models/flowplayer-frontend.php CHANGED
@@ -552,8 +552,8 @@ class flowplayer_frontend extends flowplayer
552
 
553
  if( flowplayer::is_special_editor() ) {
554
  $this->ret['html'] .= '<div class="fp-ui"></div>';
555
- } else if( current_user_can('manage_options') && !isset($playlist_items_external_html) ) {
556
- $this->ret['html'] .= '<div id="wpfp_'.$this->hash.'_admin_error" class="fvfp_admin_error"><div class="fvfp_admin_error_content"><h4>Admin JavaScript warning:</h4><p>I\'m sorry, your JavaScript appears to be broken. Please use "Check template" in plugin settings, read our <a href="https://foliovision.com/player/installation#fixing-broken-javascript" target="_blank">troubleshooting guide</a>, <a href="https://foliovision.com/troubleshooting-javascript-errors" target="_blank">troubleshooting guide for programmers</a> or <a href="http://foliovision.com/wordpress/pro-install" target="_blank">order our pro support</a> and we will get it fixed for you.</p></div></div>';
557
  }
558
 
559
  $this->ret['html'] .= apply_filters( 'fv_flowplayer_inner_html', null, $this );
552
 
553
  if( flowplayer::is_special_editor() ) {
554
  $this->ret['html'] .= '<div class="fp-ui"></div>';
555
+ } else if( current_user_can('manage_options') ) {
556
+ $this->ret['html'] .= '<div id="wpfp_'.$this->hash.'_admin_error" class="fvfp_admin_error"><div class="fvfp_admin_error_content"><h4>Admin JavaScript warning:</h4><p>I\'m sorry, your JavaScript appears to be broken. Please use "Check template" in plugin settings, read our <a href="https://foliovision.com/player/installation#fixing-broken-javascript" target="_blank">troubleshooting guide</a>, <a href="https://foliovision.com/troubleshooting-javascript-errors" target="_blank">troubleshooting guide for programmers</a> or <a href="https://foliovision.com/pro-support" target="_blank">order our pro support</a> and we will get it fixed for you.</p></div></div>';
557
  }
558
 
559
  $this->ret['html'] .= apply_filters( 'fv_flowplayer_inner_html', null, $this );
models/flowplayer.php CHANGED
@@ -1496,24 +1496,23 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
1496
  'GN' => 'Guarani',
1497
  'GU' => 'Gujarati',
1498
  'HA' => 'Hausa',
1499
- 'IW' => 'Hebrew',
1500
  'HI' => 'Hindi',
1501
  'HU' => 'Hungarian',
1502
  'IS' => 'Icelandic',
1503
- 'IN' => 'Indonesian',
1504
  'IA' => 'Interlingua',
1505
  'IE' => 'Interlingue',
1506
  'IK' => 'Inupiak',
1507
  'GA' => 'Irish',
1508
  'IT' => 'Italian',
1509
  'JA' => 'Japanese',
1510
- 'JW' => 'Javanese',
1511
  'KN' => 'Kannada',
1512
  'KS' => 'Kashmiri',
1513
  'KK' => 'Kazakh',
1514
  'RW' => 'Kinyarwanda',
1515
- 'KY' => 'Kirghiz',
1516
- 'RN' => 'Kirundi',
1517
  'KO' => 'Korean',
1518
  'KU' => 'Kurdish',
1519
  'LO' => 'Laothian',
@@ -1527,8 +1526,7 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
1527
  'ML' => 'Malayalam',
1528
  'MT' => 'Maltese',
1529
  'MI' => 'Maori',
1530
- 'MR' => 'Marathi',
1531
- 'MO' => 'Moldavian',
1532
  'MN' => 'Mongolian',
1533
  'NA' => 'Nauru',
1534
  'NE' => 'Nepali',
@@ -1544,12 +1542,12 @@ class flowplayer extends FV_Wordpress_Flowplayer_Plugin_Private {
1544
  'QU' => 'Quechua',
1545
  'RM' => 'Rhaeto-Romance',
1546
  'RO' => 'Romanian',
 
1547
  'RU' => 'Russian',
1548
  'SM' => 'Samoan',
1549
  'SG' => 'Sangro',
1550
  'SA' => 'Sanskrit',
1551
- 'SR' => 'Serbian',
1552
- 'SH' => 'Serbo-Croatian',
1553
  'ST' => 'Sesotho',
1554
  'TN' => 'Setswana',
1555
  'SN' => 'Shona',
1496
  'GN' => 'Guarani',
1497
  'GU' => 'Gujarati',
1498
  'HA' => 'Hausa',
1499
+ 'HE' => 'Hebrew',
1500
  'HI' => 'Hindi',
1501
  'HU' => 'Hungarian',
1502
  'IS' => 'Icelandic',
1503
+ 'ID' => 'Indonesian',
1504
  'IA' => 'Interlingua',
1505
  'IE' => 'Interlingue',
1506
  'IK' => 'Inupiak',
1507
  'GA' => 'Irish',
1508
  'IT' => 'Italian',
1509
  'JA' => 'Japanese',
1510
+ 'JV' => 'Javanese',
1511
  'KN' => 'Kannada',
1512
  'KS' => 'Kashmiri',
1513
  'KK' => 'Kazakh',
1514
  'RW' => 'Kinyarwanda',
1515
+ 'KY' => 'Kirghiz',
 
1516
  'KO' => 'Korean',
1517
  'KU' => 'Kurdish',
1518
  'LO' => 'Laothian',
1526
  'ML' => 'Malayalam',
1527
  'MT' => 'Maltese',
1528
  'MI' => 'Maori',
1529
+ 'MR' => 'Marathi',
 
1530
  'MN' => 'Mongolian',
1531
  'NA' => 'Nauru',
1532
  'NE' => 'Nepali',
1542
  'QU' => 'Quechua',
1543
  'RM' => 'Rhaeto-Romance',
1544
  'RO' => 'Romanian',
1545
+ 'RN' => 'Rundi',
1546
  'RU' => 'Russian',
1547
  'SM' => 'Samoan',
1548
  'SG' => 'Sangro',
1549
  'SA' => 'Sanskrit',
1550
+ 'SR' => 'Serbian',
 
1551
  'ST' => 'Sesotho',
1552
  'TN' => 'Setswana',
1553
  'SN' => 'Shona',
models/subtitles.php CHANGED
@@ -18,6 +18,12 @@ class FV_Player_Subtitles {
18
  $aOutput = array();
19
 
20
  foreach( $aSubtitles AS $key => $subtitles ) {
 
 
 
 
 
 
21
  $objSubtitle = new stdClass;
22
  if( $key == 'subtitles' ) {
23
  $aLang = explode('-', get_bloginfo('language'));
18
  $aOutput = array();
19
 
20
  foreach( $aSubtitles AS $key => $subtitles ) {
21
+ if( $key == 'iw' ) $key = 'he';
22
+ if( $key == 'in' ) $key = 'id';
23
+ if( $key == 'jw' ) $key = 'jv';
24
+ if( $key == 'mo' ) $key = 'ro';
25
+ if( $key == 'sh' ) $key = 'sr';
26
+
27
  $objSubtitle = new stdClass;
28
  if( $key == 'subtitles' ) {
29
  $aLang = explode('-', get_bloginfo('language'));
readme.txt CHANGED
@@ -357,6 +357,14 @@ Thank you for being part of the HMTL 5 mobile video revolution!
357
 
358
  == Changelog ==
359
 
 
 
 
 
 
 
 
 
360
  = 7.2.2.727 - 2018/09/28 =
361
 
362
  * Amazon S3 - fixing issues caused by Flash version of signed URL
357
 
358
  == Changelog ==
359
 
360
+ = 7.2.3.727 - 2018/10/03 =
361
+
362
+ * HLS - improving quality labels (M, SD and HD)
363
+ * Lightbox - fixing full screen sizing issue when using Chrome on Windows
364
+ * Subtitles - fixing language codes for Hebrew, Indonesian and Javanese
365
+ * Check template function - adding warning for websites which strip the query string versions
366
+ * Fixing Admin JavaScript warning
367
+
368
  = 7.2.2.727 - 2018/09/28 =
369
 
370
  * Amazon S3 - fixing issues caused by Flash version of signed URL