aboutsummaryrefslogtreecommitdiff
path: root/libraries/phpvideotoolkit/examples/common/pluginobject/plugins
diff options
context:
space:
mode:
authorDalyn Cessac <dalyn.cessac@1214036.no-reply.drupal.org>2011-03-16 11:06:40 -0500
committerDalyn Cessac <dalyn.cessac@1214036.no-reply.drupal.org>2011-03-16 11:06:40 -0500
commita435de089da4dd37c3c183f633a49107c720dd95 (patch)
tree5f92decbf2d4bb27f85c49bfc5b4fcaf938b58b4 /libraries/phpvideotoolkit/examples/common/pluginobject/plugins
parenta31b9883849b0a04420ee1d476fbe08c87bc5d53 (diff)
downloadvideo-a435de089da4dd37c3c183f633a49107c720dd95.tar.gz
video-a435de089da4dd37c3c183f633a49107c720dd95.tar.bz2
Added phpvideotoolkit transcoder and updates to the preset ui
Diffstat (limited to 'libraries/phpvideotoolkit/examples/common/pluginobject/plugins')
-rw-r--r--libraries/phpvideotoolkit/examples/common/pluginobject/plugins/divx.js76
-rw-r--r--libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js191
-rw-r--r--libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash/expressInstall.swfbin0 -> 773 bytes
-rw-r--r--libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flashmedia.js136
-rw-r--r--libraries/phpvideotoolkit/examples/common/pluginobject/plugins/quicktime.js112
-rw-r--r--libraries/phpvideotoolkit/examples/common/pluginobject/plugins/realplayer.js85
-rw-r--r--libraries/phpvideotoolkit/examples/common/pluginobject/plugins/shockwave.js42
-rw-r--r--libraries/phpvideotoolkit/examples/common/pluginobject/plugins/windowsmediaplayer.js119
8 files changed, 761 insertions, 0 deletions
diff --git a/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/divx.js b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/divx.js
new file mode 100644
index 0000000..7e1bd3a
--- /dev/null
+++ b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/divx.js
@@ -0,0 +1,76 @@
+PO.L.DivX = {
+
+ options: {
+ upgrade_url : 'http://go.divx.com/plugin/download/',
+ class_id : 'clsid:67DABFBF-D0AB-41fa-9C46-CC0F21721616',
+ codebase : 'http://go.divx.com/plugin/DivXBrowserPlugin.cab',
+ mime_type : 'video/divx'
+ },
+
+// scripting sdk avaiable here
+// http://download.divx.com/player/DivXWebPlayer_WebmasterSDK.zip
+ params: {
+// mode : null, // null, zero, mini, large, full
+// minVersion : '0.0.0',
+// allowContextMenu : true,
+// autoPlay : false,
+// loop : false,
+// bannerEnabled : false,
+// bufferingMode : 'auto', // null, auto, full
+// previewImage : null,
+// previewMessage : '',
+// previewMessageFontSize : 12,
+// movieTitle : null
+ },
+ attributes: {},
+
+ create: function(src, o, p)
+ {
+ o = PO.U.merge(o, PO.L.DivX.options);
+
+ o.params = PO.U.merge(o.params || {}, PO.L.DivX.params);
+ o.attributes = PO.U.merge(o.attributes || {}, PO.L.DivX.attributes);
+
+ if(o.placeholder && o.placeholder_autoplay) o.params.autoPlay = true;
+
+ return new ObjectEmbed(src, o, PO.L.DivX, p);
+ },
+
+ _installed_version: false,
+ detectVersion: function(o, rv)
+ {
+// this code is lifted/adapted from http://includes.stage6.com/javascript/divx_plugin.js?v4
+ if(PO.L.DivX._installed_version) return PO.L.DivX._installed_version;
+ var pv = new PO.U.PlayerVersion([0,0,0]);
+ if(navigator.plugins && navigator.mimeTypes["application/x-mplayer2"] && navigator.mimeTypes["application/x-mplayer2"].enabledPlugin)
+ {
+ navigator.plugins.refresh(false); // not entirley sure this is neccesary?
+ var rc = new RegExp('divx.*?((web)|(browser))', 'i');
+ for (var i=0; i < navigator.plugins.length; i++)
+ {
+ var x = navigator.plugins[i];
+ if (rc.text(x.name))
+ {
+ var a = x.description.indexOf('version '), v = '1.0.0';
+ if (a != -1) v = x.description.substring(a + 8);
+ pv = new PO.U.PlayerVersion(v.split('.'));
+ break;
+ }
+ }
+ }
+ else
+ {
+ var dp = false, dpv = false;
+ execScript('on error resume next: dp = IsObject(CreateObject("npdivx.DivXBrowserPlugin.1"))', 'VBScript');
+ if(dp)
+ {
+ execScript('on error resume next: dpv = CreateObject("npdivx.DivXBrowserPlugin.1").GetVersion()', 'VBScript');
+ pv = new PO.U.PlayerVersion(dpv.split('.'));
+ }
+ }
+ PO.L.DivX._installed_version = pv;
+ return pv;
+ }
+
+};
+PO.Plugins.DivX.loaded = 1; \ No newline at end of file
diff --git a/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js
new file mode 100644
index 0000000..cdfc97a
--- /dev/null
+++ b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash.js
@@ -0,0 +1,191 @@
+PO.M.Debug.OnExpressInstall = 'PluginObject: Flash Player version "%ver%" is outdated. Version "%verreq%" is required. Running express install.';
+PO.L.Flash = {
+
+ options: {
+ upgrade_url : 'http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash',
+ class_id : 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000',
+ codebase : 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,115,0',
+ mime_type : 'application/x-shockwave-flash',
+ quality : 'high',
+ bgcolor : null,
+ bgcolour : null,
+ use_express_install : false,
+ do_express_install : false,
+ express_install_swf : 'plugins/flash/expressinstall.swf'
+ },
+
+ variables: {}, // these are flashvars
+
+// best docs
+// http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_12701
+ params: {
+// swliveconnect : false,
+// play : true,
+// loop : false,
+// menu : true,
+// quality : 'high',
+// scale : 'showall',
+// align : null,
+// salign : 'tl',
+// wmode : 'window',
+// bgcolor : null,
+// base : ''
+ },
+ attributes: {},
+
+ create: function(src, o, p)
+ {
+ o = PO.U.merge(o, PO.L.Flash.options);
+
+ o.params = PO.U.merge(o.params || {}, PO.L.Flash.params);
+ o.variables = PO.U.merge(o.variables || {}, PO.L.Flash.variables);
+ o.attributes = PO.U.merge(o.attributes || {}, PO.L.Flash.attributes);
+
+ if(o.do_express_install)
+ {
+ o.params.MMplayerType = PO.U.Browser.IE ? 'Active-X' : 'Plugin';
+ if(PO.U.Browser.IE)
+ {
+ o.params.wmode = 'transparent';
+// to complete <------------------------------------------------------------------------------
+ }
+ }
+
+ var v = [];
+ for(var a in o.variables)
+ {
+ v.push(a+'='+escape(o.variables[a]));
+ }
+ if(v.length) o.params.flashvars = v.join('&');
+
+ if(!o.params.bgcolor)
+ {
+ var bg = o.bgcolour ? o.bgcolour : (o.bgcolor ? o.bgcolor : false);
+ if(bg) o.params.bgcolor = bg;
+ }
+ o.params.quality = o.quality;
+
+ return new PO.ObjectEmbed(src, o, PO.L.Flash, p);
+ },
+
+ _express_install_active: false,
+ _installed_version: false,
+ detectVersion: function(o, rv)
+ {
+// most of this is lifted/adapted directly from swfobject methods
+// SWFObject v2.0 rc1 <http://code.google.com/p/swfobject/>
+// Copyright (c) 2007 Geoff Stearns, Michael Williams, and Bobby van der Sluis
+ if(PO.L.Flash._installed_version) return PO.L.Flash._installed_version;
+ var pv = new PO.U.PlayerVersion([0, 0, 0]), ma, mi, rev, d, pva;
+ if (typeof navigator.plugins != 'undefined' && typeof navigator.plugins['Shockwave Flash'] == 'object')
+ {
+ d = navigator.plugins['Shockwave Flash'].description;
+ if (d)
+ {
+ d = d.replace(/^.*\s+(\S+\s+\S+$)/, '$1');
+ ma = parseInt(d.replace(/^(.*)\..*$/, '$1'), 10);
+ min = parseInt(d.replace(/^.*\.(.*)\s.*$/, '$1'), 10);
+ rev = /r/.test(d) ? parseInt(d.replace(/^.*r(.*)$/, '$1'), 10) : 0;
+ pv = new PO.U.PlayerVersion([ma, mi, rev]);
+ }
+ }
+ else if (typeof window.ActiveXObject != 'undefined')
+ {
+ var a = null, fp6_crash = false;
+ try
+ {
+ a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.7');
+ }
+ catch(e)
+ {
+ try
+ {
+ a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash.6');
+ pva = [6,0,21];
+ a.AllowScriptAccess = 'always'; // Introduced in fp6.0.47
+ }
+ catch(e)
+ {
+ if (pva[0] == 6)
+ {
+ fp6_crash = true;
+ }
+ }
+ if (!fp6_crash)
+ {
+ try
+ {
+ a = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
+ }
+ catch(e) {}
+ }
+ }
+ if (!fp6_crash && typeof a == 'object')
+ {
+ try
+ {
+ d = a.GetVariable('$version');
+ if (d)
+ {
+ d = d.split(' ')[1].split(',');
+ pva = [parseInt(d[0], 10), parseInt(d[1], 10), parseInt(d[2], 10)];
+ }
+ }
+ catch(e) {}
+ }
+ pv = new PO.U.PlayerVersion(pva);
+ }
+ PO.L.Flash._installed_version = pv;
+
+ if(pv.ma == 8 && PO.U.Platform.Win)
+ {
+// again copied/adapted from swfobject, see credits above
+ window.attachEvent('onunload', function ()
+ {
+ var o = document.getElementsByTagName('object');
+ if (o)
+ {
+ var ol = o.length;
+ for (var i = 0; i < ol; i++)
+ {
+ o[i].style.display = 'none';
+ for (var x in o[i])
+ {
+ if (typeof o[i][x] == 'function') o[i][x] = function() {};
+ }
+ }
+ }
+ });
+ }
+ if(!pv.validate(rv) && o.use_express_install && pv.validate(new PO.U.PlayerVersion([6,0,65])) && (PO.U.Platform.Win || PO.U.Platform.Apple))
+ {
+// again copied/adapted from swfobject, see credits above
+ PO.L.Flash._express_install_active = true;
+ PO.M.call(PO.M.Debug.OnExpressInstall, {ver:pv.toString(), verreq:rv.toString()}, 'd');
+// if(!o.force_into_id)
+// {
+// h = '<div id="PO_Wrapper_'+this._id+'">'+h+'</div>';
+// }
+ return -1;
+ }
+ return pv;
+ },
+
+ expressInstallCallback: function()
+ {
+// again copied/adapted from swfobject, see credits above
+ if (PO.L.Flash._express_install_active && storedAltContent)
+ {
+ var obj = document.getElementById('SWFObjectExprInst');
+ if (obj)
+ {
+ obj.parentNode.replaceChild(storedAltContent, obj);
+ storedAltContent = null;
+ PO.L.Flash._express_install_active = false;
+ }
+ }
+ }
+};
+// for use with the swfobject express install so simple swaps can be made.
+swfobject = { expressInstallCallback: PO.Plugins.Flash.expressInstallCallback };
+PO.Plugins.Flash.loaded = 1;
diff --git a/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash/expressInstall.swf b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash/expressInstall.swf
new file mode 100644
index 0000000..86958bf
--- /dev/null
+++ b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flash/expressInstall.swf
Binary files differ
diff --git a/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flashmedia.js b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flashmedia.js
new file mode 100644
index 0000000..ceb9043
--- /dev/null
+++ b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/flashmedia.js
@@ -0,0 +1,136 @@
+// uses http://www.jeroenwijering.com/?item=JW_FLV_Media_Player
+PO.L.FlashMedia = {
+
+ options:{
+ player : 'plugins/flash/mediaplayer.swf',
+ auto_fix_path : true, // fixes the src path so it is treated as relative to the html document. only applies if the src url doesn't contain http at the start of the url
+ auto_adjust_height : true, // auto adjust the display height so the video fits correctly and if a playlist is used so does that.
+ use_type_mapping : true // automagically maps file extensions to specifc types.
+ },
+// for more information on the variables you should use this page http://code.longtailvideo.com/trac/wiki/FlashVars#Fileproperties
+// these variables are for v4 of the jw player and above
+ variables : {
+// General
+ config : null, // (undefined): location of a XML file with flashvars. Useful for short embed codes or CDN stream redirecting. example.
+// File properties
+ author : null, // (undefined): author of the video, shown in the display or playlist.
+ captions : null, // (undefined): location of a TT captions XML file.
+ description : null, // (undefined): text description of the file.
+ duration : 0, // (0): duration of the file in seconds.
+ file : null, // (undefined): location of the mediafile or playlist to play.
+ image : null, // (undefined): location of a preview image; shown in display and playlist.
+ link : null, // (undefined): url to an external page the display, controlbar and playlist can link to.
+ start : 0, // (0): position in seconds where playback has to start.
+ title : null, // (undefined): title of the video, shown in the display or playlist.
+ type : null, // (undefined): type of file, can be sound, image, video, youtube, camera, http or rtmp. Use this to override auto-detection.
+// Colors
+ backcolor : 'FFFFFF', // (FFFFFF): background color of the controlbar and playlist.
+ frontcolor : '000000', // (000000): color of all icons and texts in the controlbar and playlist.
+ lightcolor : '000000', // (000000): color of an icon or text when you rollover it with the mouse.
+ screencolor : '000000', // (000000): background color of the display.
+// Layout
+ controlbar : 'bottom', // (bottom): position of the controlbar. Can be set to bottom, over and none.
+ controlbarsize : 20, // (20): height of the controlbar in pixels.
+ height : 400, // (400): height of the display (not the entire player!) in pixels.
+ logo : null, // (undefined): location of an external jpg,png or gif image to show in the display.
+ playlist : 'none', // (none): position of the playlist. Can be set to bottom, over, right or none.
+ playlistsize : 180, // (180): size of the playlist. When below or above, this refers to the height, when right, this refers to the width of the playlist.
+ skin : null, // (undefined): location of a SWF file with the player graphics.
+ width : 280, // (280): width of the display (not the entire player!) in pixels.
+// Playback
+ autostart : false, // (false): automatically start the player on load.
+ bufferlength : 0.1, // (0.1): number of seconds of the file that has to be loaded before starting.
+ displayclick : 'play', // (play): what to do when one clicks the display. Can be play, link, fullscreen, none, mute, next.
+ item : 0, // (0): playlistitem that should start to play. Use this to set a specific start-item.
+ mute : false, // (false): mute all sounds on startup. Is saved as cookie.
+ quality : true, // (true): enables high-quality playback. This sets the smoothing of videos on/off, the deblocking of videos on/off and the dimensions of the camera small/large. Is saved as cookie.
+ repeat : 'none', // (none): set to list to play the entire playlist once and to always to continously play the song/video/playlist.
+ shuffle : false, // (false): shuffle playback of playlistitems.
+ state : 'IDLE', // (IDLE): current playback state of the player (IDLE, BUFFERING, PLAYING, PAUSED, COMPLETED).
+ stretching : 'uniform',// (uniform): defines how to resize images in the display. Can be none (no stretching), exactfit (disproportionate), uniform (stretch with black borders) or fill (uniform, but completely fill the display).
+ volume : 90, // (90): startup volume of the player. Is saved as cookie.
+// External
+ abouttext : null, // (undefined): text to show in the rightclick menu. Please do not change this if you don't have a commercial license! When undefined it shows the player version.
+ aboutlink : 'http://www.jeroenwijering.com/?page=about', // (http://www.jeroenwijering.com/?page=about): url to link to from the rightclick menu. Do not change this if you don't have a commercial license!
+ client : null, // (Flash MAC X,0,XXX,0): Version and platform of the Flash client plugin. Useful to check for e.g. MP4 playback or fullscreen capabilities.
+ id : 'ply', // (ply): ID of the player within the javascript DOM. Useful for javascript interaction.
+ linktarget : '_blank', // (_blank): browserframe where the links from display are opened in. Some possibilities are '_self' (same frame) , '_blank' (new browserwindow) or 'none' (links are ignored in the player, so javascript can handle it).
+ streamer : null, // (undefined): location of a server to use for streaming. Can be an RTMP application (here's an example) or external PHP/ASP file to use for HTTP streaming. If set to lighttpd, the player presumes a Lighttpd server is used to stream videos.
+ tracecall : null // (undefined): name of a javascript function that can be used for tracing the player activity. All events from the view, model and controller are sent there.
+
+ },
+ params: {
+ allowfullscreen:true
+ },
+ attributes: {},
+ typemap:{
+ ut : 'youtube',
+ youtube : 'youtube',
+ tube : 'youtube',
+ mp3 : 'sound',
+ m4a : 'sound',
+ m4b : 'sound',
+ m4p : 'sound',
+ m4v : 'sound',
+ m4r : 'sound',
+ aac : 'sound',
+ '3gp' : 'video',
+ mp4 : 'video',
+ flv : 'video',
+ swf : 'video',
+ jpg : 'image',
+ jpeg: 'image',
+ gif : 'image',
+ png : 'image',
+ mpg : 'video',
+ mpeg: 'video'
+ },
+
+ create: function(src, o, p)
+ {
+ var fo = PO.U.merge(PO.L.Flash.options, PO.L.FlashMedia.options), h = document.location.href;
+ o = PO.U.merge(o, fo);
+ if(o.auto_fix_path && src.indexOf('http') === -1)
+ {
+ src = h.substr(0, h.lastIndexOf('/')+1) + src;
+ }
+
+ var fa = PO.U.merge(PO.L.Flash.attributes, PO.L.FlashMedia.attributes);
+ o.attributes = PO.U.merge(o.attributes || {}, fa);
+
+ var fv = PO.U.merge(PO.L.Flash.variables, PO.L.FlashMedia.variables);
+ o.variables = PO.U.merge(o.variables || {}, fv);
+ o.variables.file = src;
+ if(!o.variables.width) o.variables.width = o.width;
+ if(!o.variables.height) o.variables.height = o.height;
+ if(o.auto_adjust_height)
+ {
+ o.height += o.variables.controlbarsize;
+ if(o.variables.playlist !== 'none')
+ {
+ o.height += o.variables.playlistsize;
+ }
+ }
+
+ if(o.use_type_mapping && o.variables.type === null)
+ {
+ var e = src.split('.').pop().toLowerCase();
+ if(PO.L.FlashMedia.typemap[e]) o.variables.type = PO.L.FlashMedia.typemap[e];
+ }
+ for(var a in o.variables)
+ {
+ if(o.variables[a] === null) delete o.variables[a];
+ }
+
+ var fp = PO.U.merge(PO.L.Flash.params, PO.L.FlashMedia.params);
+ o.params = PO.U.merge(o.params || {}, PO.L.FlashMedia.params);
+ o.bgcolour = o.variables.backcolor;
+
+ if(!o.variables.id) o.variables.id = o.force_id ? o.force_id : 'PluginObject-'+PO.U.hash(8)+'-'+(new Date()).getTime();
+
+ if(o.placeholder && o.placeholder_autoplay) o.variables.autostart = true;
+
+ return PO.L.Flash.create(o.player, o, PO.Plugins.Flash, p);
+ }
+};
+PO.Plugins.FlashMedia.loaded = 1; \ No newline at end of file
diff --git a/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/quicktime.js b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/quicktime.js
new file mode 100644
index 0000000..a54f66f
--- /dev/null
+++ b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/quicktime.js
@@ -0,0 +1,112 @@
+PO.L.Quicktime = {
+
+ options: {
+ upgrade_url : 'http://www.apple.com/quicktime/download/',
+ class_id : 'clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B',
+ codebase : 'http://www.apple.com/qtactivex/qtplugin.cab',
+ mime_type : 'video/quicktime',
+ auto_adjust_height : true,
+ bgcolor : null,
+ bgcolour : null
+ },
+
+// best info
+// http://developer.apple.com/documentation/QuickTime/Conceptual/QTScripting_HTML/QTScripting_HTML_Document/chapter_1000_section_5.html#//apple_ref/doc/uid/TP40001525-2-QuickTimeltEMBEDgtandltOBJECTgtParameters
+ params: {
+// allowembedtagoverrides : true,
+// autohref : false,
+// autoplay : false,
+// bgcolor : '#ffffff',
+// controller : true,
+// correction : 'none',
+// dontflattenwhensaving : true,
+// enablehref : false,
+// enablejavascript : false,
+// endtime : null,
+// fov : 0,
+// goto : null,
+// // hotspotn : null,
+// href : null,
+// kioskmode : true,
+// loop : false,
+// movieid : null,
+// moviename : null,
+// movieqtlist : null,
+// node : null,
+// pan : 0,
+// playeveryframe : false,
+// qtnext : null,
+// qtsrc : null,
+// // url : null,
+// qtsrcchokespeed : null,
+// qtsrcdontusebrowser : false,
+// saveembedtags : true,
+// scale : 'tofit',
+// showlogo : true,
+// starttime : null,
+// target : 'myself',
+// targetcache : true,
+// tilt : 0,
+// urlsubstitute : '',
+// volume : 60
+ },
+ attributes: {},
+
+ create: function(src, o, p)
+ {
+ o = PO.U.merge(o, PO.L.Quicktime.options);
+
+ o.params = PO.U.merge(o.params || {}, PO.L.Quicktime.params);
+ o.attributes = PO.U.merge(o.attributes || {}, PO.L.Quicktime.attributes);
+
+ var e = src.split('.').pop().toLowerCase();
+ if(e != 'mp3' && o.auto_adjust_height && (typeof o.params.controller == 'undefined' || o.params.controller))
+ {
+ o.height += 16;
+ }
+
+ var bg = o.bgcolour ? o.bgcolour : (o.bgcolor ? o.bgcolor : false);
+ if(bg) o.params.bgcolor = bg;
+
+ if(o.placeholder && o.placeholder_autoplay) o.params.autoplay = true;
+
+ return new PO.ObjectEmbed(src, o, PO.L.Quicktime, p);
+ },
+
+ _installed_version: false,
+ detectVersion: function(o, rv)
+ {
+ if(PO.L.Quicktime._installed_version) return PO.L.Quicktime._installed_version;
+ var pv = new PO.U.PlayerVersion([0, 0, 0]);
+ if(navigator.plugins && navigator.mimeTypes.length)
+ {
+ for (var i=0; i < navigator.plugins.length; i++)
+ {
+ var x = navigator.plugins[i];
+ if (x.name.indexOf("QuickTime") > -1)
+ {
+ pv = new PO.U.PlayerVersion(x.name.replace(/([a-z]|[A-Z]|-|\s)+/, '').split('.'));
+ break;
+ }
+ }
+ }
+ else
+ {
+ pv = new PO.U.PlayerVersion([1,0,0]);
+ try
+ {
+ var axo = new ActiveXObject("QuickTimeCheckObject.QuickTimeCheck.1");
+ if (axo.QuickTimeVersion)
+ {
+// get the leading 3 hex digits
+ var v = axo.QuickTimeVersion >> 16;
+ pv = new PO.U.PlayerVersion([(v & 0xf00) >> 8, (v & 0x0f0) >> 4, v & 0x00f]);
+ }
+ }
+ catch(e) {}
+ }
+ PO.L.Quicktime._installed_version = pv;
+ return pv;
+ }
+};
+PO.Plugins.Quicktime.loaded = 1;
diff --git a/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/realplayer.js b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/realplayer.js
new file mode 100644
index 0000000..c638210
--- /dev/null
+++ b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/realplayer.js
@@ -0,0 +1,85 @@
+PO.L.RealPlayer = {
+
+ options: {
+ upgrade_url : 'http://www.real.com/',
+ class_id : 'clsid:CFCDAA03-8BE4-11cf-B84B-0020AFBBCCFA',
+ mime_type : 'audio/x-pn-realaudio-plugin',
+ bgcolor : null,
+ bgcolour : null
+ },
+
+// best info available
+// http://www.w3schools.com/media/media_realvideo.asp
+ params: {
+// backgroundcolor : null,
+// center : 'true',
+// controls : 'All', // see below
+// console : null,
+// autostart : false,
+// nolabels : false,
+// reset : false,
+// autogotoURL : null
+ },
+ attributes: {},
+/*
+ All - Displays a full player with all controls.
+ InfoVolumePanel - Title, author, and copyright and volume slider.
+ InfoPanel - Title, author, and copyright.
+ ControlPanel - Position slider, play, pause, and stop buttons.
+ StatusPanel - Messages, current time position, and clip length.
+ PlayButton - Play and pause buttons.
+ StopButton - Stop button.
+ VolumeSlider - Volume slider.
+ PositionField - Position and clip length.
+ StatusField - Messages.
+ ImageWindow - The video image
+ StatusBar - Status, position and channels.
+*/
+ create: function(src, o, p)
+ {
+ o = PO.U.merge(o, PO.L.RealPlayer.options);
+
+ o.params = PO.U.merge(o.params || {}, PO.L.RealPlayer.params);
+ o.attributes = PO.U.merge(o.attributes || {}, PO.L.RealPlayer.attributes);
+
+ var bg = o.params.backgroundcolor ? o.params.backgroundcolor : (o.bgcolour ? o.bgcolour : (o.bgcolor ? o.bgcolor : '#FFFFFF'));
+ if(bg.charAt(0) != '#' && bg.length == 6) bg = '#' + bg;
+ o.params.backgroundcolor = bg;
+
+ if(!o.params.console) o.params.console = PO.U.hash(8);
+
+ if(o.placeholder && o.placeholder_autoplay) o.params.autostart = true;
+
+ return new PO.ObjectEmbed(src, o, PO.L.RealPlayer, p);
+ },
+
+ _installed_version: false,
+ detectVersion: function(o, rv)
+ {
+ if(PO.L.RealPlayer._installed_version) return PO.L.RealPlayer._installed_version;
+ var pv = false;
+ if(navigator.plugins && navigator.mimeTypes.length)
+ {
+ for (var i=0; i < navigator.plugins.length; i++)
+ {
+ var x = navigator.plugins[i];
+ if (x.name.indexOf('RealPlayer') > -1)
+ {
+ pv = true;
+ }
+ }
+ }
+ else
+ {
+ execScript('on error resume next: rp1 = IsObject(CreateObject("rmocx.RealPlayer G2 Control"))', 'VBScript');
+ execScript('on error resume next: rp2 = IsObject(CreateObject("RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)"))', 'VBScript');
+ execScript('on error resume next: rp3 = IsObject(CreateObject("RealVideo.RealVideo(tm) ActiveX Control (32-bit)"))', 'VBScript');
+ pv = (rp1 || rp2 || rp3);
+ }
+ pv = new PO.U.PlayerVersion([(pv === true) ? 1 : 0, 0, 0]);
+ PO.L.RealPlayer._installed_version = pv;
+ return pv;
+ }
+
+};
+PO.Plugins.RealPlayer.loaded = 1;
diff --git a/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/shockwave.js b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/shockwave.js
new file mode 100644
index 0000000..6af0b2e
--- /dev/null
+++ b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/shockwave.js
@@ -0,0 +1,42 @@
+PO.L.Shockwave = {
+
+ options: {
+ upgrade_url : 'http://www.adobe.com/shockwave/download/',
+ class_id : 'clsid:166B1BCA-3F9C-11CF-8075-44455354000',
+ codebase : 'http://download.macromedia.com/pub/shockwave/cabs/director/sw.cab',
+ mime_type : 'application/x-director'
+ },
+
+ params: {},
+ attributes: {},
+
+ create: function(src, o, p)
+ {
+ o = PO.U.merge(o, PO.L.Shockwave.options);
+
+ o.params = PO.U.merge(o.params || {}, PO.L.Shockwave.params);
+ o.attributes = PO.U.merge(o.attributes || {}, PO.L.Shockwave.attributes);
+
+ return new ObjectEmbed(src, o, PO.L.Shockwave, p);
+ },
+
+ _installed_version: false,
+ detectVersion: function(o, rv)
+ {
+ if(PO.L.Shockwave._installed_version) return PO.L.Shockwave._installed_version;
+ var pv = new PO.U.PlayerVersion([0,0,0]);
+ if (navigator.mimeTypes && navigator.mimeTypes["application/x-director"]&& navigator.mimeTypes["application/x-director"].enabledPlugin)
+ {
+// http://kb.adobe.com/selfservice/viewContent.do?externalId=tn_15722&sliceId=1
+// todo
+ }
+ else
+ {
+// todo
+ }
+ PO.L.Shockwave._installed_version = pv;
+ return pv;
+ }
+
+};
+PO.Plugins.Shockwave.loaded = 1; \ No newline at end of file
diff --git a/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/windowsmediaplayer.js b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/windowsmediaplayer.js
new file mode 100644
index 0000000..2abe5c1
--- /dev/null
+++ b/libraries/phpvideotoolkit/examples/common/pluginobject/plugins/windowsmediaplayer.js
@@ -0,0 +1,119 @@
+PO.L.WindowsMediaPlayer = {
+
+ options: {
+ upgrade_url : PO.U.Browser.Linux ? 'http://www.videolan.org/vlc/' : (PO.U.Platform.Apple ? 'http://www.flip4mac.com/wmv_download.htm' : 'http://www.microsoft.com/windows/windowsmedia/download/AllDownloads.aspx'),
+ class_id : 'clsid:22D6f312-B0F6-11D0-94AB-0080C74C7E95',
+ codebase : 'http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab',
+ mime_type : {
+ 'audio/x-pn-realaudio-plugin' : []
+ },
+ bgcolor : null,
+ bgcolour : null
+ },
+
+ params: {
+// AudioStream : true,
+// AutoSize : true,
+// AutoStart : true, // Sets if the player should start automatically
+// AnimationAtStart : true, // Sets if an animation should show while the file loads
+// AllowScan : true,
+// AllowChangeDisplaySize : true,
+// AutoRewind : false,
+// Balance : false,
+// BaseURL : null,
+// BufferingTime : 5,
+// CaptioningID : null,
+// ClickToPlay : false, // Sets if the player should start when the user clicks in the play area
+// CursorType : false,
+// CurrentPosition : true,
+// CurrentMarker : false,
+// DefaultFrame : null,
+// DisplayBackColor : false,
+// DisplayForeColor : 16777215,
+// DisplayMode : false,
+// DisplaySize : false,
+// Enabled : true,
+// EnableContextMenu : true,
+// EnablePositionControls : true,
+// EnableFullScreenControls: false,
+// EnableTracker : true,
+// // Filename : null, // The URL of the file to play
+// InvokeURLs : true,
+// Language : true,
+// Mute : false,
+// PlayCount : 1,
+// PreviewMode : false,
+// Rate : 1,
+// SAMILang : null,
+// SAMIStyle : null,
+// SAMIFileName : null,
+// SelectionStart : true,
+// SelectionEnd : true,
+// SendOpenStateChangeEvents : true,
+// SendWarningEvents : true,
+// SendErrorEvents : true,
+// SendKeyboardEvents : false,
+// SendMouseClickEvents : false,
+// SendMouseMoveEvents : false,
+// SendPlayStateChangeEvents : true,
+// ShowCaptioning : false,
+// ShowControls : true, // Sets if the player controls should show
+// ShowAudioControls : true, // Sets if the audio controls should show
+// ShowDisplay : false, // Sets if the display should show
+// ShowGotoBar : false, // Sets if the GotoBar should show
+// ShowPositionControls : true,
+// ShowStatusBar : false,
+// ShowTracker : true,
+// TransparantAtStart : false,
+// VideoBorderWidth : false,
+// VideoBorderColor : false,
+// VideoBorder3D : false,
+// Volume : -200,
+// WindowlessVideo : false
+ },
+ attributes: {},
+
+ create: function(src, o, p)
+ {
+ o = PO.U.merge(o, PO.L.WindowsMediaPlayer.options);
+
+ o.params = PO.U.merge(o.params || {}, PO.L.WindowsMediaPlayer.params);
+ o.attributes = PO.U.merge(o.attributes || {}, PO.L.WindowsMediaPlayer.attributes);
+
+ var bg = o.bgcolour ? o.bgcolour : (o.bgcolor ? o.bgcolor : false);
+ if(bg) o.params.bgcolor = bg;
+
+ if(o.placeholder && o.placeholder_autoplay) o.params.AutoStart = true;
+
+ return new PO.ObjectEmbed(src, o, PO.L.WindowsMediaPlayer, p);
+ },
+
+ _installed_version: false,
+ detectVersion: function(o, rv)
+ {
+ if(PO.L.WindowsMediaPlayer._installed_version) return PO.L.WindowsMediaPlayer._installed_version;
+ var pv = false,a;
+ if(navigator.plugins && navigator.plugins.length > 0)
+ {
+ np = navigator.plugins;
+ for (a=0; a < np.length; a++ )
+ {
+ if(np[a].name.indexOf('Windows Media') > -1)
+ {
+ pv = true;
+ break;
+ }
+ }
+ }
+ else
+ {
+ execScript('on error resume next: mp2 = IsObject(CreateObject("MediaPlayer.MediaPlayer.1"))', 'VBScript');
+ pv = (mp2);
+ }
+ pv = new PO.U.PlayerVersion([(pv === true) ? 1 : 0, 0, 0]);
+ PO.L.WindowsMediaPlayer._installed_version = pv;
+ return pv;
+ }
+
+};
+PO.Plugins.WindowsMediaPlayer.loaded = 1;