Flowplayer Version History List of Bug fixes and new features
flowplayer.swf
3.2.6, 3.2.7 February, 2011
See the release notes here.
3.2.5 October 1, 2010
Changes:
- added new scaling option 'crop' that resizes to fill all available space, cropping on top/bottom or left/right
- improvements to RSS file parsing
- Now displays a hand cursor when a linkUrl is used in clips
3.2.4 August 27,2010
new flowplayer.js version, with Apple iDevice fixes
3.2.3 August 2010
Changes:
a new 'type' clip property exposed to JS
Fixes:
- 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
Fixes:
- 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, 2020
Changes:
- Support for RTMP redirects (tested with Wowza loadbalancing)
Fixes
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
Changes
- 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.
Fixes
- 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 config.play 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
Fixes
- 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
Changes
- 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
Fixes
- 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: http://flowplayer.org/forum/8/23226
- 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
Changes
- 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.
Fixes:
- 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
Changes:
- 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
Fixes:
- 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
Changes:
- 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.
Fixes:
- 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
Changes
- 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
Fixes:
- 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
-
// make only the play button invisible (buffering animation is still used)
- Added possibility to seek when in the buffering state: related forum post
- Added copyright notices and other GPL required entries to the user interface
Bug fixes:
- 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 it's 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: http://mydomain.com:8080/video.html)
- 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 palyer 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.5.swf". Version number is used in the URL to load the controls if the player SWF has a version number in it's 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 it's url)
flowplayer.js
3.2.6 February, 2011
Does not use cacheBusting by default any more.
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
- new event: onBufferStop
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
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 - beta2Nov 11, 2008
Made to work in IE.
3.0.0 - beta1Nov 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.
- rmoved a little depency 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
JavaScript plugin ipad
3.2.2 March 17, 2011
- the ipadUrl can be encoded with encodeURIComponent()
- Fixed black screen on iPhones
- Added full compatibility with the playlist javascript plugin
- Fixed auto play
- Added completeUrl, type and originalUrl and other properties on Clip object
- Fixed onBefore* handling
- Fixed onLoad event
- Fixed events still fired after player is unloaded
- Fixed url construction when common clip has a baseUrl and clip's url is absolute
- Added iPod support
- Fixed lazy play
3.2.1
Initial release
Website and Forums
May 20 2009
10 new demos on our demo area.
- Showing the logo on mouseover
- A JavaScript-based advertising setup
- Basics of instream playlists
- More complex instream playlist
- Mid-roll advertising setup with instream clip
- Basics of RSS playlists
- external-config
- Modifying a visible playlist with API
- RSS playlist and the playlist plugin
- Playlist plugin together with instream clips
Apr 15 2009
Flowplayer 3.1 released with loads of improvements on the website. Following documentation sections were totally rewritten
10 new demos on our redesigned demo area. Here are some hot picks:
- Placing HTML over the player
- Using a Flash component on the canvas
- Customizing controlbar tooltips
- Fixed postioning for the player
- Any Flash component as a plugin
- Loading plugins at runtime
- Using different screen size for different videos
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
- released sites using Flowplayer page
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)