This is a message.

Version history

3.2.18 December 2013

Core 3.2.18

  • Fix security exception with alternate embedding methods #181

3.2.17 December 2013

Core 3.2.17

  • Fixed accelerated video (stage video) when used with a canvas background gradient. #75
  • The clip property ‘bufferLength’ now accepts decimal values, for example bufferLength: 0.2
  • XSS fix: Only load plugins and external config from the same domain as the player swf is loaded from #121
  • Change links in the context menu and in the logo to point to
  • Pausing a live stream now leaves the video frame visible 81
  • Audio plugin is not loaded nor used when the the provider is set excplicitly in the clip to a non-audio value, for example to ‘http’ #139
  • Allow playing another instream clip while already playing one. #131
  • Fixed memory leaks related to repeatedly starting playback with the play() API method. #163
  • Made it possible to tab out of the player and into the HTML page using the keyboard alone.

Analytics 3.2.9

  • New config option ‘trackingObj’ to configure the bridge mode.
  • Debug view support was removed.

Bwcheck 3.2.13

  • MaxWidth rule was not respected. #47
  • Upgraded to OSMF 2.0
  • Fixes for HTTP streaming #70

Captions 3.2.10

  • Added external methods showButton() and hideButton() that can be used for the CC button.
  • Changed default Timed Text XML namespace to be This can be overridden using a clip specific property ‘ttNamespace’. The namespace of the old spec was #35

Controls 3.2.16

  • Fix alignment issue with tooltips. Outmost left and right tooltips are aligned right and left. #58

Cluster 3.2.10

  • Fix domain parsing, use native function instead of mx classes.
  • Fixes for handling origin server redirections. #101

F4M 3.2.10

  • Now uses OSMF 2.0
  • Fixed errorneous bandwidth diagnostics with HTTP streaming and bandwidth check. #99

HTTP Streaming 3.2.11

  • Now uses OSMF 2.0
  • Fixes for dynamic streaming. #70
  • httpstreaming live controls: allow removal of “duration” display #136
  • Selecting checked item deselects it without having an effect. #71

Pseudostreaming 3.2.13

  • Fix for regression when using Pseudostreaming with Bitrate Selection #88

RTMP 3.2.13

  • Stop playback to prevent stream not found errors when a live stream becomes unavailable. #77
  • Video not visible with a live stream from Red5. #28

Viral videos 3.2.14

  • Added helper methods hide() and show(). Can be used to show the viralvideos form when the dock is not used (or is hidden).
  • Sharing is now enabled in virally shared players. #110

Other plugins

In addition to the changes listed above, following plugins were also released as part of the Flowplayer 3.2.17 release. These were released due to changes in common libraries that are used in all these plugins.

  • Audio 3.2.11
  • Bitrate Selection 3.2.14
  • Content 3.2.9
  • Secure Streaming 3.2.8
  • Sharing 3.2.15
  • Slow Motion 3.2.10
  • SMIL 3.2.9

3.2.16 February 2013

flowplayer.js 3.2.12

  • Fixed: clip urls handled differently in config and API methods wrt url-escaping #21

Core 3.2.16

  • new clip event onMetadataChange, dispatched for example when switching bitrate


  • Shows logo in accelerated mode #20
  • mid-rolls freeze if multiple providers are used #42
  • onFire fired twice on replay #52
  • rtmp + hw accel + instream clips lose video, or aspect ratio #44
  • URL name parts containing semi-colons (;) should pass validation through linkUrl usage #53
  • cuepoints fired multiple times with the bitrateselect plugin #50
  • fix for dispatching onBegin in certain situations
  • if onStart has been dispatched already prevent dispatching many onBegin events

Controls 3.2.15

  • Fixed: when returning and resuming from an instream clip, controlbar and time display were not updating #42

Sharing 3.2.14

  • Added helper methods to hide / show the dock when autohide is enabled or not #60

Bitrate Selection 3.2.13

  • Added helper methods to hide / show the dock when autohide is enabled or not #60

Viral Videos 3.2.13

  • Added helper methods to hide / show the dock when autohide is enabled or not #60

RTMP 3.2.12

  • Fix for resuming a live stream with Wowza

Bandwidth Check 3.2.12

  • Fixed: maxWidth + qos: {screen: false} disables maxWidth onStart #47

Adobe HTTP Streaming 3.2.10

  • Fixed: when playing through a playlist, the play button stays put after the first item has finished #47
  • Fixed: menu becomes unresponsive after selection in fullscreen #36

Pseudostreaming 3.2.12

  • Fixed: using flowplayer API play() method only plays audio #31

iPad 3.2.12 and Captions 3.2.9, September 19 2012

iPad 3.2.12

  • reinstate validExtensions variable #22
  • make isFullscreen return something meaningful #26
  • playlist-based splash images: check for a valid extension and set as the clip poster. #359

Captions 3.2.9

  • loadCaptions() had disappeared somewhere, now works again #19

3.2.15 September 2012

Core 3.2.15

  • Close the stream when the next clip in playlist will use a different provider #614
  • fixes for stage video #627
  • when replaying from a stopped state, connection does not receive callbacks anymore. #9

Controls 3.2.14

  • css() API calls break autohiding of the controlbar #624

Bitrateselect 3.2.13

  • bitrateselect + menu + $f().play(clip) makes menu unresponsive #7
  • check for stage availability before positioning the dock #7

Bandwidth Detection 3.2.11

  • cache control headers don’t work on Chrome for Windows, use a cache busting url param instead. #6

Sharing 3.2.11

  • compatible with the latest controls

Viral Videos 3.2.13

  • compatible with the latest controls

3.2.14 August 11 2012

Core 3.2.14:

  • Fixed a problem in license key validation. It was failing when embedded without flowplayer.js.

3.2.13 August 8 2012

Core 3.2.13:

  • Changed to automatically load the new controlbar plugin version 3.2.13, and audio plugin version 3.2.10

Controls 3.2.13:

  • fixes for handling autoHide fullscreenOnly property required for screen positioning. #583
  • fixes for autohide method when currently disabled. #605

Audio 3.2.10:

  • send the start event after begin #575
  • if the playlist has been reset but the audio has been already buffered, set the duration and start event. #569
  • fixes for metadata events dispatching in playlists and when replaying same audio item, cleanup duration updating once download has completed, fixes for clearing the previous cover image display. #582
  • close the channel and sound on stream not found errors. #611

Bitrateselect 3.2.12:

  • Fixes for autoHide configuration #605

Cluster 3.2.9:

  • dispatch resolving failure correctly. #601

Httpstreaming 3.2.9:

  • when seeking on startup set a delay or else the initial time is treated as the clip start time. #515
  • for live streams once unpublished, stop the player to prevent streamnotfound errors reconnecting. #550

iPad 3.2.11:

  • allow disabling of filename suffix check

Menu 3.2.10:

  • new build because of changes in common libraries this plugin uses

Pseudostreaming 3.2.10:

  • fix for bitrate switching in paused mode, pause the stream only during seeking while paused. now dispatched seek events while paused. #568
  • don’t seek to frame when start is set. #602

RTMP 3.2.11:

  • fixes to stepping functions.
  • added new configuration variable inBufferSeek that can be used to disable “Smart Seek” that became available in Adobe FMS 3.5.3. Use this if you are running a RTMP server that does not support this in buffer seeking

Sharing 3.2.10:

  • Fixes for autoHide configuration #605

Slowmotion 3.2.9:

  • fixes for general fastplay stability with FMS servers. Returns to normal play on InvalidArg errors return from the server. When going too close to the buffer slow down the stepping for the buffer to catch up when in fast forward mode. Refactoring of controls to provide slowmotion and fastworward on demand to allow it top stop due to issues with inability to return to normal playback, and possible crashes. #494

Viralvideos 3.2.12:

  • check for controls first if disabled. #606
  • re-enable default tab view, fullscreen button cannot be disabled here. #616
  • do not expect the cgi email script to return JSON, makes this work better with “standard” email cgi scripts #410
  • email template now has a third placeholder that shows the sender name
  • reverted local email sending back to it’s original behavior, the user can supply subject, message etc. in the plugin and those are then forwarded to the local email client correctly.
  • if we have output from the request either parse as json or if the script returns html it is success. If we have no output the send is successful. #618

3.2.12 June 2012

Core 3.2.12:

Controls 3.2.12:

  • Added accessibility labels for screen readers. Disable autohide for accessibility support. #443
  • Fixes for handling autoHide, fullscreenOnly property required for screen positioning. #583

Bitrateselect 3.2.10:

  • Fixes for configuring autoHide of the HD button #583

Sharing 3.2.9:

  • Fixes for configuring autoHide of the HD button #583

Viralvideos 3.2.10:

  • Fixes for configuring autoHide of the HD button #583

All JavaScript plugins:

  • Added copyright notices to minified files (files ending with .min.js). New versions of all JavaScript plugins.

iPad 3.2.10:

  • added copyright notice to the minified file
  • fail to extract extension if URL has a dot (.) in the query string, #18
  • compile extension regexes only once #35

Playlist 3.2.10:

  • added copyright notice to the minified file
  • adapt behavior to “normal” playlist behavior #36
  • clicking replay for last clip starts playing first clip #37

3.2.11 May 2012

Core 3.2.11:

  • Includes a new flowplayer.js version that now detects that the client browser has minimally Flash version 10.1 installed. Flowplayer’s minimal Flash version requirement is 10.1.

flowplayer.js 3.2.10:

  • Checks for Flash version 10.1

Controls 3.2.11:

  • Fixed a regression in configuring controls in the clip object. #505

Bandwidth Detection 3.2.10:

  • Live dynamic stream switching not working on Internap CDN. #547

Bitrate Selection 3.2.10:

  • Live dynamic stream switching not working on Internap CDN. #547

RTMP 3.2.10:

  • Live dynamic stream switching not working on Internap CDN. #547

Viral Videos 3.2.10:

  • Fixes to disable fullscreen for email and embed tab. #410
  • Set the per clip page url on form submission to get the individual configs. #543

iPad 3.2.9:

  • fixed issue #381, cuepoint.time was left undefined. #381
  • fixed the copyright notice, license information in the file header

JavaScript plugins controlbar, embed, playlist, bitrate selection:

  • fixed the copyright notice, license information in the file header

3.2.10 April 2012

Core 3.2.10:

  • Changed to require the latest controls and audio plugin versions.

flowplayer.js 3.2.9:

  • Fixed a problem in passing quotes in the player configuration. #510

Audio 3.2.9:

  • Fixed: Audio can be only replayed twice. #501

Bwcheck 3.2.9:

  • Fixed: Error msg in console when using the bwcheck plugin. #500

Bitrate Select 3.2.9:

  • Fixed: Does not work with playlist based splash image (regression). #488

  • Fixed: Controlbar hd button stops working after several switches. #502

Controls 3.2.9:

  • Fixed an issue in dragging the scrubber. #514

  • Fixed a regression in configuring controls in the clip object. #505

Menu 3.2.9:

  • Fixed to resize the label text to the menu item width. #498

Viral Videos 3.2.9:

  • Made it possible to again specify the sharing window’s title directly in the ‘share’ object in configuration. The labels of the Email and Embed windows go under a ‘labels’ node.

3.2.9 March 2012

flowplayer.js: * Fixed an issue

core: * Stage video was not enabled in 3.2.8 at all. Now it is.


  • Issue with controlbar colors and in making it disabled/enabled. #490


  • clip urls relative to player, not page (regression) #494
  • 3.2.8 dev always loads muted with some configurations #486


  • does not work with playlist base splash image (regression) #488


  • Problem with extra slashes with httpstreaming mbr #489

3.2.8 February 2012

3.2.4 August 27,2010

new flowplayer.js version, with Apple iDevice fixes

3.2.3 August 2010


  • a new 'type' clip property exposed to JS


  • fixed #112, wrong URL computation when using clip with relative URL on a page with a / after a # in its url

  • fixed #111, wrong behavior of pre/post roll images with duration 0

  • fixed multiple license keys logic

  • fixed resuming of live RTMP streams

3.2.2 June 3rd, 2010


  • Now recognizes following kind of urls as audio clips: 'mp3:audiostreamname' (ulrs with mp3 prefix and no extension)

  • Now ignores the duration from metadata if we already got one. Fix required for pseudostreaming

  • Fix to reuse buffered data when replaying a clip

3.2.1 May 12, 2010


  • Support for RTMP redirects (tested with Wowza loadbalancing)


  • Fix to correctly detect if the player SWF name contains a version number and if it does also use the version number when it automatically loads the controls plugin.

3.2.0 May 2010


  • canvas, controlbar and the content plugin backgound color and border color can be now given with rgb() and rgba() CSS style syntax

  • Added onMouseOver() and onMouseOut() listener registration methods to the Flowplayer API

  • enhancements to RSS playlist. Converted parsing to E4X, yahoo media and flowplayer namespace support.

  • if clip.url has the string "mp3:" in it, the clip.type will report 'audio'

  • added setKeyboardShortcutsEnabled(), addKeyListener(), removeKeyListener() to FlowplayerBase

  • added a loadPluginWithConfig() method to FlowplayerBase, accessible from javascript. Fixed double onload callback call.


  • onSeek() was not fired when seeking while paused and when using RTMP. An extra onStart was fired too.

  • fireErrorExternal() was not working properly with an error PlayerEvent

  • countPlugins() was throwing an error when a plugin was not found

  • external swf files were not scaled properly

  • the logo was unnecessary shown when going fullscreen if logo.displayTime was being used

  • now handles cuepoint parameters injected using the Adobe Media Encoder

  • showPlugin() was not working when was null

  • handles 3-part duration values included in FLV metadata, like "500.123.123"

  • player wasn't always reaching the end of video

  • fixed broken autoBuffering: false</li>

  • fixed event dispatching when embedding flowplayer without flowplayer.js (=without playlist config field)

  • fixed safari crashes when unloading player

  • fixed scrubber behaviour with a playlist containing 2 images (or swf) in a row

  • fixed errors in logs when using an RSS playlist

  • fixed OverlayPlayButton that was showing even if it shouldn't in some cases

  • fixed wrong behavior when onBeforeFinish() event listener function was returning false within playlists

  • fixed play state button with images

3.1.4 October 7


  • player did not initialize if the controlbar plugin was disabled and if the play button overlay was disabled with play: null

  • works properly without cachebusting on IE

  • RSS playlist parsing now respects the isDefault attribute used in mRSS media group items

  • Fixed passing of connection arguments

3.1.3 _September 3 _


  • enhancements to RSS playlist parsing: Now skips all media:content that have unsupported types. Now the type attribute of the media:content element is mandatory and has to be present in the RSS file

  • Possibility of passing a RSS file name with playFeed("playlist.rss") and setPlaylist("playlist.rss") calls.

  • changes to the ConnectionProvider and URLResolver APIs

  • Now automatically uses a plugin that is called 'rtmp' for all clips that have the rtmp-protocol in their URLs.

  • Added possibility to specify all clip properties in an RSS playlist


  • the result of URL resolvers in now cached, and the resolvers will not be used again when a clip is replayed until the cache expires

  • some style properties like 'backgroundGradient' had no effect in config

  • video goes tiny on Firefox:

  • RSS playlists: The 'type' attribute value 'audio/mp3' in the media:content element caused an error.

  • Dispatches onMetadata() if a URL resolver changes the clip URL (changes to a different file)

  • error codes and error message were not being passed properly to onEvent JS listeners

3.1.2 July 29


  • The domain of the logo url must the same domain from where the player SWF is loaded from.

  • Fullscreen can be toggled by doublclicking on the video area.


  • Player was not initialized correctly when instream playlists were used and the provider used in the instream clips was defined in the common clip.

  • A separator in the Context Menu made the callbacks in the following menu items out of order. Related forum post

  • The width and height settings of a logo were ignored if the logo was a SWF file

  • The volume control and mute/unmute were not working after an instream clip had been played

  • It is now possible to use RTMP for mp3 files

  • Issue 12: cuepointMultiplier was undefined in the clip object set to JS event listeners

  • Issue 14: onBeforeStop was unnecessarily fired when calling setPlaylist() and the player was not playing, additionally onStop was never fired even if onBeforeStop was

  • fixed screen vertical placement problems that reappeared with 3.1.1

  • The rotating animation now has the same size and position as it has after initialization

3.1.1 May 20


  • External configuration files

  • RSS playlists

  • Instream playback

  • Added toggleFullscreen() the API

  • Possibility to specify controls configuration in clips

  • Seek target position is now sent in the onBeforeSeek event


  • The screen size was initially too small on Firefox (Mac)

  • Did not persist a zero volume value, related forum post

3.1.0 April 15


  • clip's can have urlResolvers and connectionProviders

  • Added new configuration options 'connectionCallbacks' and 'streamCallbacks'. Both accept an Array of event names as a value. When these events get fired on the connection or stream object, corresponding Clip events will be fired by the player. This can be used for example when firing custom events from RTMP server apps.

  • Added new clip event types: 'onConnectionEvent' and 'onStreamEvent' these get fired when the predefined events happen on the connection and stream objects.

  • Added Security.allowDomain() to allow loaded plugins to script the player

  • Added addClip(clip, index) to the API, index is optional

  • Possibility to view videos without metadata, using clip.metaData: false

  • Now the player's preloader uses the rotating animation instead of a percent text to indicate the progress of loading the player SWF. You can disable the aninamtion by setting buffering: false

  • calling close() now does not send the onStop event

  • Clip's custom properties are now present in the root of the clip argument in all clip events that are sent to JS.


  • The preloader failed to initialize the player when it was gzipped by the web server and running in Firefox

  • Allow seeking while in buffering state. Related forum post.

  • Replay of a RTMP stream was failing after the connection had expired

  • Security error when clicking on the screen if there is an image in the playlist loaded from a foreign domain

  • loadPlugin() was not working

  • now fullscreen works with Flash versions older than 9.0.115, in versions that do not support hardware scaling

  • replaying a RTMP stream with an image in front of the stream in the playlist was not working (video stayed hidden). Happened because the server does not send metadata if replaying the same stream.

  • the scrubber is disabled if the clip is not seekable in the first frame. Related forum post. By default if the clip has one of following extensions (the typical flash video extensions) it is seekable in the first frame: 'f4b', 'f4p', 'f4v', 'flv'. Added new clip property seekableOnBegin that can be used to override the default.

3.0.6 Feb 25


  • added possibility to associate a linkUrl and linkWindow to the canvas

  • if plugin loading fails because of an IO error, the plugin will be discarded and the player initialization continues


  • fix for entering fullscreen for Flash versions that don't support the hardware scaled fullscreen-mode

  • when showing images the duration tracking starts only after the image has been completely loaded: related forum post

  • fix for verifying license keys for domains that have more than 4 labels in them

3.0.4 Feb 3


  • The "play" pseudo-plugin now supports fadeIn(), fadeOut(), showPlugin(), hidePlugin() and additionally you can configure it like this:

    // make only the play button invisible
    // (buffering animation is still used)
    play: { display: 'none' }
    // disable the play button and the buffering animation
    play: null
    // disable the buffering animation
    buffering: null


  • Added possibility to seek when in the buffering state: related forum post

  • Added copyright notices and other GPL required entries to the user interface


  • Fixed context menu for with IE (commercial version)

  • a cuepoint at time zero was fired several times

  • screen is now arranged correctly even when only bottom or top is defined for it in the configuration

  • Now possible to call play() in an onError handler: related forum post

  • Does not throw an error if the player cannot persist the volume on the client computer: related forum post

  • Triggering fullscreen does not pause the player in IE

  • The play button overlay no longer has a gap between its pieces when a label is used: related forum post

  • clip.update() JS call now resets the clip's duration

  • a label configured for the play button overlay did not work in the commercial version

3.0.3 Jan 7

  • fixed cuepoint firing: Does not skip cuepoints any more

  • Plugins can now be loaded from a different domain to the flowplayer.swf

  • Specifying a clip to play by just using the 'clip' node in the configuration was not working, a playlist definition was required. This is now fixed.

  • Fixed: A playlist with different providers caused the onMetadata event to fire events with metadata from the previous clip in the playlist. Occurred when moving in the playlist with next() and prev()

  • the opacity setting now works with the logo

  • fadeOut() call to the "screen" plugin was sending the listenerId and pluginName arguments in wrong order

  • stop(), pause(), resume(), close() no longer return the flowplayer object to JS

  • changing the size of the screen in a onFullscreen listener now always works, there was a bug that caused this to fail occasionally

  • fixed using arbitrary SWFs as plugins

  • the API method setPlaylist() no longer starts playing if autoPlay: true, neither it starts buffering if autoBuffering: true

  • the API method play() now accepts an array of clip objects as an argument, the playlist is replaced with the specified clips and playback starts from the 1st clip

3.0.2 Dec 15

  • the player's framerate was increased to 24 FPS, makes all animations smoother

  • setting play: null now works again

  • pressing the "play again" button does not open a linkUrl associated with a clip

  • now displays a live feed even when the RTMP server does not send any metadata and the onStart method is not therefore dispatched

  • added onMetaData clip event

  • fixed 'orig' scaling: the player went to 'fit' scaling after coming back from fullscreen. This is now fixed and the original dimensions are preserved in non-fullscreen mode.

  • cuepoint times are now given in milliseconds, the firing precision is 100 ms. All cuepoint times are rounded to the nearest 100 ms value (for example 1120 rounds to 1100)

  • backgroundGradient was drawn over the background image in the canvas and in the content and controlbar plugins. Now it's drawn below the image.

  • added cuepointMultiplier property to clips. This can be used to multiply the time values read from cuepoint metadata embedded into video files.

  • setPlaylist() now starts the playlist according to the autoPlay and autoBuffering settings

3.0.1 Dec 5

  • Fixed negative cuepoints from common clip. Now these are properly propagated to the clips in playlist.

  • buffering animation is now the same size as the play button overlay

  • commercial version now supports license keys that allows the use of subdomains

  • error messages are now automatically hidden after a 4 second delay. They are also hidden when a new clips starts playing (when onBeforeBegin is fired)

  • added possibility to disable the buffering animation like so: buffering: false

  • pressing the play button overlay does not open a linkUrl associated with a clip

  • license key verification failed if a port number was used in the URL (like in this url:

  • added audio support, clip has a new "image" property

  • workaround for missing "NetStream.Play.Start" notfication that was happending with Red5. Because of this issue the video was not shown.

  • commercial version has the possibility to change the zIndex of the logo

3.0.0 Nov 25

  • Removed security errors that happened when loading images from foreign domains (domains other than the domain of the core SWF). Using a backgroundImage on canvas, in the content plugin, and for the controls is also possible to be loaded from a foreign domain - BUT backgroundRepeat cannot be used for foreign images.

  • Now allows the embedding HTML to script the player even if the player is loaded from another domain.

  • Added a 'live' property to Clips, used for live streams.

  • A player embedded to a foreign domain now loads images, css files and other resources from the domain where the player SWF was loaded from. This is to generate shorter embed-codes.

  • Added linkUrl and linkWindow properties to the logo, in commercial version you can set these to point to a linked page. The linked page gets opened when the logo is clicked. Possible values for linkWindow:

  • "_self" specifies the current frame in the current window.

  • "_blank" specifies a new window.

  • "_parent" specifies the parent of the current frame.

  • "_top" specifies the top-level frame in the current window.

  • Added linkUrl and linkWindow properties to clips. The linked page is opened when the video are is clicked and the corresponding clip has a linkUrl specified.

  • Made the play button overlay and the "Play again" button slightly bigger.

RC4 Nov 20

  • Now shows a "Play again" button at the end of the video/playlist

  • Commercial version shows a Flowplayer logo if invalidKey was supplied, but the otherwise the player works

  • setting play: null in configuration will disable the play button overlay

  • setting opacity for "play" also sets it for the buffering animation

  • Fixed firing of cuepoints too early. Cuepoint firing is now based on stream time and does not rely on timers

  • added onXMPData event listener

  • Should not stop playback too early before the clip is really completed

  • The START event is now delayed so that the metadata is available when the event is fired, METADATA event was removed, new event BEGIN that is dispatched when the playback has been successfully started. Metadata is not normally available when BEGIN is fired.

RC3 Nov 11

  • stopBuffering() now dispatches the onStop event first if the player is playing/paused/buffering at the time of calling it

  • fixed detection of images based on file extensions

  • fixed some issues with having images in the playlist

  • made it possible to autoBuffer next video while showing an image (image without a duration)

RC2 Nov 7th

  • Fixed: setting the screen height in configuration did not have any effect

RC1 Nov 5th

  • better error message if plugin loading fails, shows the URL used

  • validates our redesigned multidomain license key correctly

  • fix to prevent the play button going visible when the onBufferEmpty event occurs

  • the commercial swf now correctly loads the controlbar plugin using version information

  • fixed: the play button overlay became invisible with long fadeOutSpeeds

3.0.0 - public beta Oct 31, 2008

  • now it's possible to load a plugin into the panel without specifying any position/dimensions information, the plugin is placed to left: "50%", top: "50%" and using the plugin DisplayObject's width & height

  • The Flowplayer API was not fully initialized when onLoad was invoked on Flash plugins

  • tweaking logo placement

  • "play" did not show up after repeated pause/resume

  • player now loads the controlbar using the latest version number in the swf name, for example "flowplayer.controls-3.2.16.swf". Version number is used in the URL to load the controls if the player SWF has a version number in its name. If version number is not used in the player's SWF the controls are loaded without version info using "flowplayer.controls.swf"

  • fixed support for RTMP stream groups

  • Preloader was broken on IE: When the player SWF was found in browser's cache it did not initialize properly

  • Context menu now correctly handles menu items that are configured by their string labels only (not using json objects)

  • fixed custom logo positioning (was moved to the left edge of screen in fullscreen)

  • "play" now always follows the position and size of the screen

  • video was stretched below the controls in fullscreen when autoHide: 'never'

  • logo now takes 6.5% of the screen height, width is scaled so that the aspect ratio is preserved. logo only uses percentage scaling if it's a SWF file (there is ".swf" in its url)


3.2.4 August 27, 2010

Fixes for Apple iDevice support

3.1.3 September 3, 2009

  • new API method: playFeed() for playing XML based playlists

  • fixed a bug where multiple players were loaded simultaneously if diffeent splash image setups were clicked rapidly.

  • comes bundled with new version of flashembed.

3.1.2 July 29, 2009

Bug fixes

3.1.1 May 20 2009

  • new API method: addClip

  • new API method: toggleFullscreen

  • new event: onClipAdd

  • a critical fix to a wrappper bug

3.1.0 Apr 15 2009

  • File is now compressed with YUICompressor to provide 25% smaller file size

  • made old flash versions work when player was initialized with a splash screen. before this fix nothing happened.

3.0.6 Feb 25, 2009

  • uses flashembed 1.0.1 that fixed an IE bug when unsupported Flash version was encountered and the container was an anchor (A) tag.

  • unload() method closes the video stream even on situations when there is no "splash image state" to unload to

  • added new method to Plugin interface getPlayer() that gives access to the enclosing player instance

  • all Flash plugins can be configured with callback functions and these functions can be triggered from Flash (like onMouseOver event on content plugin). Since 3.0.6 these callback functions accept unlimited amount of arguments. These arguments may be on interest to streaming plugins that may fire events such as onConnectFailed etc. This is a bit advanced topic an should not interest "normal" users.

3.0.5 Feb 03, 2009

  • uses flashembed version 1.0.0. this means that the old school EMBED tag is history and embedding is done with standards-based OBJECT tag only. see embedding details. You may also be interested on the role of flashembed in flowplayer.

  • fixed a bug where player did not always work when common clip was given as plain string

3.0.3 Jan 07, 2009

  • ability to re-install player to the same player container with new configuration

  • getIndex() function return's index number of the player when there are multiple player on the page

  • video URL is given in href- attribute is now overridden by the clip URL given in the configuration. note that this can break up existing installations

  • container's href- attribute does NOT override playlist given in configuration

  • onError event handler can now only be set for the player and not for clip's and plugins anymore. This handler is always fed with two arguments errorCode and errorMessage as specified in events documentation

3.0.2 Dec 15, 2008

  • cuepoints are now milliseconds instead of seconds

  • new onMouseOver and onMouseOut events

  • player and clip specific onError listeners

  • new API method: setPlaylist

  • new API method: setClip

3.0.1 Dec 5, 2008

  • getVersion returns now correct value

  • onBeforeClick was triggered when player was already loaded (Safari only)

  • embedded cuepoints working properly

  • player's close method is now public

3.0.0 final Nov 25, 2008

  • released under GPL 3, same as the Flash component

  • onBegin and onBeforeBegin events

  • getConfig() returns modifiable version of the configuration, getConfig(true) returns a clone

RC4-5 Nov 20

  • ability to add custom event listeners into configuration. thsese can be added to both clip and root level

  • onMetaData changed to onBegin, onStart is always fed with clip metadata from video file

  • clip specific onBeforeEvent couldn't stop default behaviour, now it can

RC3 Nov 11

  • getConfig API method to the Player object (read only)

  • getFlashParams API method to the Player object

  • utility methods: $f.each, $f.extend for Plugin developers

RC1 Nov 5

  • show(), hide(), isHidden() methods

  • resume method was missing from API

  • if player not loaded and core API method is called, no error is thrown. just silence.

  • made jQuery.flowplayer(0) function work without wrapper element having an id attribute

3.0.0 - public beta Oct 31, 2008

  • fixed IE installation when installed without splash image

  • fixed typo error: onMetadata is now onMetaData

  • video url's with query strings are now accepted when they are escaped

  • version information is given correctly

Flash plugin analytics

3.2.1 August 2010

improved error handling


  • fixed problem with playlists

3.2.0 May 2010

  • did not send messages to Analytics: related forum post

  • debug mode is now false by default

3.1.5 October 15

Initial release.

Flash plugin controls

3.2.3 October 1st, 2020

  • Added possibility to configure margins and widget spacing. For example { margins: [0,2,0,2], spacing: { all: 0, play: 10 } }

  • the progress bar now stays in sync with the scrubber handle: issue #141

3.2.2 August 2010


  • Fixed current time when clip finishes before the specified duration

  • Fixed change the button states when only onStart is dispatched and no onMetadata, bug #120

3.2.1 June 3rd 2010


  • Wrong scrubber behavior when seek was prevented

3.2.0 May 2010


  • New external methods and some existing methods renamed. New set of methods for setting and getting things: getConfig(), setWidgets(), getWidgets(), setAutoHide(), getAutoHide(), setTooltips(), getTooltips(), setEnabled(), getEnabled()

  • AutoHide related properties are now given in a new 'autoHide' configuration object.

  • Smoother movement of the scrubber, especially with short clips.

  • Controlbar is now by default centered horizontally. Now when you specify a widht that is less than 100% it by default is centered nicely.

  • tooltips() public method renamed to setTooltips()

  • Added a marginBottom field in the tooltip configuration that is used to set the position of the tooltip in relation to the control bar

  • Added timeBorder, timeBorderColor and timeBorderWidth configuration options


  • Setting scrubber height ratio using $f().getControls().css({ scrubberHeightRatio: 0.9 }) needed 2 calls to take effect

  • borderColor has now precedence on border

  • fixed use of controls: null in configuration

  • fixed timeView size

  • fixed slider when mouseup out of the stage

  • fixed $f().getControls().css({ tooltipTextColor: '#xxxxxx' })

  • fixed progressbar issue when resizing while seeking

  • fixed scrubber behaviour with instream clips and specific controlbar configuration

  • fixed autoHide behavior

  • fixed gradient positioning in sliders

  • fixed tooltip that was not hiding

  • fixed controlbar with semi transparent background hiding even if mouse is over

3.1.4 October 7


new events onBeforeHidden and onBeforeShowed


the volume slider tooltip does not show negative values any more

3.1.3 September 3


  • timeBgColor: 'transparent' now hides the background color of the time display


  • Scrubber stopped moving when seeking if it was not shown initially and later enabled using the widgets() call.

  • It was possible to move the scrubber to a time that was larger than the clip's duration

  • The scrubber tooltip time value is now more accurate

  • The tube skin's scrubber no longer extends to touch the button to the right of it if the time view is hidden

3.1.2 July 29, 2009

  • New events related to autohiding: onShowed & onHidden

  • Now it's possible to have several controlbars that all autohide.

  • Scrubber movement is now smoother

  • The scrubber time tooltip is now always shown when hovering the mouse over the scrubber bar

3.1.1 May 20

  • Possibility to have controlbar configurations in clips

  • A live stream can have a duration and after that the duration is shown in the controlbar

  • Fixed: Play/pause tooltip was not changed when clicking the button, if mouse was moved out and into the button before clicking.

3.1.0 April 15

  • New 'tube" skin and improved skinnability

  • Tooltips


  • fixed setting button enabled states in config

  • now fullscreen works with Flash versions older than 9.0.115, in versions that do not support hardware scaling

  • the scrubber is disabled if the clip is not seekable in the first frame. Related forum post.

3.0.4 Feb 24

Now rewinds the scrubber back to its original position if seek was canceled in JS: related forum post

3.0.3 Jan 7

  • fixed outHide hide to hide when moving the mouse out of the controlbar area

  • enable() method was renamed to widgets()

  • new enable() method to set the buttons' and widgets' enabled state

  • Fixed: controlbar went hidden when exiting from hardware scaled fullscreen

3.0.2 Dec 15

  • improved scrubbing: Cannot click on unbuffered areas when random seeking is not enabled (streaming server not used). The scrubber now has hand cursor enabled on areas where seeking can be done.

  • No longer hides the controlbar when mouse is over it (when autoHide is used)

  • Fixed the controlbar disappearing and not appearing again when autoHide is used

  • dispatches the LOAD event when initialized (needed for flowplayer 3.0.2 compatibility)

3.0.1 Dec 5

  • mute volume button shows the muted state correctly initially when it has been loaded

3.0 Nov 25

  • does not show the duration for live feeds

  • pause button goes to play mode when closeBuffering() was called in the player

beta7 Nov 20, 2008

  • tweaking autoHide

  • added hideDelay config option

  • fixed scrubber to work with images that have a duration in the playlist

  • fix to prevent the buffer bar to grow out of bounds if supplying a bufferEnd value that is larger than clip's duration

beta5 Nov 11, 2008

  • fix to prevent the buffer bar to grow out of bounds if supplying a bufferEnd value that is larger than clip's duration

3.0.0 - public beta Oct 31, 2008

  • play-button was not positioned at zero y position, fixed now

  • backward seeking just by clicking on the timeline did not work with the default http provider

  • fixed autohiding on HW scaled fullscreen

  • made it easier to use the controls when autoHiding is enabled

Flash plugin captions

3.2.2 August 2010

  • Added support for MP4 embedded captions, issue #122

3.2.1 June 3rd, 2010

  • Added ability to have line breaks with timed text caption files

3.2.0 May 2010

  • Fixed visibility issue

  • Fixed multiple lines subtitles (#36)

  • Increasing font size when going fullscreen (#37)

  • Clip's autoPlay field wasn't taken in account (#66)

  • Wrong resize when going fullscreen if caption view was not displayed

3.1.4 September 24, 2009

Fixed parsing of Timed Text files

3.1.3 September 3, 2009

Fixed: loadCaptions() now removes all previous captions before adding the loaded ones

3.1.2 July 29, 2009

Now the captions can be initially made invisible by just specifying display: 'none' in the content plugin that is used to show the captions

3.1.1 May 20

Added a file extension parameter to the loadCaptions external method. Can be used with caption file URL's that don't have an extension.

Flash plugin content

3.2.0 May 2010

Added new added onBeforeCss() and onBeforeAnimate() callback functions, that are now part of the Styleable interface.

3.1.0 April 15

  • added public get and set functions for accessing the content view style property

  • supports outlining the text with a black outline (using the flash glow filter), this is enabled using textDecoration: 'outline'

3.0.1 Dec 15

  • dispatches the LOAD event when initialized (needed for flowplayer 3.0.2 compatibility)

3.0_Nov 25_

  • 3.0 final release

3.0.0 - public beta Oct 31, 2008

  • does not change the text format initialized by the player

Flash plugin Viral Videos

3.2.3 October 1st, 2010

  • Added support for HTML5 fallback in the supplied embed code, thanks Claus Pedersen. related forum post

  • The videoLink was not passed on to the email template. related forum post

  • The stumbleupon config variable was misspelled

  • the email/share/embed buttons were sized incorrectly after fullscreen: related forum post

3.2.1 June 3rd, 2010


  • Error when disabling a tab

  • Wrong plugin urls in embed code

Initial public release.

Streaming plugin Smil

3.2.1 August 2010

Added bandwidth management. Issue #117

3.1.3 September 3, 2009

refactored to be a ClipURLResolver

3.1.2 July 20

Changes needed to support bandwidth checking together with SMIL.

3.1.1 May 20

Initial public release

Streaming plugin pseudostreaming

3.2.5 October 1st, 2010

fixed to work properly when switching bitrate using the bwcheck plugin

3.2.4 August 27, 2010

Fix: does not append the query string into the initial request when start=0

3.2.3 August 2010


  • Added seeking using HTTP byte range requests


  • fixed to append the query string using the '&' character if the configured clip URL already has a '?' character in it

3.2.2 June, 2010

  • fixed duration after seek, reverted back to the original strategy that was the one that works

3.2.1 May 11, 2010


  • Duration value was changed when seeking. [Issue


3.2.0 May 2020

Changes related to bandwidth detection compatibility.

3.1.3 September 3

compatible with the new ConnectionProvider and URLResolver APIs

3.1.2 April 14

fixed out-of-sync scrubbing:

3.1.1 Feb 24


  • random seeking did not work when looping through the same video for the 2nd time

  • the time indicator stayed at value 00:00

  • random seeking after stop did not work

3.1.0 Feb 11

H.264 streaming integrated, contributed by by Arjen Wagenaar, CodeShop B.V.

3.0.4 Feb 3

now uses the queryString also in the initial request, the start param has value zero in it

3.0.2 Jan 7

  • compatible with flowplayer 3.0.3 provider API

3.0.1 Dec 15

  • dispatches the LOAD event when initialized (needed for flowplayer 3.0.2 compatibility)

  • Fixed starting from a nonzero start position, so that the start frame is used as a splash

3.0 Nov 25

  • 3.0 final release

beta3 Nov 20, 2008

  • Fixed the typo in the configuration variable queryString

  • compatible with core RC4

3.0.0 - public beta Oct 31, 2008

Initial public release

Audio streaming plugin RTMP

3.2.1 August 2010


  • Supports cover images via a 'coverImage' configuration option


  • fix to work properly if accessing the ID3 tag fails because Flash security prevents it

  • works better if the file does not have the ID3 tag

3.2.1 June 3rd, 2010


  • Does not report connection errors unnecessarily any more

3.2.0 May 2010

Added a new plugin event "onDuration" that is dispatched whenever a new duration value is estimated and the clip.duration value was changed. The new duration value is passed as event argument.

3.1.0 April 14

compatibility with core 3.1 StreamProvider interface

3.0.4 Feb 13

Fixed behavior with playlists. The audio was left playing when moving to another clip.

3.0.3 Feb 3

changed to recalculate the duration until the end of the file has been reached, this is needed to correctly estimate the duration of variable bitrate MP3's

3.0.2 Dec 15

  • dispatches the LOAD event when initialized (needed for flowplayer 3.0.2 compatibility)

  • fixed crashes of Mac Safari when navigating out of a page that had a playing audio

3.0.1 Dec 5

Initial public release

_Slow motion and fast play plugin (wowza trickplay

support)_ Slowmotion { #plugins_streaming_slowmotion }

3.2.0 May 2010

Initial public release

Streaming plugin RTMP

3.2.3 August 27, 2010

Fix: Unnecessarily displays the "play again" button with live streams, see this forum post

3.2.2 August 2010


  • Now reaches the end of the video when the server sends a NetStream.Play.Stop.

  • Now reaches the end of the video when the server sends a little bit less stream than expected, using start:

  • Fix for rtmpt connection arguments passing:

3.2.0 May 2010

changes related to bandwidth detection compatibility

3.1.3 October 7, 2009

  • Supports connection redirects as described here

  • New configuration option connectionArgs that accepts an array of arguments to be passed to NetConnection.connect(). This is needed, for example, with the Internap CDN.

  • Now correctly recognizes fully qualified RTMP clip urls (without specifying netConnectionUrl separately)

3.1.2 September 3, 2009

3.1.1 July 29, 2009

Added support for querying the stream length from the RTMP server. Needed when, but not limited to, streaming MP3 audio from the Adobe streaming server.

3.1.0 April 14

  • Subscribing connection establishment for Akamai and Limelight. Enabled by setting subscribe: true in the plugin config.

  • Added objectEncoding config option, needed to connect to FMS2

  • 3.1 player compatibility

3.0.3 Jan 7

  • the progress bar now moves to the latest seek position

  • bufferbar now shows how much data has been buffered ahead of the current playhead position

  • compatible with flowplayer 3.0.3 provider API

  • made it possible to specify a full rtmp URL in clip's url. In this case the netConnectionUrl variable is not needed in the provider config.

3.0.1 Dec 15

  • dispatches the LOAD event when initialized (needed for flowplayer 3.0.2 compatibility)

3.0.0 Nov 25

  • 3.0 final release

beta3 Nov 20, 2008

Compatible with core RC4

3.0.0 - public beta Oct 31, 2008

Initial public release

Flash plugin Cluster

3.2.1 May 11, 2010

Now uses the durationFunc if configured in the RTMP plugin, used to query stream durations. [Issue


3.2.0 May 2010

Fix for clustering RTMP servers.

3.1.1 September 3

compatible with 3.1.3 URL resolver API

3.1.0 April 14

Initial public release

Flash plugin bwcheck

3.2.3 October 1st, 2010

  • Quality of Service monitoring and dynamic stream switching logic completely rewritten

  • Several configuration variables have been changed

3.2.2 August, 2010

Improvements for Quality Of Service monitoring

3.2.1 May 11, 2010


  • this plugin did not work properly with playlists, in fact it was only possible to use it with one configured clip

  • stream selection now works properly if the bitrates array does not contain video width values

  • stream selection works better if the configured bitrates all exceed available BW: In this case the default bitrate is selected and if the default is not configured the smallest bitrate is used

3.2.0 May 2010

  • New configuration model

  • Considers the screen size when selecting streams

  • Switches when entering and exiting fullscreen

  • Support for specifying bitrates in RSS files

3.1.3 October 7, 2009

issues fixed in FMS dynamic stream switching

3.1.2 September 3, 2009

  • compatible with 3.2 ConnectionProvider and URLResolver APIs

  • Now the remembered bitrate is only cached for 24 hours by default. You can control the cache expiry using the new config option cacheExpiry where the expiry period is given in seconds.

  • With rememberBitrate: true the detected bandwidth is now stored and the mapping to the bitrate happens every time the remembered bandwidth is used.

3.1.1 July 29, 2009


  • New external method dynamic(enabled) to toggle dynamic bitrate adaptation

  • setBitrate() external method now disables dynamic bitrate adaptation. Otherwise the manually set value would be immediately overridden by the dynamically adapted bitrate.

  • Added new configuration variable urlExtension, determines the 3rd token in the urlPattern

  • Possibility to attach labels to bitrates. These are used with the urlPattern and urlExtension to generate the resolved file names.

  • Gives an error message if neither netConnectionUrl nor the 'hosts' array is not defined in config

  • Now by default checks the bandwidth for every clip, where the plugin is not explicitly defined as urlResolver.

  • New config option checkOnBegin to turn of this default behavior

  • Does not use the no-cache request header pragma any more


  • Fixed dynamic switching, it was interpreting the bitrates array in reversed order

  • Bandwidth is only detected once per clip. Because it was detected multiple times repeated plays did not work because repeated URL resolving mangled the URL

3.1.0 April 14

Initial public release

Flash plugin secure streaming

3.2.0 May 2010

some small fixes

3.1.1 September 3

Compatible with 3.1.3 URL Resolver and Connection Provider APIs

3.1.0 April 14

Initial public release

Akamai connectivity plugin

3.2.0 May 2010

Fix for parsing a BOSS smil file (was firing error #1009 if protocol was not specified in the file)

3.1.3 September 3

  • Added support for Akamai's SMIL files

  • Refactored to be a URL resolver

3.1.2 July 29

Initial public release

Sorenson 360 connectivity plugin

3.1.0 October 7, 2009

Initial public release

JavaScript plugin controls

3.0.2 Apr 15 2009

  • time display

  • mute / unmute button

  • new skin example: "hulu"

3.0.1 Feb 20, 2009

  • Controlbar broke the possibility to chain JavaScript plugins

  • Fixed a bug that occurred when clip was changed on the player

Both of those fixes were essentially done for this demo

3.0.0 final Nov 25, 2008

Dual licensed with MIT and GPL 2+

3.0.0 - public beta Oct 31, 2008

Initial public release

JavaScript plugin embed

3.0.2 Feb 13, 2009

getEmbedCode now supports index attribute for embedding specified clip from the playlist.

3.0.1 Feb 03, 2009

Uses new flashembed version 1.0.0. This means that the old school EMBED tag is history and embedding is done with standards-based OBJECT tag only. see embedding details.

3.0.0 final Nov 25, 2008

Dual licensed with MIT and GPL 2+

3.0.0 - beta2_Nov 11, 2008_

Made to work in IE.

3.0.0 - beta1_Nov 07, 2008_

Initial public release

JavaScript plugin playlist

3.0.7 September 03, 2009

Fixed a bug where the playlist was behaving badly with instream clips.

3.0.6 May 20, 2009

  • playlist listens to onClipAdd event and will dynamically add new playlist entries when addClip method is called.

  • playlist listens to onPlaylistReplace event and will dynamically replace playlist entries when play or setPlaylist method is called.

  • removed a little dependency to scrollable tool. Now this tool is totally unaware of any possible scrollable instances. This version of the playlist won't work with scrollables whose version is less than 1.0.0.

3.0.5 Feb 23, 2009

  • bug fix for a manual-playlist in loop mode that caused the player to work unpredicably when clip advanced automatically to the next clip.

3.0.4 Feb 16, 2009

  • a critical bug-fix for IE that caused it to fail on internal playlists. this was due to a jQuery bug on IE which I need to report them.

3.0.3 Feb 03, 2009

  • possibility to add and remove playlist entries on the fly. You can see a demo about this from this standalone example page. This requres a jQuery version 1.3.1 or greater to work.

  • This tool no longer fails if there is only one entry in the playlist in manual configuration.

  • Playlist documentation page contains new standalone examples for setting up a playlist on your site.

3.0.2 Jan 05, 2008

Made it work with jQuery 1.3.0+

3.0.1 Dec 15, 2008

Made it work with audio clips as well.

3.0.0 final Nov 25, 2008

  • dual licensed with MIT and GPL 2+

  • playOnClick option

3.0.0 beta 2 Nov 20, 2008

Playlist clips stop at the end by default. This can be changed by setting loop parameter to true.

3.0.0 - public beta Oct 31, 2008

Initial public release

Website and Forums

May 20 2009

10 new demos on our demo area.

Apr 15 2009

Flowplayer 3.1 released with loads of improvements on the website. The following documentation sections were totally rewritten

10 new demos on our redesigned demo area. Here are some hot picks:

And a redesigned home page.

Feb 10, 2009

  • ability to subscribe to forum threads

  • new documentation about commercial licenses

  • a new demo: loading content with AJAX

  • hired people to proof read our not-so-perfect english language

  • splitted forums to two main categories: support- and other forums

  • support for "sticky posts"

  • flowplayer tag supports commercial version on forum posts

Dec 17, 2008

  • A new tutorial: An Intorduction To Streaming Servers

  • 3 new demos. Amount of demo pages is now 31

  • bug fixes to the forums. you can find a summary here

  • forum entries are now sorted by last reply not by thread creation date

  • implemented a support for Affiliate programs details will be described later

Dec 5, 2008

Lot's of new demos. Amount of demos is now 29.

Nov 25, 2008

  • new demo introducing dual use of high quality videos and fallback to FLV video

  • new view for forums that shows all forum posts together with column sort

  • changed beta testing forum to Bug reports forum

  • License FAQ is more verbose

RC1 Nov 5

  • made overlay demos also work in Opera

  • multidomain lisence was changed into more understandable form

  • each tabbed pane on the website now uses our own tools.tabs JavaScript tool

  • centralized "revving" of swf and js assets

  • made automatic link generation work into forums

  • list Player methods methods alphabetically in JavaScript API

Oct 31, 2008

  • configuration page filled with examples

  • demos- page has two new demos: "scrolling players" and "HTML controlbar"

  • skinning demo "show configuration" button did not show background image on IE

  • slogan changed from "flash video player for web" to "video player for the web"

  • "Version History" page (this page)

Devkit for Flash plugin development

3.0.3 Jan 7

  • Some API changes, please see the apidocs.

3.0.2 Dec 15

  • Introduced new plugin event types PluginEventType#LOAD and PluginEventType#ERROR The PluginModel interface has new methods for dispatching these events.

3.0 Nov 25

  • 3.0 final release

RC2 Nov 7th

  • added close() to the Flowplayer API

RC1 Nov 5

  • added configureLog() into the Flowplayer class

  • added attachStream() to the StreamProvider interface