Commit cbcdcfbc authored by Aaron Wells's avatar Aaron Wells Committed by Melissa Draper
Browse files

flowplayer: Updating flowplayer with custom build to disallow absolute URLs in config parameters



Also updating to the latest version of flowplayer, and removing all the flowplayer source code
files from the Mahara repo and instead referencing the separate github repo they can be DL'ed from.
(The only 3 files actually used by flowplayer are flowplayer.swf, flowplayer.controls.swf, and the
flowplayer.js file. The rest are only necessary if you want to compile.)

The flowplayer GPL license requires that if we modify the source code and redistribute it,
we must change the name to something not confusing with flowplayer. See "ADDITIONAL TERM per
GPL Section 7", paragraphs 3 & 4.

License files that don't apply to our distribution were also removed.

Change-Id: I400266f7cfb0e560f6afcede65e10f4db626a43a
Signed-off-by: Aaron Wells's avatarAaron Wells <aaronw@catalyst.net.nz>
parent 22779fdf
FLOWPLAYER COMMERCIAL LICENSE version 0.1
==========================================
Copyright (c) 2008 Flowplayer Ltd, all rights reserved
Please read this License carefully before using, downloading or installing
the Software (Flowplayer, as defined below). By using, downloading or
installing the Software, Licensee is agreeing to be bound by this License
and the licenses granted hereunder are subject to compliance with any and
all terms of this License. IF YOU DO NOT ACCEPT THE TERMS AND CONDITIONS
OF THIS LICENSE, DO NOT USE, DOWNLOAD, INSTALL OR DISTRIBUTE ANY OF THE
LICENSED SOFTWARE.
Terms and definitions
=====================
"Software" means the licensed Flowplayer software
"Adaptation" means a derivative work based upon the Licensed Software resulting
from any addition to, editing of or deletion from the substance or structure of the
original source code or a compiled version of the Licensed Software or any previous
Adaptations or a work that programmatically interacts with the Licensed Software.
"Licensed Software" means the same as Software.
"License" means this document.
"Licensor" means Flowplayer Ltd.
"License Key" means an alphanumeric key that is used to activate the Sofware. The License
Key is provided by Licensor.
"Licensee" means an individual or entity exercising rights under and complying with the
terms of this License who has not previously violated the terms of this License with respect
to the Software, or who has received express permission from the Licensor to exercise rights
under this License despite a previous violation.
License Grant
=============
Licensor hereby grants the Licensee a non-exclusive, non-transferable, non-assignable license,
without the right to sublicense to: Access, display, integrate and use the Software in one
(1) Internet domain that has been registered with Licensor. Licensor provides a license key
that is tied to the domain name; and Make an Adaptation and access, display and integrate
it in the one (1) Internet domain that has been registered with Licensor. The Adaptation must
not remove the License Key logic from the Software so that the Adaptation only functions if a
valid license key has been configured for it.
Licensor hereby grants the Licensee a non-exclusive, worldwide, royalty-free, non-transferable,
non-assignable patent license, without the right to sublicense, under any patent rights
the Licensor holds in the Software to use, run, and modify the Software in the one (1) Internet
domain that has been registered with Licensor, provided that any Adaptation made to the Software
does not remove the License Key logic from the Software so that the Adaptation only functions
if a valid license key has been configured for it.
All rights not expressly granted by this Agreement are expressly reserved by Licensor.
Applicability of License
========================
This License applies to the Software version purchased by the Licensee.
Additional later versions released by the Licensor are not part of this License.
Protection of Licensed Software
===============================
Except as specifically set forth herein or as otherwise agreed to between Licensor and Licensee,
Licensee shall not have the right to copy, relicense, sell, lease, transfer, encumber, assign
or make available for public use the Software. Any attempt to take any such actions is void,
and will automatically terminate your rights under this License.
Licensee shall use its best efforts to ensure that no unauthorized copy of the Licensed Programs
shall be made, in whole or in part, in any form. Licensee shall prohibit all users of the Software
from modifying, reverse-engineering or disassembling any part of the Software. All rights not
expressly granted by Licensor are hereby reserved.
Effective Date
==============
The rights and licenses granted hereunder shall commence on the date any of the Software are
electronically delivered to Licensee. Licensor agrees to make the Software available for
electronic delivery to Licensee promptly after receipt by Licensor of the License Fee. For
purposes of this Agreement, the License Fee means the amount of money required to be paid
by Licensee to Licensor for legal usage of the Software under the terms of this agreement.
Termination of the license
==========================
This license is subject to termination by Licensor at any time if (a) Licensee violates any terms
of this License, (b) Licensor has a reasonable basis to believe that Licensee's business is
impairing Licensor's business.
Ownership of Intellectual Property
==================================
Licensor is the sole owner of all intellectual property rights pertaining to the Licensed Software.
Licensor reserves all rights not expressly granted herein.
NO WARRANTY
===========
TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THE LICENSED SOFTWARE IS PROVIDED TO YOU "AS IS,"
WITH ALL FAULTS, WITHOUT WARRANTY OF ANY KIND, AND YOUR USE IS AT YOUR SOLE RISK. THE ENTIRE RISK
OF SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU. LICENSOR DISCLAIMS ANY AND ALL EXPRESS,
IMPLIED OR STATUTORY WARRANTIES, INCLUDING IMPLIED WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY,
FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT OF THIRD PARTY RIGHTS, ANY WARRANTIES OR CONDITIONS
OF TITLE, AND WARRANTIES (IF ANY) ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE. LICENSOR
DOES NOT WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL MEET
YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE UNINTERRUPTED OR ERROR-FREE, OR THAT THE PROGRAM
WILL BE COMPATIBLE WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE PROGRAM WILL BE CORRECTED. NO ORAL
OR WRITTEN ADVICE PROVIDED BY LICENSOR OR ANY AUTHORIZED REPRESENTATIVE SHALL CREATE A WARRANTY. SOME
JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATIONS ON IMPLIED WARRANTIES OR THE LIMITATIONS
ON THE APPLICABLE STATUTORY RIGHTS OF A CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS
MAY NOT APPLY TO YOU. LICENSEE IS SOLELY RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF USING AND
DISTRIBUTING THE LICENSED SOFTWARE AND ASSUMES ALL RISKS ASSOCIATED WITH ITS EXERCISE OF RIGHTS UNDER
THIS AGREEMENT, INCLUDING BUT NOT LIMITED TO THE RISKS AND COSTS OF PROGRAM ERRORS, COMPLIANCE WITH
APPLICABLE LAWS, DAMAGE TO OR LOSS OF DATA, PROGRAMS OR EQUIPMENT, SUITABILITY FOR HOSTING AND
UNAVAILABILITY OR INTERRUPTION OF OPERATIONS.
Limitation of Liability
=======================
Except to the extent required by applicable law, THE CUMULATIVE, AGGREGATE LIABILITY OF LICENSOR
TO LICENSEE FOR ALL CLAIMS RELATED TO THE LICENSED SOFTWARE AND THIS AGREEMENT, WILL NOT EXCEED
THE TOTAL AMOUNT OF ALL LICENSE FEES PAID TO LICENSOR HEREUNDER. LICENSOR WILL NOT IN ANY CASE
BE LIABLE FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, INDIRECT, PUNITIVE, OR EXEMPLARY DAMAGES
ARISING IN ANY WAY OUT OF THE USE OF THE PRODUCT, THE SERVICES OR THIS AGREEMENT, INCLUDING
WITHOUT LIMITATION, DAMAGES FOR LOST PROFIT, LOST REVENUE, LOSS OF USE, LOSS OF DATA, COSTS
OF RECREATING LOST DATA, THE COST OF ANY SUBSTITUTE EQUIPMENT, PROGRAM, OR DATA, OR CLAIMS
BY ANY THIRD PARTY, INCLUDING WITH LIMITATION THIRD PARTY CLAIMS OF INFRINGEMENT OF INTELLECTUAL
PROPERTY RIGHTS, INFRINGEMENT OF COPYRIGHT, TRADEMARK, PATENT, OR TRADE SECRETS. LICENSEE'S
SOLE AND EXCLUSIVE REMEDY IS SET FORTH IN THIS AGREEMENT. THE LIMITATION ON DAMAGES SET FORTH
IN SECTION WILL NOT APPLY TO INDEMNIFICATION OBLIGATIONS OR BREACHES BY LICENSEE.
Indemnity
=========
Licensee shall indemnify Licensor, its employees, officers, licensees and agents for all damages,
costs and expenses, including, without limitation, attorneys’ fees, arising from any claims arising
as a result of Licensee’s use of the Licensed Software, either as provided or as Adapted by Licensee.
Export
======
Licensee agrees and certifies that it will not export or re-export, directly or indirectly, the Licensed
Software contrary to the laws of the United States or any other country.
Severability
============
If for any reason a court of competent jurisdiction finds any provision of this License or portion
thereof, to be unenforceable, that provision of the License shall be enforced to the maximum extent
permissible so as to affect the intent of the parties, and the remainder of this License shall
continue in full force and effect.
Governing Law
=============
This License shall be governed by the laws of Finland. Any disputes arising under this License
shall be heard in the city of Espoo, Finland.
Complete Agreement
===================
This License constitutes the entire agreement between Licensor and Licensee with respect to the
use of the Licensed Software and supersedes all prior or contemporaneous understandings
or agreements, written or oral, regarding such subject matter. No one other than Licensor
has the right to modify or amend this License.
Waiver of Breach
================
No term or provision of this License shall be deemed waived and no breach excused, unless such
waiver or consent shall be in writing and signed by Licensor.
FLOWPLAYER MULTIDOMAIN LICENSE version 0.1
==========================================
Copyright (c) 2008 Flowplayer Ltd, all rights reserved
Please read this License carefully before using, downloading or installing
the Software (Flowplayer, as defined below). By using, downloading or installing
the Software, Licensee is agreeing to be bound by this License and the licenses
granted hereunder are subject to compliance with any and all terms of this License.
IF YOU DO NOT ACCEPT THE TERMS AND CONDITIONS OF THIS LICENSE, DO NOT USE, DOWNLOAD,
INSTALL OR DISTRIBUTE ANY OF THE LICENSED SOFTWARE.
Terms and definitions
=====================
"Software" means the licensed Flowplayer software
"Adaptation" means a derivative work based upon the Licensed Software resulting from
any addition to, editing of or deletion from the substance or structure of the original
source code or a compiled version of the Licensed Software or any previous Adaptations
or a work that programmatically interacts with the Licensed Software.
"Licensed Software" means the same as Software.
"License" means this document.
"Licensor" means Flowplayer Ltd.
"License Key" means an alphanumeric key that is used to activate the Sofware. The License
Key is provided by Licensor.
"Licensee" means an individual or entity exercising rights under and complying with the
terms of this License who has not previously violated the terms of this License with respect
to the Software, or who has received express permission from the Licensor to exercise rights
under this License despite a previous violation.
License Grant
=============
Licensor hereby grants the Licensee a non-exclusive, non-transferable, non-assignable
license, without the right to sublicense to: Access, display, integrate and use the
Software in one hundred (100) Internet domains that have been registered with Licensor.
Licensor provides a license key that is tied to the domain names; and Make an Adaptation
and access, display, and integrate it in the one hundred (100) Internet domains that have
been registered with Licensor. The Adaptation must not remove the License Key logic from
the Software so that the Adaptation only functions if a valid license key has been
configured for it.
Licensor hereby grants the Licensee a non-exclusive, worldwide, royalty-free,
non-transferable, non-assignable patent license, without the right to sublicense,
under any patent rights the Licensor holds in the Software to use, run, and modify
the Software in the one hundred (100) Internet domains that have been registered
with Licensor, provided that any Adaptation made to the Software does not remove
the License Key logic from the Software so that the Adaptation only functions if a valid
license key has been configured for it.
All rights not expressly granted by this Agreement are expressly reserved by Licensor.
Applicability of License
========================
This License applies to the Software version purchased by the Licensee.
Additional later versions released by the Licensor are not part of this License.
Protection of Licensed Software
===============================
Except as specifically set forth herein or as otherwise agreed to between Licensor
and Licensee, Licensee shall not have the right to copy, relicense, sell, lease,
transfer, encumber, assign or make available for public use the Software. Any attempt
to take any such actions is void, and will automatically terminate your rights
under this License.
Licensee shall use its best efforts to ensure that no unauthorized copy of the Licensed
Programs shall be made, in whole or in part, in any form. Licensee shall prohibit all
users of the Software from modifying, reverse-engineering or disassembling any part
of the Software. All rights not expressly granted by Licensor are hereby reserved.
Effective Date
==============
The rights and licenses granted hereunder shall commence on the date any of the Software
are electronically delivered to Licensee. Licensor agrees to make the Software available
for electronic delivery to Licensee promptly after receipt by Licensor of the License Fee.
For purposes of this Agreement, the License Fee means the amount of money required to be
paid by Licensee to Licensor for legal usage of the Software under the terms of this agreement.
Termination of the license
==========================
This license is subject to termination by Licensor at any time if (a) Licensee violates an
y terms of this License, (b) Licensor has a reasonable basis to believe that Licensee's
business is impairing Licensor's business.
Ownership of Intellectual Property
==================================
Licensor is the sole owner of all intellectual property rights pertaining to the Licensed
Software. Licensor reserves all rights not expressly granted herein.
No Warranty
===========
TO THE FULLEST EXTENT PERMISSIBLE UNDER APPLICABLE LAW, THE LICENSED SOFTWARE IS PROVIDED
TO YOU "AS IS," WITH ALL FAULTS, WITHOUT WARRANTY OF ANY KIND, AND YOUR USE IS AT YOUR
SOLE RISK. THE ENTIRE RISK OF SATISFACTORY QUALITY AND PERFORMANCE RESIDES WITH YOU.
LICENSOR DISCLAIMS ANY AND ALL EXPRESS, IMPLIED OR STATUTORY WARRANTIES, INCLUDING IMPLIED
WARRANTIES OF MERCHANTABILITY, SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE,
NONINFRINGEMENT OF THIRD PARTY RIGHTS, ANY WARRANTIES OR CONDITIONS OF TITLE, AND WARRANTIES
(IF ANY) ARISING FROM A COURSE OF DEALING, USAGE, OR TRADE PRACTICE. LICENSOR DOES NOT
WARRANT AGAINST INTERFERENCE WITH YOUR ENJOYMENT OF THE PROGRAM; THAT THE PROGRAM WILL
MEET YOUR REQUIREMENTS; THAT OPERATION OF THE PROGRAM WILL BE UNINTERRUPTED OR ERROR-FREE,
OR THAT THE PROGRAM WILL BE COMPATIBLE WITH THIRD PARTY SOFTWARE OR THAT ANY ERRORS IN THE
PROGRAM WILL BE CORRECTED. NO ORAL OR WRITTEN ADVICE PROVIDED BY LICENSOR OR ANY AUTHORIZED
REPRESENTATIVE SHALL CREATE A WARRANTY. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION
OF OR LIMITATIONS ON IMPLIED WARRANTIES OR THE LIMITATIONS ON THE APPLICABLE STATUTORY
RIGHTS OF A CONSUMER, SO SOME OR ALL OF THE ABOVE EXCLUSIONS AND LIMITATIONS MAY NOT
APPLY TO YOU. LICENSEE IS SOLELY RESPONSIBLE FOR DETERMINING THE APPROPRIATENESS OF USING
AND DISTRIBUTING THE LICENSED SOFTWARE AND ASSUMES ALL RISKS ASSOCIATED WITH ITS EXERCISE
OF RIGHTS UNDER THIS AGREEMENT, INCLUDING BUT NOT LIMITED TO THE RISKS AND COSTS OF PROGRAM
ERRORS, COMPLIANCE WITH APPLICABLE LAWS, DAMAGE TO OR LOSS OF DATA, PROGRAMS OR EQUIPMENT,
SUITABILITY FOR HOSTING AND UNAVAILABILITY OR INTERRUPTION OF OPERATIONS.
Limitation of Liability
=======================
Except to the extent required by applicable law, THE CUMULATIVE, AGGREGATE LIABILITY OF
LICENSOR TO LICENSEE FOR ALL CLAIMS RELATED TO THE LICENSED SOFTWARE AND THIS AGREEMENT,
WILL NOT EXCEED THE TOTAL AMOUNT OF ALL LICENSE FEES PAID TO LICENSOR HEREUNDER. LICENSOR
WILL NOT IN ANY CASE BE LIABLE FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, INDIRECT, PUNITIVE,
OR EXEMPLARY DAMAGES ARISING IN ANY WAY OUT OF THE USE OF THE PRODUCT, THE SERVICES OR
THIS AGREEMENT, INCLUDING WITHOUT LIMITATION, DAMAGES FOR LOST PROFIT, LOST REVENUE,
LOSS OF USE, LOSS OF DATA, COSTS OF RECREATING LOST DATA, THE COST OF ANY SUBSTITUTE EQUIPMENT,
PROGRAM, OR DATA, OR CLAIMS BY ANY THIRD PARTY, INCLUDING WITH LIMITATION THIRD PARTY CLAIMS
OF INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS, INFRINGEMENT OF COPYRIGHT, TRADEMARK,
PATENT, OR TRADE SECRETS. LICENSEE'S SOLE AND EXCLUSIVE REMEDY IS SET FORTH IN THIS AGREEMENT.
THE LIMITATION ON DAMAGES SET FORTH IN SECTION WILL NOT APPLY TO INDEMNIFICATION OBLIGATIONS
OR BREACHES BY LICENSEE.
Indemnity
=========
Licensee shall indemnify Licensor, its employees, officers, licensees and agents for
all damages, costs and expenses, including, without limitation, attorneys‰Ûª fees, arising from
any claims arising as a result of Licensee‰Ûªs use of the Licensed Software, either as provided
or as Adapted by Licensee.
Export
======
Licensee agrees and certifies that it will not export or re-export, directly or indirectly,
the Licensed Software contrary to the laws of the United States or any other country.
Severability
============
If for any reason a court of competent jurisdiction finds any provision of this License or portion
thereof, to be unenforceable, that provision of the License shall be enforced to the maximum extent
permissible so as to affect the intent of the parties, and the remainder of this License shall
continue in full force and effect.
Governing Law
=============
This License shall be governed by the laws of Finland. Any disputes arising under this License
shall be heard in the city of Espoo, Finland.
Complete Agreement
===================
This License constitutes the entire agreement between Licensor and Licensee with respect to the
use of the Licensed Software and supersedes all prior or contemporaneous understandings or agreements,
written or oral, regarding such subject matter. No one other than Licensor has the right to modify
or amend this License.
Waiver of Breach
================
No term or provision of this License shall be deemed waived and no breach excused, unless such
waiver or consent shall be in writing and signed by Licensor.
You should have received a separate Flowplayer Unlimited license document.
\ No newline at end of file
Flowplayer in Mahara
=====================
Website: http://flowplayer.org
Version: 3.2.7
This flash video player is used by the internal media blocktype.
Changes:
* Removed the proprietary bits from the source zipfile
* Added source for the javscript bit
(http://flowplayer.org/documentation/api/index.html#download1)
# you need to adjust following to point to your Flex SDK
flex3dir=/Users/Api/flex_sdk_4
# change following to point to .exe files when running on Windows
mxmlc_bin= ${flex3bindir}/mxmlc
compc_bin= ${flex3bindir}/compc
asdoc_bin= /Users/Api/flex_sdk_3/bin/asdoc
devkit-dir=../flowplayer.devkit
plugins.dir=../
deploy.dir=/Users/api/flowplayer.org/out/artifacts/setup_war_exploded/swf
# 3.2.4
#plugin.buildfiles=rtmp/build.xml,pseudostreaming/build.xml
#plugin.buildfiles=bwcheck/build.xml, \
# analytics/build.xml, \
# audio/build.xml, \
# captions/build.xml, \
# cluster/build.xml, \
# controls/build.xml,controls/build-air.xml,controls/build-tube.xml,controls/build-skinless.xml, \
# pseudostreaming/build.xml, \
# securestreaming/build.xml, \
# viralvideos/build.xml, \
# sharing/build.xml
#
plugin.buildfiles=bwcheck/build.xml,controls/build.xml,controls/build-air.xml,controls/build-tube.xml,controls/build-skinless.xml, \
viralvideos/build.xml,pseudostreaming/build.xml,securestreaming/build.xml,smil/build.xml,sharing/build.xml
for plugins that can be built inside the player
plugin-classes=${plugins.dir}controls/src/actionscript ${plugins.dir}content/src/actionscript \
${plugins.dir}akamai/src/actionscript ${plugins.dir}rtmp/src/actionscript ${plugins.dir}pseudostreaming/src/actionscript \
${plugins.dir}audio/src/actionscript ${plugins.dir}bwcheck/src/actionscript ${plugins.dir}cluster/src/actionscript \
${plugins.dir}captions/src/actionscript ${plugins.dir}securestreaming/src/actionscript ${plugins.dir}smil/src/actionscript \
${plugins.dir}common/src/actionscript
plugin-swc=../controls/src/flash ../content/src/flash ../viralvideos/src/flash ../pseudostreaming/lib
controls-dir=../controls
# following can usually be left as they are
flex3bindir=${flex3dir}/bin
flex3libsdir=${flex3dir}/frameworks/libs
flashplayer_bin=
framerate=24
bgcolor=0xFFFFFF
width=500
height=350
Str
\ No newline at end of file
/*
* flowplayer.js 3.2.6. The Flowplayer API
*
* Copyright 2009-2011 Flowplayer Oy
*
* This file is part of Flowplayer.
*
* Flowplayer is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Flowplayer is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Flowplayer. If not, see <http://www.gnu.org/licenses/>.
*
* Date: 2011-02-04 05:45:28 -0500 (Fri, 04 Feb 2011)
* Revision: 614
*/
(function(){function g(o){console.log("$f.fireEvent",[].slice.call(o))}function k(q){if(!q||typeof q!="object"){return q}var o=new q.constructor();for(var p in q){if(q.hasOwnProperty(p)){o[p]=k(q[p])}}return o}function m(t,q){if(!t){return}var o,p=0,r=t.length;if(r===undefined){for(o in t){if(q.call(t[o],o,t[o])===false){break}}}else{for(var s=t[0];p<r&&q.call(s,p,s)!==false;s=t[++p]){}}return t}function c(o){return document.getElementById(o)}function i(q,p,o){if(typeof p!="object"){return q}if(q&&p){m(p,function(r,s){if(!o||typeof s!="function"){q[r]=s}})}return q}function n(s){var q=s.indexOf(".");if(q!=-1){var p=s.slice(0,q)||"*";var o=s.slice(q+1,s.length);var r=[];m(document.getElementsByTagName(p),function(){if(this.className&&this.className.indexOf(o)!=-1){r.push(this)}});return r}}function f(o){o=o||window.event;if(o.preventDefault){o.stopPropagation();o.preventDefault()}else{o.returnValue=false;o.cancelBubble=true}return false}function j(q,o,p){q[o]=q[o]||[];q[o].push(p)}function e(){return"_"+(""+Math.random()).slice(2,10)}var h=function(t,r,s){var q=this,p={},u={};q.index=r;if(typeof t=="string"){t={url:t}}i(this,t,true);m(("Begin*,Start,Pause*,Resume*,Seek*,Stop*,Finish*,LastSecond,Update,BufferFull,BufferEmpty,BufferStop").split(","),function(){var v="on"+this;if(v.indexOf("*")!=-1){v=v.slice(0,v.length-1);var w="onBefore"+v.slice(2);q[w]=function(x){j(u,w,x);return q}}q[v]=function(x){j(u,v,x);return q};if(r==-1){if(q[w]){s[w]=q[w]}if(q[v]){s[v]=q[v]}}});i(this,{onCuepoint:function(x,w){if(arguments.length==1){p.embedded=[null,x];return q}if(typeof x=="number"){x=[x]}var v=e();p[v]=[x,w];if(s.isLoaded()){s._api().fp_addCuepoints(x,r,v)}return q},update:function(w){i(q,w);if(s.isLoaded()){s._api().fp_updateClip(w,r)}var v=s.getConfig();var x=(r==-1)?v.clip:v.playlist[r];i(x,w,true)},_fireEvent:function(v,y,w,A){if(v=="onLoad"){m(p,function(B,C){if(C[0]){s._api().fp_addCuepoints(C[0],r,B)}});return false}A=A||q;if(v=="onCuepoint"){var z=p[y];if(z){return z[1].call(s,A,w)}}if(y&&"onBeforeBegin,onMetaData,onStart,onUpdate,onResume".indexOf(v)!=-1){i(A,y);if(y.metaData){if(!A.duration){A.duration=y.metaData.duration}else{A.fullDuration=y.metaData.duration}}}var x=true;m(u[v],function(){x=this.call(s,A,y,w)});return x}});if(t.onCuepoint){var o=t.onCuepoint;q.onCuepoint.apply(q,typeof o=="function"?[o]:o);delete t.onCuepoint}m(t,function(v,w){if(typeof w=="function"){j(u,v,w);delete t[v]}});if(r==-1){s.onCuepoint=this.onCuepoint}};var l=function(p,r,q,t){var o=this,s={},u=false;if(t){i(s,t)}m(r,function(v,w){if(typeof w=="function"){s[v]=w;delete r[v]}});i(this,{animate:function(y,z,x){if(!y){return o}if(typeof z=="function"){x=z;z=500}if(typeof y=="string"){var w=y;y={};y[w]=z;z=500}if(x){var v=e();s[v]=x}if(z===undefined){z=500}r=q._api().fp_animate(p,y,z,v);return o},css:function(w,x){if(x!==undefined){var v={};v[w]=x;w=v}r=q._api().fp_css(p,w);i(o,r);return o},show:function(){this.display="block";q._api().fp_showPlugin(p);return o},hide:function(){this.display="none";q._api().fp_hidePlugin(p);return o},toggle:function(){this.display=q._api().fp_togglePlugin(p);return o},fadeTo:function(y,x,w){if(typeof x=="function"){w=x;x=500}if(w){var v=e();s[v]=w}this.display=q._api().fp_fadeTo(p,y,x,v);this.opacity=y;return o},fadeIn:function(w,v){return o.fadeTo(1,w,v)},fadeOut:function(w,v){return o.fadeTo(0,w,v)},getName:function(){return p},getPlayer:function(){return q},_fireEvent:function(w,v,x){if(w=="onUpdate"){var z=q._api().fp_getPlugin(p);if(!z){return}i(o,z);delete o.methods;if(!u){m(z.methods,function(){var B=""+this;o[B]=function(){var C=[].slice.call(arguments);var D=q._api().fp_invoke(p,B,C);return D==="undefined"||D===undefined?o:D}});u=true}}var A=s[w];if(A){var y=A.apply(o,v);if(w.slice(0,1)=="_"){delete s[w]}return y}return o}})};function b(q,G,t){var w=this,v=null,D=false,u,s,F=[],y={},x={},E,r,p,C,o,A;i(w,{id:function(){return E},isLoaded:function(){return(v!==null&&v.fp_play!==undefined&&!D)},getParent:function(){return q},hide:function(H){if(H){q.style.height="0px"}if(w.isLoaded()){v.style.height="0px"}return w},show:function(){q.style.height=A+"px";if(w.isLoaded()){v.style.height=o+"px"}return w},isHidden:function(){return w.isLoaded()&&parseInt(v.style.height,10)===0},load:function(J){if(!w.isLoaded()&&w._fireEvent("onBeforeLoad")!==false){var H=function(){u=q.innerHTML;if(u&&!flashembed.isSupported(G.version)){q.innerHTML=""}if(J){J.cached=true;j(x,"onLoad",J)}flashembed(q,G,{config:t})};var I=0;m(a,function(){this.unload(function(K){if(++I==a.length){H()}})})}return w},unload:function(J){if(this.isFullscreen()&&/WebKit/i.test(navigator.userAgent)){if(J){J(false)}return w}if(u.replace(/\s/g,"")!==""){if(w._fireEvent("onBeforeUnload")===false){if(J){J(false)}return w}D=true;try{if(v){v.fp_close();w._fireEvent("onUnload")}}catch(H){}var I=function(){v=null;q.innerHTML=u;D=false;if(J){J(true)}};setTimeout(I,50)}else{if(J){J(false)}}return w},getClip:function(H){if(H===undefined){H=C}return F[H]},getCommonClip:function(){return s},getPlaylist:function(){return F},getPlugin:function(H){var J=y[H];if(!J&&w.isLoaded()){var I=w._api().fp_getPlugin(H);if(I){J=new l(H,I,w);y[H]=J}}return J},getScreen:function(){return w.getPlugin("screen")},getControls:function(){return w.getPlugin("controls")._fireEvent("onUpdate")},getLogo:function(){try{return w.getPlugin("logo")._fireEvent("onUpdate")}catch(H){}},getPlay:function(){return w.getPlugin("play")._fireEvent("onUpdate")},getConfig:function(H){return H?k(t):t},getFlashParams:function(){return G},loadPlugin:function(K,J,M,L){if(typeof M=="function"){L=M;M={}}var I=L?e():"_";w._api().fp_loadPlugin(K,J,M,I);var H={};H[I]=L;var N=new l(K,null,w,H);y[K]=N;return N},getState:function(){return w.isLoaded()?v.fp_getState():-1},play:function(I,H){var J=function(){if(I!==undefined){w._api().fp_play(I,H)}else{w._api().fp_play()}};if(w.isLoaded()){J()}else{if(D){setTimeout(function(){w.play(I,H)},50)}else{w.load(function(){J()})}}return w},getVersion:function(){var I="flowplayer.js 3.2.6";if(w.isLoaded()){var H=v.fp_getVersion();H.push(I);return H}return I},_api:function(){if(!w.isLoaded()){throw"Flowplayer "+w.id()+" not loaded when calling an API method"}return v},setClip:function(H){w.setPlaylist([H]);return w},getIndex:function(){return p},_swfHeight:function(){return v.clientHeight}});m(("Click*,Load*,Unload*,Keypress*,Volume*,Mute*,Unmute*,PlaylistReplace,ClipAdd,Fullscreen*,FullscreenExit,Error,MouseOver,MouseOut").split(","),function(){var H="on"+this;if(H.indexOf("*")!=-1){H=H.slice(0,H.length-1);var I="onBefore"+H.slice(2);w[I]=function(J){j(x,I,J);return w}}w[H]=function(J){j(x,H,J);return w}});m(("pause,resume,mute,unmute,stop,toggle,seek,getStatus,getVolume,setVolume,getTime,isPaused,isPlaying,startBuffering,stopBuffering,isFullscreen,toggleFullscreen,reset,close,setPlaylist,addClip,playFeed,setKeyboardShortcutsEnabled,isKeyboardShortcutsEnabled").split(","),function(){var H=this;w[H]=function(J,I){if(!w.isLoaded()){return w}var K=null;if(J!==undefined&&I!==undefined){K=v["fp_"+H](J,I)}else{K=(J===undefined)?v["fp_"+H]():v["fp_"+H](J)}return K==="undefined"||K===undefined?w:K}});w._fireEvent=function(Q){if(typeof Q=="string"){Q=[Q]}var R=Q[0],O=Q[1],M=Q[2],L=Q[3],K=0;if(t.debug){g(Q)}if(!w.isLoaded()&&R=="onLoad"&&O=="player"){v=v||c(r);o=w._swfHeight();m(F,function(){this._fireEvent("onLoad")});m(y,function(S,T){T._fireEvent("onUpdate")});s._fireEvent("onLoad")}if(R=="onLoad"&&O!="player"){return}if(R=="onError"){if(typeof O=="string"||(typeof O=="number"&&typeof M=="number")){O=M;M=L}}if(R=="onContextMenu"){m(t.contextMenu[O],function(S,T){T.call(w)});return}if(R=="onPluginEvent"||R=="onBeforePluginEvent"){var H=O.name||O;var I=y[H];if(I){I._fireEvent("onUpdate",O);return I._fireEvent(M,Q.slice(3))}return}if(R=="onPlaylistReplace"){F=[];var N=0;m(O,function(){F.push(new h(this,N++,w))})}if(R=="onClipAdd"){if(O.isInStream){return}O=new h(O,M,w);F.splice(M,0,O);for(K=M+1;K<F.length;K++){F[K].index++}}var P=true;if(typeof O=="number"&&O<F.length){C=O;var J=F[O];if(J){P=J._fireEvent(R,M,L)}if(!J||P!==false){P=s._fireEvent(R,M,L,J)}}m(x[R],function(){P=this.call(w,O,M);if(this.cached){x[R].splice(K,1)}if(P===false){return false}K++});return P};function B(){if($f(q)){$f(q).getParent().innerHTML="";p=$f(q).getIndex();a[p]=w}else{a.push(w);p=a.length-1}A=parseInt(q.style.height,10)||q.clientHeight;E=q.id||"fp"+e();r=G.id||E+"_api";G.id=r;t.playerId=E;if(typeof t=="string"){t={clip:{url:t}}}if(typeof t.clip=="string"){t.clip={url:t.clip}}t.clip=t.clip||{};if(q.getAttribute("href",2)&&!t.clip.url){t.clip.url=q.getAttribute("href",2)}s=new h(t.clip,-1,w);t.playlist=t.playlist||[t.clip];var I=0;m(t.playlist,function(){var K=this;if(typeof K=="object"&&K.length){K={url:""+K}}m(t.clip,function(L,M){if(M!==undefined&&K[L]===undefined&&typeof M!="function"){K[L]=M}});t.playlist[I]=K;K=new h(K,I,w);F.push(K);I++});m(t,function(K,L){if(typeof L=="function"){if(s[K]){s[K](L)}else{j(x,K,L)}delete t[K]}});m(t.plugins,function(K,L){if(L){y[K]=new l(K,L,w)}});if(!t.plugins||t.plugins.controls===undefined){y.controls=new l("controls",null,w)}y.canvas=new l("canvas",null,w);u=q.innerHTML;function J(L){var K=w.hasiPadSupport&&w.hasiPadSupport();if(/iPad|iPhone|iPod/i.test(navigator.userAgent)&&!/.flv$/i.test(F[0].url)&&!K){return true}if(!w.isLoaded()&&w._fireEvent("onBeforeClick")!==false){w.load()}return f(L)}function H(){if(u.replace(/\s/g,"")!==""){if(q.addEventListener){q.addEventListener("click",J,false)}else{if(q.attachEvent){q.attachEvent("onclick",J)}}}else{if(q.addEventListener){q.addEventListener("click",f,false)}w.load()}}setTimeout(H,0)}if(typeof q=="string"){var z=c(q);if(!z){throw"Flowplayer cannot access element: "+q}q=z;B()}else{B()}}var a=[];function d(o){this.length=o.length;this.each=function(p){m(o,p)};this.size=function(){return o.length}}window.flowplayer=window.$f=function(){var p=null;var o=arguments[0];if(!arguments.length){m(a,function(){if(this.isLoaded()){p=this;return false}});return p||a[0]}if(arguments.length==1){if(typeof o=="number"){return a[o]}else{if(o=="*"){return new d(a)}m(a,function(){if(this.id()==o.id||this.id()==o||this.getParent()==o){p=this;return false}});return p}}if(arguments.length>1){var t=arguments[1],q=(arguments.length==3)?arguments[2]:{};if(typeof t=="string"){t={src:t}}t=i({bgcolor:"#000000",version:[9,0],expressInstall:"http://static.flowplayer.org/swf/expressinstall.swf",cachebusting:false},t);if(typeof o=="string"){if(o.indexOf(".")!=-1){var s=[];m(n(o),function(){s.push(new b(this,k(t),k(q)))});return new d(s)}else{var r=c(o);return new b(r!==null?r:o,t,q)}}else{if(o){return new b(o,t,q)}}}return null};i(window.$f,{fireEvent:function(){var o=[].slice.call(arguments);var q=$f(o[0]);return q?q._fireEvent(o.slice(1)):null},addPlugin:function(o,p){b.prototype[o]=p;return $f},each:m,extend:i});if(typeof jQuery=="function"){jQuery.fn.flowplayer=function(q,p){if(!arguments.length||typeof arguments[0]=="number"){var o=[];this.each(function(){var r=$f(this);if(r){o.push(r)}});return arguments.length?o[arguments[0]]:new d(o)}return this.each(function(){$f(this,k(q),p?k(p):{})})}}})();(function(){var e=typeof jQuery=="function";var i={width:"100%",height:"100%",allowfullscreen:true,allowscriptaccess:"always",quality:"high",version:null,onFail:null,expressInstall:null,w3c:false,cachebusting:false};if(e){jQuery.tools=jQuery.tools||{};jQuery.tools.flashembed={version:"1.0.4",conf:i}}function j(){if(c.done){return false}var l=document;if(l&&l.getElementsByTagName&&l.getElementById&&l.body){clearInterval(c.timer);c.timer=null;for(var k=0;k<c.ready.length;k++){c.ready[k].call()}c.ready=null;c.done=true}}var c=e?jQuery:function(k){if(c.done){return k()}if(c.timer){c.ready.push(k)}else{c.ready=[k];c.timer=setInterval(j,13)}};function f(l,k){if(k){for(key in k){if(k.hasOwnProperty(key)){l[key]=k[key]}}}return l}function g(k){switch(h(k)){case"string":k=k.replace(new RegExp('(["\\\\])',"g"),"\\$1");k=k.replace(/^\s?(\d+)%/,"$1pct");return'"'+k+'"';case"array":return"["+b(k,function(n){return g(n)}).join(",")+"]";case"function":return'"function()"';case"object":var l=[];for(var m in k){if(k.hasOwnProperty(m)){l.push('"'+m+'":'+g(k[m]))}}return"{"+l.join(",")+"}"}return String(k).replace(/\s/g," ").replace(/\'/g,'"')}function h(l){if(l===null||l===undefined){return false}var k=typeof l;return(k=="object"&&l.push)?"array":k}if(window.attachEvent){window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){}})}function b(k,n){var m=[];for(var l in k){if(k.hasOwnProperty(l)){m[l]=n(k[l])}}return m}function a(r,t){var q=f({},r);var s=document.all;var n='<object width="'+q.width+'" height="'+q.height+'"';if(s&&!q.id){q.id="_"+(""+Math.random()).substring(9)}if(q.id){n+=' id="'+q.id+'"'}if(q.cachebusting){q.src+=((q.src.indexOf("?")!=-1?"&":"?")+Math.random())}if(q.w3c||!s){n+=' data="'+q.src+'" type="application/x-shockwave-flash"'}else{n+=' classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"'}n+=">";if(q.w3c||s){n+='<param name="movie" value="'+q.src+'" />'}q.width=q.height=q.id=q.w3c=q.src=null;for(var l in q){if(q[l]!==null){n+='<param name="'+l+'" value="'+q[l]+'" />'}}var o="";if(t){for(var m in t){if(t[m]!==null){o+=m+"="+(typeof t[m]=="object"?g(t[m]):t[m])+"&"}}o=o.substring(0,o.length-1);n+='<param name="flashvars" value=\''+o+"' />"}n+="</object>";return n}function d(m,p,l){var k=flashembed.getVersion();f(this,{getContainer:function(){return m},getConf:function(){return p},getVersion:function(){return k},getFlashvars:function(){return l},getApi:function(){return m.firstChild},getHTML:function(){return a(p,l)}});var q=p.version;var r=p.expressInstall;var o=!q||flashembed.isSupported(q);if(o){p.onFail=p.version=p.expressInstall=null;m.innerHTML=a(p,l)}else{if(q&&r&&flashembed.isSupported([6,65])){f(p,{src:r});l={MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title};m.innerHTML=a(p,l)}else{if(m.innerHTML.replace(/\s/g,"")!==""){}else{m.innerHTML="<h2>Flash version "+q+" or greater is required</h2><h3>"+(k[0]>0?"Your version is "+k:"You have no flash plugin installed")+"</h3>"+(m.tagName=="A"?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='http://www.adobe.com/go/getflashplayer'>here</a></p>");if(m.tagName=="A"){m.onclick=function(){location.href="http://www.adobe.com/go/getflashplayer"}}}}}if(!o&&p.onFail){var n=p.onFail.call(this);if(typeof n=="string"){m.innerHTML=n}}if(document.all){window[p.id]=document.getElementById(p.id)}}window.flashembed=function(l,m,k){if(typeof l=="string"){var n=document.getElementById(l);if(n){l=n}else{c(function(){flashembed(l,m,k)});return}}if(!l){return}if(typeof m=="string"){m={src:m}}var o=f({},i);f(o,m);return new d(l,o,k)};f(window.flashembed,{getVersion:function(){var m=[0,0];if(navigator.plugins&&typeof navigator.plugins["Shockwave Flash"]=="object"){var l=navigator.plugins["Shockwave Flash"].description;if(typeof l!="undefined"){l=l.replace(/^.*\s+(\S+\s+\S+$)/,"$1");var n=parseInt(l.replace(/^(.*)\..*$/,"$1"),10);var r=/r/.test(l)?parseInt(l.replace(/^.*r(.*)$/,"$1"),10):0;m=[n,r]}}else{if(window.ActiveXObject){try{var p=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7")}catch(q){try{p=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");m=[6,0];p.AllowScriptAccess="always"}catch(k){if(m[0]==6){return m}}try{p=new ActiveXObject("ShockwaveFlash.ShockwaveFlash")}catch(o){}}if(typeof p=="object"){l=p.GetVariable("$version");if(typeof l!="undefined"){l=l.replace(/^\S+\s+(.*)$/,"$1").split(",");m=[parseInt(l[0],10),parseInt(l[2],10)]}}}}return m},isSupported:function(k){var m=flashembed.getVersion();var l=(m[0]>k[0])||(m[0]==k[0]&&m[1]>=k[1]);return l},domReady:c,asString:g,getHTML:a});if(e){jQuery.fn.flashembed=function(l,k){var m=null;this.each(function(){m=flashembed(this,l,k)});return l.api===false?this:m}}})();
\ No newline at end of file
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!-- A minimal Flowplayer setup to get you started -->
<!--
include flowplayer JavaScript file that does
Flash embedding and provides the Flowplayer API.
-->
<script type="text/javascript" src="flowplayer-@FLOWPLAYER_JS_VERSION_INFO@.min.js"></script>
<!-- some minimal styling, can be removed -->
<link rel="stylesheet" type="text/css" href="style.css">
<!-- page title -->
<title>Minimal Flowplayer setup</title>
</head><body>
<div id="page">
<h1>Minimal Flowplayer setup</h1>
<p>View commented source code to get familiar with Flowplayer installation.</p>
<!-- this A tag is where your Flowplayer will be placed. it can be anywhere -->
<a
href="http://pseudo01.hddn.com/vod/demo.flowplayervod/flowplayer-700.flv"
style="display:block;width:520px;height:330px"
id="player">
</a>
<!-- this will install flowplayer inside previous A- tag. -->
<script>
flowplayer("player", "@PLAYER_SWF@");
</script>
<!--
after this line is purely informational stuff.
does not affect on Flowplayer functionality
-->
<p>
If you are running these examples <strong>locally</strong> and not on some webserver you must edit your
<a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html">
Flash security settings</a>.
</p>
<p class="less">
Select "Edit locations" &gt; "Add location" &gt; "Browse for files" and select
flowplayer-x.x.x.swf you just downloaded.