Version Description
- October 8, 2013 =
- Fixed bug that caused encoding on Windows servers to hang and not show progress.
- Fixed bug that only disabled right-clicking when using the Video.js player.
- Fixed bug that prevented encoding videos from the External URL tab.
- Fixed bug that showed an empty "Replace original with H.264" checkbox if the filename changed.
- Better error reporting when encoding or auto thumbnail creation fails.
- Modified method for determining video's dimensions from FFMPEG/LIBAV output. This will cause videos with single-digit resolutions to fail.
- Adjusted video gallery CSS.
Download this release
Release Info
Developer | kylegilman |
Plugin | Video Embed & Thumbnail Generator |
Version | 4.2.3 |
Comparing to | |
See all releases |
Code changes from version 4.2.2 to 4.2.3
- css/kgvid_styles.css +24 -20
- js/kgvid_video_plugin_admin.js +14 -12
- readme.txt +10 -1
- video-embed-thumbnail-generator.php +85 -49
css/kgvid_styles.css
CHANGED
@@ -3,6 +3,10 @@
|
|
3 |
position: relative;
|
4 |
}
|
5 |
|
|
|
|
|
|
|
|
|
6 |
.kgvid_videodiv {
|
7 |
position: relative;
|
8 |
}
|
@@ -54,8 +58,8 @@ img.kgvid_ios_novideo {
|
|
54 |
background-color: rgba(40, 40, 40, 0.95);
|
55 |
visibility: hidden;
|
56 |
opacity: 0;
|
57 |
-
-webkit-transition: visibility 1s linear, opacity 1s linear;
|
58 |
-
-moz-transition: visibility 1s linear, opacity 1s linear;
|
59 |
-o-transition: visibility 1s linear, opacity 1s linear;
|
60 |
}
|
61 |
|
@@ -114,42 +118,42 @@ img.kgvid_ios_novideo {
|
|
114 |
}
|
115 |
|
116 |
.kgvid_video_gallery_thumb {
|
117 |
-
position: relative;
|
118 |
float: left;
|
119 |
-
display:inline-block;
|
120 |
-
margin:
|
121 |
cursor: pointer; !important
|
122 |
}
|
123 |
|
124 |
-
.kgvid_video_gallery_thumb img {
|
125 |
width: 100%;
|
126 |
max-width:none !important;
|
127 |
-
padding:0px;
|
128 |
-
margin:0px;
|
129 |
}
|
130 |
|
131 |
-
.kgvid_video_gallery_thumb .titlebackground {
|
132 |
-
position:absolute;
|
133 |
-
bottom:10px;
|
134 |
-
left:0px;
|
135 |
-
width:100%;
|
136 |
-
padding:0px;
|
137 |
-
background-color: rgba(0,0,0,0.4);
|
138 |
overflow:hidden;
|
139 |
z-index: 3;
|
140 |
}
|
141 |
|
142 |
.kgvid_video_gallery_thumb:hover .titlebackground {
|
143 |
-
background-color: rgba(0,0,0,0.8);
|
144 |
}
|
145 |
|
146 |
.kgvid_video_gallery_thumb .videotitle {
|
147 |
color:white;
|
148 |
-
letter-spacing:0.05em;
|
149 |
font-size:14px;
|
150 |
line-height: 1.5em;
|
151 |
text-align:center;
|
152 |
-
padding:4px;
|
153 |
}
|
154 |
|
155 |
#kgvid_GalleryVideo {
|
@@ -169,7 +173,7 @@ img.kgvid_ios_novideo {
|
|
169 |
*/
|
170 |
.kgvid_gallery .ui-dialog { position: absolute; width: 300px; background-color:black; z-index:10001; }
|
171 |
.kgvid_gallery .ui-dialog .ui-dialog-titlebar { position: relative; float:right; }
|
172 |
-
.kgvid_gallery .ui-dialog .ui-dialog-title { float: left; }
|
173 |
.kgvid_gallery .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; left:10px; top:-10px; background: none; border: none; text-indent: -9999999px; }
|
174 |
.kgvid_gallery .ui-dialog .ui-dialog-titlebar-close span { display: block; }
|
175 |
.kgvid_gallery .ui-dialog .ui-dialog-titlebar-close span:focus { }
|
@@ -220,4 +224,4 @@ img.kgvid_ios_novideo {
|
|
220 |
.kgvid_gallery .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
221 |
.kgvid_gallery .ui-button-text-icon-primary .ui-button-icon-primary, .kgvid_gallery .ui-button-text-icons .ui-button-icon-primary, .kgvid_gallery .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
222 |
.kgvid_gallery .ui-button-text-icon-secondary .ui-button-icon-secondary, .kgvid_gallery .ui-button-text-icons .ui-button-icon-secondary, .kgvid_gallery .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
223 |
-
.kgvid_gallery .ui-button-text-icons .ui-button-icon-secondary, .kgvid_gallery .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
3 |
position: relative;
|
4 |
}
|
5 |
|
6 |
+
.kgvid_gallerywrapper {
|
7 |
+
display: inline-block;
|
8 |
+
}
|
9 |
+
|
10 |
.kgvid_videodiv {
|
11 |
position: relative;
|
12 |
}
|
58 |
background-color: rgba(40, 40, 40, 0.95);
|
59 |
visibility: hidden;
|
60 |
opacity: 0;
|
61 |
+
-webkit-transition: visibility 1s linear, opacity 1s linear;
|
62 |
+
-moz-transition: visibility 1s linear, opacity 1s linear;
|
63 |
-o-transition: visibility 1s linear, opacity 1s linear;
|
64 |
}
|
65 |
|
118 |
}
|
119 |
|
120 |
.kgvid_video_gallery_thumb {
|
121 |
+
position: relative;
|
122 |
float: left;
|
123 |
+
display:inline-block;
|
124 |
+
margin: 3px 7px;
|
125 |
cursor: pointer; !important
|
126 |
}
|
127 |
|
128 |
+
.kgvid_video_gallery_thumb img {
|
129 |
width: 100%;
|
130 |
max-width:none !important;
|
131 |
+
padding:0px;
|
132 |
+
margin:0px;
|
133 |
}
|
134 |
|
135 |
+
.kgvid_video_gallery_thumb .titlebackground {
|
136 |
+
position:absolute;
|
137 |
+
bottom:10px;
|
138 |
+
left:0px;
|
139 |
+
width:100%;
|
140 |
+
padding:0px;
|
141 |
+
background-color: rgba(0,0,0,0.4);
|
142 |
overflow:hidden;
|
143 |
z-index: 3;
|
144 |
}
|
145 |
|
146 |
.kgvid_video_gallery_thumb:hover .titlebackground {
|
147 |
+
background-color: rgba(0,0,0,0.8);
|
148 |
}
|
149 |
|
150 |
.kgvid_video_gallery_thumb .videotitle {
|
151 |
color:white;
|
152 |
+
letter-spacing:0.05em;
|
153 |
font-size:14px;
|
154 |
line-height: 1.5em;
|
155 |
text-align:center;
|
156 |
+
padding:4px;
|
157 |
}
|
158 |
|
159 |
#kgvid_GalleryVideo {
|
173 |
*/
|
174 |
.kgvid_gallery .ui-dialog { position: absolute; width: 300px; background-color:black; z-index:10001; }
|
175 |
.kgvid_gallery .ui-dialog .ui-dialog-titlebar { position: relative; float:right; }
|
176 |
+
.kgvid_gallery .ui-dialog .ui-dialog-title { float: left; }
|
177 |
.kgvid_gallery .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; left:10px; top:-10px; background: none; border: none; text-indent: -9999999px; }
|
178 |
.kgvid_gallery .ui-dialog .ui-dialog-titlebar-close span { display: block; }
|
179 |
.kgvid_gallery .ui-dialog .ui-dialog-titlebar-close span:focus { }
|
224 |
.kgvid_gallery .ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; }
|
225 |
.kgvid_gallery .ui-button-text-icon-primary .ui-button-icon-primary, .kgvid_gallery .ui-button-text-icons .ui-button-icon-primary, .kgvid_gallery .ui-button-icons-only .ui-button-icon-primary { left: .5em; }
|
226 |
.kgvid_gallery .ui-button-text-icon-secondary .ui-button-icon-secondary, .kgvid_gallery .ui-button-text-icons .ui-button-icon-secondary, .kgvid_gallery .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
227 |
+
.kgvid_gallery .ui-button-text-icons .ui-button-icon-secondary, .kgvid_gallery .ui-button-icons-only .ui-button-icon-secondary { right: .5em; }
|
js/kgvid_video_plugin_admin.js
CHANGED
@@ -519,13 +519,6 @@ function kgvid_change_singleurl(url, basename, oldbasename) {
|
|
519 |
}
|
520 |
});
|
521 |
jQuery('#kgflashmediaplayer-table').data("kgvid_attachment_id", basename);
|
522 |
-
/* document.getElementById('thumb-video-'+oldbasename).setAttribute("onloadedmetadata", "kgvid_thumb_video_loaded('"+basename+"')");
|
523 |
-
document.getElementById('thumb-video-'+oldbasename).id = 'thumb-video-'+basename;
|
524 |
-
document.getElementById('manual-thumbnail').setAttribute("onclick", "kgvid_thumb_video_manual('"+basename+"');");
|
525 |
-
document.getElementById('thumb-video-'+oldbasename+'-container').id = 'thumb-video-'+basename+'-container';
|
526 |
-
document.getElementById('show-thumb-video-'+oldbasename).setAttribute("onclick", "kgvid_reveal_thumb_video('"+basename+"');");
|
527 |
-
document.getElementById('show-thumb-video-'+oldbasename).id = 'show-thumb-video-'+basename;
|
528 |
-
document.getElementById('thumb-video-'+oldbasename+'-player').id = 'thumb-video-'+basename+'-player'; */
|
529 |
jQuery('#attachments-'+oldbasename+'-kgflashmediaplayer-encodeboxes').attr('id', 'attachments-'+basename+'-kgflashmediaplayer-encodeboxes');
|
530 |
document.getElementById('attachments-'+oldbasename+'-thumbnailplaceholder').id = 'attachments-'+basename+'-thumbnailplaceholder';
|
531 |
document.getElementById('attachments-'+basename+'-thumbnailplaceholder').setAttribute("onchange", "document.getElementById('attachments-"+basename+"-thumbtime').value='';");
|
@@ -730,14 +723,23 @@ function kgvid_redraw_thumbnail_box(postID) {
|
|
730 |
|
731 |
if ( kgflashmediaplayersecurity ) {
|
732 |
|
733 |
-
jQuery.post(ajaxurl, { action:"kgvid_redraw_thumbnail_box", security: kgflashmediaplayersecurity, post_id: postID }, function(
|
734 |
-
if (
|
735 |
-
jQuery('#attachments-'+postID+'-thumbnailplaceholder').html('<div class="kgvid_thumbnail_box kgvid_chosen_thumbnail_box"><img width="200" src="'+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
736 |
}
|
737 |
-
|
738 |
else { setTimeout(function(){ kgvid_redraw_thumbnail_box(postID) }, 5000); }
|
739 |
|
740 |
-
}, "
|
741 |
|
742 |
}
|
743 |
}
|
519 |
}
|
520 |
});
|
521 |
jQuery('#kgflashmediaplayer-table').data("kgvid_attachment_id", basename);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
522 |
jQuery('#attachments-'+oldbasename+'-kgflashmediaplayer-encodeboxes').attr('id', 'attachments-'+basename+'-kgflashmediaplayer-encodeboxes');
|
523 |
document.getElementById('attachments-'+oldbasename+'-thumbnailplaceholder').id = 'attachments-'+basename+'-thumbnailplaceholder';
|
524 |
document.getElementById('attachments-'+basename+'-thumbnailplaceholder').setAttribute("onchange", "document.getElementById('attachments-"+basename+"-thumbtime').value='';");
|
723 |
|
724 |
if ( kgflashmediaplayersecurity ) {
|
725 |
|
726 |
+
jQuery.post(ajaxurl, { action:"kgvid_redraw_thumbnail_box", security: kgflashmediaplayersecurity, post_id: postID }, function(data) {
|
727 |
+
if ( data.thumb_url ) {
|
728 |
+
jQuery('#attachments-'+postID+'-thumbnailplaceholder').html('<div class="kgvid_thumbnail_box kgvid_chosen_thumbnail_box"><img width="200" src="'+data.thumb_url+'"></div>');
|
729 |
+
jQuery('#attachments-'+postID+'-kgflashmediaplayer-poster').val(data.thumb_url);
|
730 |
+
if ( data.thumbnail_size_url ) {
|
731 |
+
basename = data.thumb_url.substring(data.thumb_url.lastIndexOf('/')+1, data.thumb_url.indexOf('_thumb'))
|
732 |
+
jQuery('.attachment-preview.type-video:contains('+basename+')').parent().find('img')
|
733 |
+
.attr('src', data.thumbnail_size_url)
|
734 |
+
.css('width', '100%')
|
735 |
+
.css('height', '100%')
|
736 |
+
.css('padding-top', '0');
|
737 |
+
}
|
738 |
}
|
739 |
+
else if ( data.thumb_error ) { jQuery('#attachments-'+postID+'-thumbnailplaceholder').html('<div class="kgvid_thumbnail_box kgvid_chosen_thumbnail_box"><span>'+data.thumb_error+'</span></div>'); }
|
740 |
else { setTimeout(function(){ kgvid_redraw_thumbnail_box(postID) }, 5000); }
|
741 |
|
742 |
+
}, "json" );
|
743 |
|
744 |
}
|
745 |
}
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=kyleg
|
|
4 |
Tags: video, video player, video gallery, html5, shortcode, thumbnail, poster, ffmpeg, libav, embed, mobile, webm, ogg, h.264, h264, responsive, mp4
|
5 |
Requires at least: 3.5
|
6 |
Tested up to: 3.7
|
7 |
-
Stable tag: 4.2.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -153,6 +153,15 @@ Enter the username & password in the plugin settings "FFMPEG Settings" tab, or u
|
|
153 |
|
154 |
== Changelog ==
|
155 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
156 |
= 4.2.2 - October 7, 2013 =
|
157 |
* Fixed bug that was setting the global $content_width to 2048 on every page.
|
158 |
|
4 |
Tags: video, video player, video gallery, html5, shortcode, thumbnail, poster, ffmpeg, libav, embed, mobile, webm, ogg, h.264, h264, responsive, mp4
|
5 |
Requires at least: 3.5
|
6 |
Tested up to: 3.7
|
7 |
+
Stable tag: 4.2.3
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
153 |
|
154 |
== Changelog ==
|
155 |
|
156 |
+
= 4.2.3 - October 8, 2013 =
|
157 |
+
* Fixed bug that caused encoding on Windows servers to hang and not show progress.
|
158 |
+
* Fixed bug that only disabled right-clicking when using the Video.js player.
|
159 |
+
* Fixed bug that prevented encoding videos from the External URL tab.
|
160 |
+
* Fixed bug that showed an empty "Replace original with H.264" checkbox if the filename changed.
|
161 |
+
* Better error reporting when encoding or auto thumbnail creation fails.
|
162 |
+
* Modified method for determining video's dimensions from FFMPEG/LIBAV output. This will cause videos with single-digit resolutions to fail.
|
163 |
+
* Adjusted video gallery CSS.
|
164 |
+
|
165 |
= 4.2.2 - October 7, 2013 =
|
166 |
* Fixed bug that was setting the global $content_width to 2048 on every page.
|
167 |
|
video-embed-thumbnail-generator.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
Plugin Name: Video Embed & Thumbnail Generator
|
4 |
Plugin URI: http://www.kylegilman.net/2011/01/18/video-embed-thumbnail-generator-wordpress-plugin/
|
5 |
Description: Generates thumbnails, HTML5-compliant videos, and embed codes for locally hosted videos. Requires FFMPEG or LIBAV for encoding. <a href="options-general.php?page=video-embed-thumbnail-generator/video-embed-thumbnail-generator.php">Settings</a> | <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=kylegilman@gmail.com&item_name=Video%20Embed%20And%20Thumbnail%20Generator%20Plugin%20Donation">Donate</a>
|
6 |
-
Version: 4.2.
|
7 |
Author: Kyle Gilman
|
8 |
Author URI: http://www.kylegilman.net/
|
9 |
|
@@ -517,6 +517,7 @@ function kgvid_encodevideo_info($movieurl, $postID) {
|
|
517 |
function kgvid_get_video_dimensions($video = false) {
|
518 |
$options = get_option('kgvid_video_embed_options');
|
519 |
$ffmpegPath = $options['app_path']."/".$options['video_app'];
|
|
|
520 |
|
521 |
$video = str_replace("https://", "http://", $video);
|
522 |
|
@@ -529,16 +530,16 @@ function kgvid_get_video_dimensions($video = false) {
|
|
529 |
exec ( $command, $output );
|
530 |
$lastline = end($output);
|
531 |
$lastline = prev($output)."<br />".$lastline;
|
|
|
532 |
$output = implode("\n", $output);
|
533 |
-
|
534 |
-
$regex = "/Video: ([^,]*), ([^,]*), ([0-9]{1,4})x([0-9]{1,4})/";
|
535 |
if (preg_match($regex, $output, $regs)) { $result = $regs[0]; }
|
536 |
else { $result = ""; }
|
537 |
|
538 |
if ( !empty($result) ) {
|
539 |
$movie_info['worked'] = true;
|
540 |
-
$movie_info['width'] = $regs [
|
541 |
-
$movie_info['height'] = $regs [
|
542 |
preg_match('/Duration: (.*?),/', $output, $matches);
|
543 |
$duration = $matches[1];
|
544 |
$movie_duration_hours = intval(substr($duration, -11, 2));
|
@@ -570,12 +571,14 @@ function kgvid_get_video_dimensions($video = false) {
|
|
570 |
else { $movie_info['configuration'][$lib] = "false"; }
|
571 |
}
|
572 |
|
573 |
-
return $movie_info;
|
574 |
|
575 |
-
|
576 |
-
|
|
|
|
|
577 |
}
|
578 |
|
|
|
579 |
}
|
580 |
|
581 |
function kgvid_generate_encode_string($input, $output, $libraries, $format, $width, $height, $rotate) {
|
@@ -686,9 +689,14 @@ class kgvid_Process{
|
|
686 |
else { $this->OS = "linux"; }
|
687 |
|
688 |
$command = $this->command;
|
689 |
-
|
690 |
-
|
691 |
-
|
|
|
|
|
|
|
|
|
|
|
692 |
}
|
693 |
|
694 |
public function setPid($pid){
|
@@ -1182,7 +1190,7 @@ function KGVID_shortcode($atts, $content = ''){
|
|
1182 |
$code .= "\n\t\t\t"."jQuery(document).ready(function(){ kgvid_setup_video('".$div_suffix."'); });";
|
1183 |
}
|
1184 |
|
1185 |
-
if ( $query_atts["right_click"] != "on" ) { $code .= "\n\t\t\t"."jQuery('#video_".$div_suffix."').bind('contextmenu',function() { return false; });"; }
|
1186 |
$code .= "\n\t\t"."</script>"."\n";
|
1187 |
|
1188 |
} //end id_array loop
|
@@ -1372,7 +1380,9 @@ function kgvid_generate_encode_checkboxes($movieurl, $post_id, $page) {
|
|
1372 |
foreach ($video_embed_queue as $video_key => $video_entry) {
|
1373 |
if ( $video_entry['movieurl'] == $movieurl ) {
|
1374 |
foreach ( $video_entry['encode_formats'] as $format => $value ) {
|
1375 |
-
$video_formats
|
|
|
|
|
1376 |
}
|
1377 |
$video_queued = true;
|
1378 |
break;
|
@@ -1381,6 +1391,7 @@ function kgvid_generate_encode_checkboxes($movieurl, $post_id, $page) {
|
|
1381 |
}
|
1382 |
|
1383 |
$checkboxes = '<div id="attachments-'.$post_id.'-kgflashmediaplayer-encodeboxes">';
|
|
|
1384 |
foreach ( $video_formats as $format => $format_stats ) {
|
1385 |
if ( strpos($post_mime_type, $format) !== false ) { continue; } //skip webm or ogv checkbox if the video is webm or ogv
|
1386 |
$encodeset[$format] = "";
|
@@ -1420,7 +1431,11 @@ function kgvid_generate_encode_checkboxes($movieurl, $post_id, $page) {
|
|
1420 |
if ( $format_stats['status'] == "notchecked" ) { $meta[$format] = ' <strong>Encoded</strong>'; }
|
1421 |
if ( $format_stats['status'] != "canceling" ) {
|
1422 |
if ( array_key_exists($format.'id', $encodevideo_info) ) { $child_id[$format] = $encodevideo_info[$format.'id']; }
|
1423 |
-
if ( $encodevideo_info[$format.'_writable']
|
|
|
|
|
|
|
|
|
1424 |
}
|
1425 |
$disabled[$format] = ' disabled title="Format already exists"';
|
1426 |
$checked[$format] = '';
|
@@ -1943,7 +1958,7 @@ add_action('admin_init', 'kgvid_video_embed_options_init' );
|
|
1943 |
|
1944 |
function kgvid_app_path_callback() {
|
1945 |
$options = get_option('kgvid_video_embed_options');
|
1946 |
-
echo "<input class='affects_ffmpeg regular-text code' id='app_path' name='kgvid_video_embed_options[app_path]' type='text' value='"
|
1947 |
}
|
1948 |
|
1949 |
function kgvid_video_app_callback() {
|
@@ -2441,9 +2456,14 @@ function kgvid_cron_new_attachment_handler($post_id) {
|
|
2441 |
}
|
2442 |
|
2443 |
$thumb_output = kgvid_make_thumbs($post_id, $movieurl, $numberofthumbs, 1, $iincreaser, $thumbtimecode, $dofirstframe, 'generate');
|
2444 |
-
|
2445 |
-
|
2446 |
-
|
|
|
|
|
|
|
|
|
|
|
2447 |
if( $options['featured'] == "on" ) {
|
2448 |
if ( !empty($thumb_id) && $post->post_parent ) { set_post_thumbnail($post->post_parent, $thumb_id); }
|
2449 |
}
|
@@ -2582,9 +2602,9 @@ function kgvid_image_attachment_fields_to_edit($form_fields, $post) {
|
|
2582 |
if ( $options['ffmpeg_exists'] == "on" && $options['auto_encode'] == "on" ) {
|
2583 |
$update_script .= 'percent_timeout = setTimeout(function(){ kgvid_redraw_encode_checkboxes("'.$movieurl.'", "'.$post->ID.'", "attachment") }, 5000); jQuery(\'#wpwrap\').data("KGVIDCheckboxTimeout", percent_timeout);';
|
2584 |
}
|
2585 |
-
if ( $options['ffmpeg_exists'] == "on" && $options['auto_thumb'] == "on" ) {
|
2586 |
-
|
2587 |
-
display: inline-block;">Loading thumbnail...</span></div>';
|
2588 |
$update_script .= ' setTimeout(function(){ kgvid_redraw_thumbnail_box("'.$post->ID.'") }, 5000);';
|
2589 |
}
|
2590 |
$update_script .= '});</script>';
|
@@ -2985,8 +3005,15 @@ function kgvid_ajax_redraw_thumbnail_box() {
|
|
2985 |
check_ajax_referer( 'video-embed-thumbnail-generator-nonce', 'security' );
|
2986 |
|
2987 |
$post_id = $_POST['post_id'];
|
2988 |
-
$
|
2989 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2990 |
die();
|
2991 |
|
2992 |
}
|
@@ -3228,7 +3255,7 @@ function media_embedurl_process() {
|
|
3228 |
</div>
|
3229 |
</div>
|
3230 |
|
3231 |
-
<input type='hidden' name='attachments[singleurl][kgflashmediaplayer-security]' id='attachments-kgflashmediaplayer-security' value='<?php echo wp_create_nonce('video-embed-thumbnail-generator-nonce'); ?>' />
|
3232 |
<input type='hidden' name='attachments[singleurl][kgflashmediaplayer-maxwidth]' id='attachments-singleurl-kgflashmediaplayer-maxwidth' value='<?php echo($maxwidth); ?>' />
|
3233 |
<input type='hidden' name='attachments[singleurl][kgflashmediaplayer-maxheight]' id='attachments-singleurl-kgflashmediaplayer-maxheight' value='<?php echo($maxheight); ?>' />
|
3234 |
<input type='hidden' name='attachments[singleurl][kgflashmediaplayer-aspect]' id='attachments-singleurl-kgflashmediaplayer-aspect' value='<?php echo(round($maxheight/$maxwidth, 3)); ?>' />
|
@@ -3412,10 +3439,10 @@ function kgvid_make_thumbs($postID, $movieurl, $numberofthumbs, $i, $iincreaser,
|
|
3412 |
$movie_width = get_post_meta($postID, '_kgflashmediaplayer-actualwidth');
|
3413 |
if ( empty($movie_width) ) {
|
3414 |
$movie_info = kgvid_get_video_dimensions($moviefilepath);
|
3415 |
-
update_post_meta($postID, '_kgflashmediaplayer-actualwidth', $movie_info['width']);
|
3416 |
-
update_post_meta($postID, '_kgflashmediaplayer-actualheight', $movie_info['height']);
|
3417 |
-
update_post_meta($postID, '_kgflashmediaplayer-duration', $movie_info['duration']);
|
3418 |
-
if ( !empty($movie_info['rotate']) ) { update_post_meta($postID, '_kgflashmediaplayer-rotate', $movie_info['rotate']);
|
3419 |
}
|
3420 |
else {
|
3421 |
$movie_info = array (
|
@@ -3488,11 +3515,12 @@ function kgvid_make_thumbs($postID, $movieurl, $numberofthumbs, $i, $iincreaser,
|
|
3488 |
}
|
3489 |
|
3490 |
$ffmpeg_options = '-y -ss '.round($movieoffset).' -i "'.$moviefilepath.'"'.$movie_info['rotate'].' -qscale 1 -vframes 1 -f mjpeg "'.$thumbnailfilename[$i].'"';
|
|
|
3491 |
$thumbnailurl = $thumbnailfilebase."_thumb".round($movieoffset).'.jpg';
|
3492 |
$thumbnailurl = str_replace(" ", "_", $thumbnailurl);
|
3493 |
|
3494 |
exec(escapeshellcmd($ffmpegPath." ".$ffmpeg_options));
|
3495 |
-
|
3496 |
kgvid_schedule_cleanup_generated_files('thumbs');
|
3497 |
|
3498 |
if (floatval($movieoffset) > 60) {
|
@@ -3827,6 +3855,7 @@ function kgvid_encode_videos() {
|
|
3827 |
$cmd = escapeshellcmd($encode_string);
|
3828 |
|
3829 |
if ( !empty($cmd) ) { $cmd = $cmd." > ".$logfile." 2>&1 & echo $!"; }
|
|
|
3830 |
else {
|
3831 |
$arr = array ( "embed_display"=>"<span style='color:red;'>Error: Command 'escapeshellcmd' is disabled on your server.</span>" );
|
3832 |
return $arr;
|
@@ -3844,8 +3873,6 @@ function kgvid_encode_videos() {
|
|
3844 |
wp_schedule_event( time()+86400, 'daily', 'kgvid_cleanup_queue', array ( 'scheduled' ) );
|
3845 |
}
|
3846 |
|
3847 |
-
//update_post_meta($video['attachmentID'], '_kgflashmediaplayer-encode'.$format, 'on');
|
3848 |
-
|
3849 |
$video['encode_formats'][$queued_format] = array (
|
3850 |
'name' => $video_formats[$queued_format]['name'],
|
3851 |
'status' => 'encoding',
|
@@ -3871,10 +3898,6 @@ function kgvid_encode_videos() {
|
|
3871 |
|
3872 |
} //end if there's stuff to encode
|
3873 |
|
3874 |
-
//$output_map = array_map(create_function('$key, $value', 'return $key.":".$value." # ";'), array_keys($process->output), array_values($process->output));
|
3875 |
-
//$output_implode = implode($output_map);
|
3876 |
-
//$embed_display .= "Command: ".$cmd." Output: ".$output_implode;
|
3877 |
-
|
3878 |
update_option('kgvid_video_embed_queue', $video_embed_queue);
|
3879 |
kgvid_encode_progress($video_key, $queued_format, "attachment");
|
3880 |
|
@@ -4015,7 +4038,7 @@ function kgvid_encode_progress($video_key, $format, $page) {
|
|
4015 |
|
4016 |
$embed_display = '<strong>'.ucwords($video_entry['encode_formats'][$format]['status']).'</strong> <div class="kgvid_meter"><div class="kgvid_meter_bar" style="width:'.$percent_done.'%;"><div class="kgvid_meter_text">'.$percent_done_text.'</div></div></div>';
|
4017 |
|
4018 |
-
if ( current_user_can('encode_videos') ) {
|
4019 |
$embed_display .= '<a href="javascript:void(0);" class="kgvid_cancel_button" id="attachments-'.$video_entry["attachmentID"].'-kgflashmediaplayer-cancelencode" onclick="kgvid_cancel_encode('.$pid.', \''.$video_entry["attachmentID"].'\', \''.$video_key.'\', \''.$format.'\');">Cancel</a>';
|
4020 |
}
|
4021 |
|
@@ -4090,7 +4113,8 @@ function kgvid_encode_progress($video_key, $format, $page) {
|
|
4090 |
}
|
4091 |
elseif ( $video_embed_queue[$video_key]['encode_formats']['fullres']['status'] == "Encoding Complete" ) { //if there's nothing left to encode and we're replacing the original
|
4092 |
|
4093 |
-
kgvid_replace_video( $video_key, 'fullres' );
|
|
|
4094 |
|
4095 |
if ( $video_embed_queue[$video_key]['movie_info']['rotate'] != "" ) { //if the video needed rotating
|
4096 |
$video_embed_queue[$video_key]['movie_info']['rotate'] = ""; //clear rotation because we've just fixed that problem
|
@@ -4108,6 +4132,9 @@ function kgvid_encode_progress($video_key, $format, $page) {
|
|
4108 |
}
|
4109 |
update_option('kgvid_video_embed_queue', $video_embed_queue);
|
4110 |
}
|
|
|
|
|
|
|
4111 |
}
|
4112 |
|
4113 |
}
|
@@ -4117,22 +4144,29 @@ function kgvid_encode_progress($video_key, $format, $page) {
|
|
4117 |
$lastline = "Encoding was canceled.";
|
4118 |
}
|
4119 |
$video_embed_queue[$video_key]['encode_formats'][$format]['status'] = "error";
|
4120 |
-
|
4121 |
-
update_option('kgvid_video_embed_queue', $video_embed_queue);
|
4122 |
-
$other_message = $lastline;
|
4123 |
-
$embed_display = '<strong>Error: </strong><span style="color:red;">'.$lastline.'.</span>';
|
4124 |
-
$next_video = kgvid_encode_videos(); //start the next queued video
|
4125 |
-
if ( !empty($next_video['format']) ) {
|
4126 |
-
$embed_display .= '<script type="text/javascript">percent_timeout = setTimeout(function(){'.$script_function.'}, 1000);</script>';
|
4127 |
-
$args = array($next_video['video_key'], $next_video['format'], $page);
|
4128 |
-
wp_schedule_single_event(time()+60, 'kgvid_cron_queue_check', $args);
|
4129 |
-
}
|
4130 |
}
|
4131 |
|
4132 |
-
//$embed_display .= $lastline;
|
4133 |
$arr = array ( "embed_display"=>$embed_display );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4134 |
}
|
4135 |
-
else { $arr = array ( "embed_display"=>"<strong>No log file</strong>" ); }
|
4136 |
|
4137 |
}//if not completed
|
4138 |
else { $arr = array ( "embed_display"=>"<strong>".ucwords($video_embed_queue[$video_key]['encode_formats'][$format]['status'])."</strong>" ); }
|
@@ -4210,6 +4244,8 @@ function kgvid_replace_video ( $video_key, $format ) {
|
|
4210 |
$post->guid = str_replace( $path_parts['extension'], $new_mime['ext'], $post->guid );
|
4211 |
$post->post_mime_type = $new_mime['type'];
|
4212 |
wp_update_post($post);
|
|
|
|
|
4213 |
}
|
4214 |
|
4215 |
function kgvid_clear_completed_queue($type) {
|
3 |
Plugin Name: Video Embed & Thumbnail Generator
|
4 |
Plugin URI: http://www.kylegilman.net/2011/01/18/video-embed-thumbnail-generator-wordpress-plugin/
|
5 |
Description: Generates thumbnails, HTML5-compliant videos, and embed codes for locally hosted videos. Requires FFMPEG or LIBAV for encoding. <a href="options-general.php?page=video-embed-thumbnail-generator/video-embed-thumbnail-generator.php">Settings</a> | <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=kylegilman@gmail.com&item_name=Video%20Embed%20And%20Thumbnail%20Generator%20Plugin%20Donation">Donate</a>
|
6 |
+
Version: 4.2.3
|
7 |
Author: Kyle Gilman
|
8 |
Author URI: http://www.kylegilman.net/
|
9 |
|
517 |
function kgvid_get_video_dimensions($video = false) {
|
518 |
$options = get_option('kgvid_video_embed_options');
|
519 |
$ffmpegPath = $options['app_path']."/".$options['video_app'];
|
520 |
+
$movie_info = array();
|
521 |
|
522 |
$video = str_replace("https://", "http://", $video);
|
523 |
|
530 |
exec ( $command, $output );
|
531 |
$lastline = end($output);
|
532 |
$lastline = prev($output)."<br />".$lastline;
|
533 |
+
$movie_info['output'] = $lastline;
|
534 |
$output = implode("\n", $output);
|
535 |
+
$regex = "/([0-9]{2,4})x([0-9]{2,4})/";
|
|
|
536 |
if (preg_match($regex, $output, $regs)) { $result = $regs[0]; }
|
537 |
else { $result = ""; }
|
538 |
|
539 |
if ( !empty($result) ) {
|
540 |
$movie_info['worked'] = true;
|
541 |
+
$movie_info['width'] = $regs [1] ? $regs [1] : null;
|
542 |
+
$movie_info['height'] = $regs [2] ? $regs [2] : null;
|
543 |
preg_match('/Duration: (.*?),/', $output, $matches);
|
544 |
$duration = $matches[1];
|
545 |
$movie_duration_hours = intval(substr($duration, -11, 2));
|
571 |
else { $movie_info['configuration'][$lib] = "false"; }
|
572 |
}
|
573 |
|
|
|
574 |
|
575 |
+
|
576 |
+
}
|
577 |
+
else {
|
578 |
+
$movie_info['worked'] = false;
|
579 |
}
|
580 |
|
581 |
+
return $movie_info;
|
582 |
}
|
583 |
|
584 |
function kgvid_generate_encode_string($input, $output, $libraries, $format, $width, $height, $rotate) {
|
689 |
else { $this->OS = "linux"; }
|
690 |
|
691 |
$command = $this->command;
|
692 |
+
if ($this->OS != "windows") {
|
693 |
+
exec($command ,$op);
|
694 |
+
$this->output = $op;
|
695 |
+
$this->pid = (int)$op[0];
|
696 |
+
}
|
697 |
+
else {
|
698 |
+
proc_close(proc_open ('start /B '.$command, array(), $foo));
|
699 |
+
}
|
700 |
}
|
701 |
|
702 |
public function setPid($pid){
|
1190 |
$code .= "\n\t\t\t"."jQuery(document).ready(function(){ kgvid_setup_video('".$div_suffix."'); });";
|
1191 |
}
|
1192 |
|
1193 |
+
if ( $query_atts["right_click"] != "on" ) { $code .= "\n\t\t\t"."jQuery('#video_".$div_suffix."_div').bind('contextmenu',function() { return false; });"; }
|
1194 |
$code .= "\n\t\t"."</script>"."\n";
|
1195 |
|
1196 |
} //end id_array loop
|
1380 |
foreach ($video_embed_queue as $video_key => $video_entry) {
|
1381 |
if ( $video_entry['movieurl'] == $movieurl ) {
|
1382 |
foreach ( $video_entry['encode_formats'] as $format => $value ) {
|
1383 |
+
if ( array_key_exists($format, $video_formats) ) { //don't recreate any formats that were previously unset
|
1384 |
+
$video_formats[$format]['status'] = $value['status'];
|
1385 |
+
}
|
1386 |
}
|
1387 |
$video_queued = true;
|
1388 |
break;
|
1391 |
}
|
1392 |
|
1393 |
$checkboxes = '<div id="attachments-'.$post_id.'-kgflashmediaplayer-encodeboxes">';
|
1394 |
+
|
1395 |
foreach ( $video_formats as $format => $format_stats ) {
|
1396 |
if ( strpos($post_mime_type, $format) !== false ) { continue; } //skip webm or ogv checkbox if the video is webm or ogv
|
1397 |
$encodeset[$format] = "";
|
1431 |
if ( $format_stats['status'] == "notchecked" ) { $meta[$format] = ' <strong>Encoded</strong>'; }
|
1432 |
if ( $format_stats['status'] != "canceling" ) {
|
1433 |
if ( array_key_exists($format.'id', $encodevideo_info) ) { $child_id[$format] = $encodevideo_info[$format.'id']; }
|
1434 |
+
if ( $encodevideo_info[$format.'_writable']
|
1435 |
+
&& current_user_can('encode_videos')
|
1436 |
+
&& $format != "fullres" ) {
|
1437 |
+
$meta[$format] .= '<a id="delete-'.$post_id.'-'.$format.'" class="kgvid_delete-format" onclick="kgvid_delete_video(\''.$movieurl.'\', \''.$post_id.'\', \''.$format.'\', \''.$child_id[$format].'\');" href="javascript:void(0)">Delete Permanently</a>';
|
1438 |
+
}
|
1439 |
}
|
1440 |
$disabled[$format] = ' disabled title="Format already exists"';
|
1441 |
$checked[$format] = '';
|
1958 |
|
1959 |
function kgvid_app_path_callback() {
|
1960 |
$options = get_option('kgvid_video_embed_options');
|
1961 |
+
echo "<input class='affects_ffmpeg regular-text code' id='app_path' name='kgvid_video_embed_options[app_path]' type='text' value='".$options['app_path']."' /><a class='kgvid_tooltip' href='javascript:void(0);'><img src='../wp-includes/images/blank.gif'><span class='kgvid_tooltip_classic'>Don't include trailing slash. Example: <code>/usr/local/bin</code>. On Windows servers, use / instead of C:\\"."\n\t";
|
1962 |
}
|
1963 |
|
1964 |
function kgvid_video_app_callback() {
|
2456 |
}
|
2457 |
|
2458 |
$thumb_output = kgvid_make_thumbs($post_id, $movieurl, $numberofthumbs, 1, $iincreaser, $thumbtimecode, $dofirstframe, 'generate');
|
2459 |
+
|
2460 |
+
if ( $thumb_output['lastthumbnumber'] != 'break' ) {
|
2461 |
+
$thumb_id = kgvid_save_thumb($post_id, $post->post_title, $thumb_output['thumb_url']);
|
2462 |
+
update_post_meta($post_id, '_kgflashmediaplayer-poster', $thumb_output['thumb_url']);
|
2463 |
+
update_post_meta($post_id, '_kgflashmediaplayer-poster-id', $thumb_id);
|
2464 |
+
}
|
2465 |
+
else { update_post_meta($post_id, '_kgflashmediaplayer-autothumb-error', $thumb_output['embed_display']); }
|
2466 |
+
|
2467 |
if( $options['featured'] == "on" ) {
|
2468 |
if ( !empty($thumb_id) && $post->post_parent ) { set_post_thumbnail($post->post_parent, $thumb_id); }
|
2469 |
}
|
2602 |
if ( $options['ffmpeg_exists'] == "on" && $options['auto_encode'] == "on" ) {
|
2603 |
$update_script .= 'percent_timeout = setTimeout(function(){ kgvid_redraw_encode_checkboxes("'.$movieurl.'", "'.$post->ID.'", "attachment") }, 5000); jQuery(\'#wpwrap\').data("KGVIDCheckboxTimeout", percent_timeout);';
|
2604 |
}
|
2605 |
+
if ( $options['ffmpeg_exists'] == "on" && $options['auto_thumb'] == "on" && !$thumbnail_url ) {
|
2606 |
+
$thumbnail_html = '<div class="kgvid_thumbnail_box kgvid_chosen_thumbnail_box" style="height:112px;"><span style="margin-top: 45px;
|
2607 |
+
display: inline-block;">Loading thumbnail...</span></div>';
|
2608 |
$update_script .= ' setTimeout(function(){ kgvid_redraw_thumbnail_box("'.$post->ID.'") }, 5000);';
|
2609 |
}
|
2610 |
$update_script .= '});</script>';
|
3005 |
check_ajax_referer( 'video-embed-thumbnail-generator-nonce', 'security' );
|
3006 |
|
3007 |
$post_id = $_POST['post_id'];
|
3008 |
+
$poster_id = get_post_meta($post_id, "_kgflashmediaplayer-poster-id", true);
|
3009 |
+
$thumbnail_size_url = "";
|
3010 |
+
if ( $poster_id ) {
|
3011 |
+
$thumbnail_size_url = wp_get_attachment_image_src($poster_id, 'thumbnail');
|
3012 |
+
}
|
3013 |
+
$response['thumb_url'] = get_post_meta($post_id, "_kgflashmediaplayer-poster", true);
|
3014 |
+
$response['thumbnail_size_url'] = $thumbnail_size_url[0];
|
3015 |
+
$response['thumb_error'] = get_post_meta($post_id, "_kgflashmediaplayer-autothumb-error", true);
|
3016 |
+
echo json_encode($response);
|
3017 |
die();
|
3018 |
|
3019 |
}
|
3255 |
</div>
|
3256 |
</div>
|
3257 |
|
3258 |
+
<input type='hidden' name='attachments[singleurl][kgflashmediaplayer-security]' id='attachments-singleurl-kgflashmediaplayer-security' value='<?php echo wp_create_nonce('video-embed-thumbnail-generator-nonce'); ?>' />
|
3259 |
<input type='hidden' name='attachments[singleurl][kgflashmediaplayer-maxwidth]' id='attachments-singleurl-kgflashmediaplayer-maxwidth' value='<?php echo($maxwidth); ?>' />
|
3260 |
<input type='hidden' name='attachments[singleurl][kgflashmediaplayer-maxheight]' id='attachments-singleurl-kgflashmediaplayer-maxheight' value='<?php echo($maxheight); ?>' />
|
3261 |
<input type='hidden' name='attachments[singleurl][kgflashmediaplayer-aspect]' id='attachments-singleurl-kgflashmediaplayer-aspect' value='<?php echo(round($maxheight/$maxwidth, 3)); ?>' />
|
3439 |
$movie_width = get_post_meta($postID, '_kgflashmediaplayer-actualwidth');
|
3440 |
if ( empty($movie_width) ) {
|
3441 |
$movie_info = kgvid_get_video_dimensions($moviefilepath);
|
3442 |
+
if ( !empty($movie_info['width']) ) { update_post_meta($postID, '_kgflashmediaplayer-actualwidth', $movie_info['width']); }
|
3443 |
+
if ( !empty($movie_info['height']) ) { update_post_meta($postID, '_kgflashmediaplayer-actualheight', $movie_info['height']); }
|
3444 |
+
if ( !empty($movie_info['duration']) ) { update_post_meta($postID, '_kgflashmediaplayer-duration', $movie_info['duration']); }
|
3445 |
+
if ( !empty($movie_info['rotate']) ) { update_post_meta($postID, '_kgflashmediaplayer-rotate', $movie_info['rotate']); }
|
3446 |
}
|
3447 |
else {
|
3448 |
$movie_info = array (
|
3515 |
}
|
3516 |
|
3517 |
$ffmpeg_options = '-y -ss '.round($movieoffset).' -i "'.$moviefilepath.'"'.$movie_info['rotate'].' -qscale 1 -vframes 1 -f mjpeg "'.$thumbnailfilename[$i].'"';
|
3518 |
+
|
3519 |
$thumbnailurl = $thumbnailfilebase."_thumb".round($movieoffset).'.jpg';
|
3520 |
$thumbnailurl = str_replace(" ", "_", $thumbnailurl);
|
3521 |
|
3522 |
exec(escapeshellcmd($ffmpegPath." ".$ffmpeg_options));
|
3523 |
+
if ( is_file($thumbnailfilename[$i]) )
|
3524 |
kgvid_schedule_cleanup_generated_files('thumbs');
|
3525 |
|
3526 |
if (floatval($movieoffset) > 60) {
|
3855 |
$cmd = escapeshellcmd($encode_string);
|
3856 |
|
3857 |
if ( !empty($cmd) ) { $cmd = $cmd." > ".$logfile." 2>&1 & echo $!"; }
|
3858 |
+
|
3859 |
else {
|
3860 |
$arr = array ( "embed_display"=>"<span style='color:red;'>Error: Command 'escapeshellcmd' is disabled on your server.</span>" );
|
3861 |
return $arr;
|
3873 |
wp_schedule_event( time()+86400, 'daily', 'kgvid_cleanup_queue', array ( 'scheduled' ) );
|
3874 |
}
|
3875 |
|
|
|
|
|
3876 |
$video['encode_formats'][$queued_format] = array (
|
3877 |
'name' => $video_formats[$queued_format]['name'],
|
3878 |
'status' => 'encoding',
|
3898 |
|
3899 |
} //end if there's stuff to encode
|
3900 |
|
|
|
|
|
|
|
|
|
3901 |
update_option('kgvid_video_embed_queue', $video_embed_queue);
|
3902 |
kgvid_encode_progress($video_key, $queued_format, "attachment");
|
3903 |
|
4038 |
|
4039 |
$embed_display = '<strong>'.ucwords($video_entry['encode_formats'][$format]['status']).'</strong> <div class="kgvid_meter"><div class="kgvid_meter_bar" style="width:'.$percent_done.'%;"><div class="kgvid_meter_text">'.$percent_done_text.'</div></div></div>';
|
4040 |
|
4041 |
+
if ( current_user_can('encode_videos') && $pid ) {
|
4042 |
$embed_display .= '<a href="javascript:void(0);" class="kgvid_cancel_button" id="attachments-'.$video_entry["attachmentID"].'-kgflashmediaplayer-cancelencode" onclick="kgvid_cancel_encode('.$pid.', \''.$video_entry["attachmentID"].'\', \''.$video_key.'\', \''.$format.'\');">Cancel</a>';
|
4043 |
}
|
4044 |
|
4113 |
}
|
4114 |
elseif ( $video_embed_queue[$video_key]['encode_formats']['fullres']['status'] == "Encoding Complete" ) { //if there's nothing left to encode and we're replacing the original
|
4115 |
|
4116 |
+
$new_movie_url = kgvid_replace_video( $video_key, 'fullres' );
|
4117 |
+
$script_function = 'kgvid_redraw_encode_checkboxes("'.$new_movie_url.'", "'.$video_entry['attachmentID'].'", "'.$page.'")';
|
4118 |
|
4119 |
if ( $video_embed_queue[$video_key]['movie_info']['rotate'] != "" ) { //if the video needed rotating
|
4120 |
$video_embed_queue[$video_key]['movie_info']['rotate'] = ""; //clear rotation because we've just fixed that problem
|
4132 |
}
|
4133 |
update_option('kgvid_video_embed_queue', $video_embed_queue);
|
4134 |
}
|
4135 |
+
|
4136 |
+
$embed_display = '<strong>Encoding Complete</strong> <script type="text/javascript">percent_timeout = setTimeout(function(){'.$script_function.'}, 1000);</script>';
|
4137 |
+
|
4138 |
}
|
4139 |
|
4140 |
}
|
4144 |
$lastline = "Encoding was canceled.";
|
4145 |
}
|
4146 |
$video_embed_queue[$video_key]['encode_formats'][$format]['status'] = "error";
|
4147 |
+
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4148 |
}
|
4149 |
|
|
|
4150 |
$arr = array ( "embed_display"=>$embed_display );
|
4151 |
+
} //if logfile
|
4152 |
+
else {
|
4153 |
+
|
4154 |
+
$video_embed_queue[$video_key]['encode_formats'][$format]['status'] = "error";
|
4155 |
+
$lastline = "No log file";
|
4156 |
+
|
4157 |
+
}
|
4158 |
+
|
4159 |
+
if ( $video_embed_queue[$video_key]['encode_formats'][$format]['status'] == "error" ) {
|
4160 |
+
$video_embed_queue[$video_key]['encode_formats'][$format]['lastline'] = $lastline;
|
4161 |
+
update_option('kgvid_video_embed_queue', $video_embed_queue);
|
4162 |
+
$embed_display = '<strong>Error: </strong><span style="color:red;">'.$lastline.'.</span>';
|
4163 |
+
$next_video = kgvid_encode_videos(); //start the next queued video
|
4164 |
+
if ( !empty($next_video['format']) ) {
|
4165 |
+
$embed_display .= '<script type="text/javascript">percent_timeout = setTimeout(function(){'.$script_function.'}, 1000);</script>';
|
4166 |
+
$args = array($next_video['video_key'], $next_video['format'], $page);
|
4167 |
+
wp_schedule_single_event(time()+60, 'kgvid_cron_queue_check', $args);
|
4168 |
+
}
|
4169 |
}
|
|
|
4170 |
|
4171 |
}//if not completed
|
4172 |
else { $arr = array ( "embed_display"=>"<strong>".ucwords($video_embed_queue[$video_key]['encode_formats'][$format]['status'])."</strong>" ); }
|
4244 |
$post->guid = str_replace( $path_parts['extension'], $new_mime['ext'], $post->guid );
|
4245 |
$post->post_mime_type = $new_mime['type'];
|
4246 |
wp_update_post($post);
|
4247 |
+
|
4248 |
+
return $new_url;
|
4249 |
}
|
4250 |
|
4251 |
function kgvid_clear_completed_queue($type) {
|