JW Player Release Notes
Version 5.9
Build 2118
Player Enhancements
- Makes HTML5 the default rendering mode on Android devices.
- Fails BlackBerry devices over to the download mode, since HTML5 functionality is unreliable.
- Added a background skinning element for elapsed/remaining time in HTML5 mode.
- Cleaned up the look of the player when loading the preview image and switching to video playback.
- Player now sets the volume to zero when the user clicks close to the end of the volume slider.
- When stretching is set to uniform, the player now fills the screen if the dimensions are close enough.
- The preview image now fades in.
- Volume level is now saved in HTML5 mode
- Added a new API event, onBeforePlay, which fires before the player starts to buffer or resume.
Bug Fixes
- Player now ignores the autostart option in iOS, since iOS can't autoplay anyway.
- Fixed a bug where shift-tab caused the player to lose focus when using the keyboard to navigate.
- Player now gracefully handles empty XML configuration files.
- In the "over" state, the controlbar's backgroundcolor is no longer drawn.
- Fixed an issue where the player sometimes attempted to load "undefined".
- Fixed a bug where calling the playlistItem() API method would fail when called from onComplete event.
- Logo linktarget option is now respected in HTML5 mode.
- Made HTTP provider consistent in which URL it would use on replay.
- Fixed an issue where the controlbar would break in Opera when position was set to "bottom".
- In XML playlists, player now uses value set in jwplayer:file instead of media:content if both are present.
- Fixed an issue where a bottom-aligned controlbar wouldn't reappear after return from fullscreen.
- Fixed an issue which could break JavaScript if the playlist was requested from the JavaScript API.
- Now respects the item option in HTML5 mode with external playlists.
- The player now prevents setFullScreen() call from JavaScript in Flash mode (since it won't work anyway).
- Fixed an issue where both player controls and native controls were visible in fullscreen mode in Safari.
- Player no longer throws an error during setup in older versions of Firefox.
- Error messages are no longer visible when navigating away to another page in Firefox.
- Spaces in metadata field names no longer cause JavaScript errors.
- Fixed a bug where getPlugin('display').onHide/onShow events were firing backwards.
- The preview image is now displayed if load() is called from the JavaScript API while player is idle.
- In HTML5, dock button icons are now centered.
- The player now gracefully handles skins where the playlist component has been completely removed.
- The onComplete event no longer fires several times if multiple players are instantiated on a page.
A full changelog of player updates can be found here
Version 5.8
Build 2011
Player Enhancements
- LongTail-hosted Plugins now load over HTTPS if the page on which the player is embedded is HTTPS
- Next/previous buttons are disabled in HTML5 mode if a multiple-item playlist has been loaded, matching Flash mode behavior
Bug Fixes
- Fixes an issue where player controls would disappear on the iPad while replaying content
- Fixes an issue where replaying a video would not work in Firefox
- RTMP bitrate switches no longer occur if the buffer is full
- Enables quick embed on <video> tags with no id set
- Fixes issue where player broke on Android 3.x "Honeycomb" tablets
- Fixes an issue where multiple-bitrate SMIL files would fail to play on second playthrough
- Fixes an issue when passing JSON strings into Flash with double quote characters in the string
- Volume slider now works properly after exit from fullscreen in HTML5 mode
- Fixes logo positioning in commercial player
- Fixes several issues with HTML5 fullscreen mode in Safari
- Disables the HTML5 fullscreen button when player height is less than 40 pixels, matching Flash mode
- Fixes an issue where XML playlists would not be parsed in HTML5 mode if the mime type was not properly set
- Fixes an issue with the HTML5 dock where it would not update until it was moused over
- Works around an iOS 3 limitation, where specifying multiple levels would not work unless an .mp4 file was first in the list
- Fixes an issue when setting the stretching option while using RTMP dynamic streaming
- Fixes an issue embedding Flash over a <video> tag while specifying a file in Flash mode config
- Fixes an issue where the volume slider thumb element was not used in HTML5 mode
- Fixes a spacing issue with the volume slider in HTML5 mode
- Modifies stretching behavior in HMTL5 mode to match Flash mode, when set to exactfit
- Fixes an issue where setting a controlbar to top or bottom with a percentage width breaks in HTML5 mode
- Fixes an issue with RTMP streams where the message "Server not found" would flash briefly before playback
- Fixes an issue where seeking in fullscreen mode would result in a broken controlbar in HTML5 mode on return from fullscreen
- Fixes an intermittent issue while seeking with HTTP pseudostreaming in Flash mode
- Fixes an problem where HTML5 playlist items would receive the duration of the previous item
- Fixes an issue where a custom logo would not appear in HTML5 mode if autostart was set to true
- Various JavaScript API bug fixes
A full changelog of player updates can be found here
Version 5.7
Build 1896
Bug Fixes
- Fixes an issue where dock buttons added via the JavaScript API aren't displayed
- Fixes an issue with YouTube support in playlists on iOS devices
- Fixes an issue with autostart in HTML5 mode
- Removes a console warning when playing an audio file without an image in HTML5 mode
- Fixes issue with the player dispatching time events in HTML5 live (m3u8) streams
- Fixes an issue on iOS where a second playlist item's duration defaults to the previous item's duration
- Fixes accidental removal of airplay support from 5.7.1864
- JW Player logo now fades out after 5 seconds in HTML5 mode instead of remaining visible
- Fixes an issue when switching into fullscreen in Internet Explorer 9 in HTML5 mode
- Preview image now consistently visible on iPhone
Build 1864
HTML5 Mode
- Support for XML Playlists (RSS and mRSS)
- Playlist repeat options (list, shuffle, etc.)
- Playlist user interface component
- Skinning support
- One-finger scrolling in iOS with the iScroll JavaScript library; two-finger scrolling otherwise
- Fixes skinning support in Internext Explorer 9
- Support for the duration option in iOS
Flash Mode
- New 'image.duration' option, enabling slideshow functionality for playlists without jwplayer:duration entries
- Playlist transitions no longer flash thumbnail image or play icon
- Mouse cursor is only hidden in fullscreen mode
- Default skin's playlist background color now light grey instead of white
- Fixes a performance issue with longform content (30 minutes+)
API
- Additional event handlers for when components are shown and hidden
JW Embedder
A full changelog of player updates can be found here
Version 5.6
Build 1768
Flash Mode
- YouTube support updated to AS3 API.
- Support for FCSubscribe connections to multiple origins.
- Improved tabbing capabilities for screen readers in Firefox.
- Fixes a bug which caused a blank screen when switching mediaproviders.
- Fixes a bug where some skin elements could not be omitted.
HTML5 Mode
- Support for audio file playback.
- Add support for AirPlay on iOS devices.
- Player stops downloading the previous file when a new file is loaded.
- Fixes an issue with skins not displaying the same way in Flash vs. HTML5.
JW Embedder
- Added the ability to pass JavaScript (JSON) objects into the Flash player in setup.
- Fixes a couple of issues related to loading hosted plugins.
API
- Adds an onSeek event which is fired before a seek occurs.
- Adds the ability to show and hide player components.
A full changelog of player updates can be found here
Version 5.5
Build 1641
API
-
Player supports JavaScript plugin loading, configuration, and initialization
-
Added getPlugin API call, allowing JavaScript plugins to expose a public API
JW Embedder
-
Players configuration property is now deprecated in favor of modes
-
Configuration can now be specified separately for each mode
-
Embedder now returns page to original state if there is no mode for playback
-
All modes now accept files with no file extension
-
Fixed a bug where the position of the player would change when running in Flash mode in Firefox
-
Added seamlesstabbing attribute to Flash embeds
-
International characters are properly encoded for use in all modes
Flash Mode
-
Dock supports setButton call, allowing Flash and JavaScript plugins to add and change buttons
-
RTMP streams failover to tunneled connection if a standard connection cannot be established within 3 seconds
-
Playlist UI element no longer renders playlist items marked ova.hidden
HTML5 Mode
-
Added Dock UI element
-
Display now supports icons configuration parameter
-
Controlbar honors divider width attribute in layout
-
Fixed a bug where the player would not start playing after calling load if autostart was set to true
-
Resizing must now be done via the resize API call
A full changelog of player updates can be found here
Version 5.4
Build 1530
-
Fixes an issue where embedder fails to load for certain configurations in IE8.
-
Logo now appears when neither HTML5 nor Flash can be used.
Build 1492
JW Embedder
-
Fixes an issue where playlist items with no file extension or file extensions not in the extension map failed over to the download link.
Build 1479
JW Embedder
-
Embedder now offers download link when no playback mechanism is available.
-
Fixed a bug where the remove() call did not work in Firefox
-
Fixed a bug where configuration was not passed to plugins with non-CDNed paths.
Flash Mode
-
Added support for netstreambasepath configuration parameter
-
Seek calls are now queued if they are made while the player is not yet playing.
-
Logger now performs all logging inside of a try / catch
-
Fixed an issue where
-
Updated API events for consistency across players
HTML5 Mode
-
Stretching mode configuration is honored
-
Fixes an issue where the player would fail to initialize when some popular JavaScript libraries (including Mootools and ProtoType) were loaded on the page.
-
Seek calls are now queued if they are made while the player is not yet playing.
-
Fixed an issue where the controlbar would render under browser scrollbars
-
Fixed an issue where playlists on iOS did not auto-advance
-
Fixed several issue related to skin loading, where the result of the file request was not XML or was a redirect.
-
Updated watermark behavior to mirror that of Flash player
-
Updated API events for consistency across players
API
-
Updated API events for consistency across players
-
Added item parameter to getPlaylistItem()
A full changelog of player updates can be found here
Version 5.3
Build 1397
JW Embedder
-
Embedder now fails over to Flash if the first playlist item is unplayable in HTML5
-
Fixes an issue where configuring a levels
block would override the providers
setting
-
Sets the wmode
Flash parameter to opaque
-
Fixes the getPlaylistItem()
API call to return the currently playing item, instead of the first playlist item
Flash Mode
-
Fixed an issue which could cause RTMP streams to fail if RTMPT was disabled
-
Removed logic which disabled playlist thumbnails when the playlist was smaller than 240 pixels
HTML5 Mode
-
Fixes an issue which could add an additional slash in relative URLs for loaded files
Build 1356
New Features
-
Included framedrop handling for both HTTP and RTMP streaming, allowing switches in case of insufficient client resources (e.g. a netbook attempting to play an HD stream.)
-
Automatic fallback to Tunneled RTMP / RTMPe (in case regular RTMP is blocked).
-
RTMP dynamic streaming can now be setup together with loadbalancing (using a SMIL XML file).
-
RTMP DVR now using Adobe's official DVRCast application instead of a custom serverside script.
-
Support for HTTP DVR streaming as offered by the Bitgravity CDN.
-
With PNG skinning, the description and image of playlist buttons are automatically hidden when the playlistbutton is less than 40px high and/or less than 240px wide.
-
Supports browser-based video playback via HTML5's <video> tag as either the primary or failover playback mechanism. (See HTML5 Beta Player Integration)
-
Updated JavaScript API to more closely match the Flash API.
-
Included JS library offers a new embed mechanism.
-
Player automatic embeds over <video> tags with class "jwplayer".
Bug Fixes
-
Fixed a bug that caused current bandwidth not to store in a cookie, resulting in continous bitrate switching after 2 seconds.
-
Fixed a bug that caused the duration textfield of a playlistitem would not be placed to the right.
-
Fixed a bug that caused PNG skin playlists not to show the item.png on rollout if there was no itemActive.
-
Fixed a bug that prevented the thumbnail image to be displayed while playing audio-only RTMP streams or AAC files
-
Fixed a bug that interfered with URL-encoded URIs
-
Fixed audio file handling for live mp3 streams and other servers without content-length headers
-
Fixed a bug in event ordering for the JavaScript API
-
Fixed an issue preventing the controlbar buffer indicator from being displayed until after buffering was complete
-
Fixed an intermittent issue with YouTube videos being cut off before the video is complete
A full changelog of Flash player updates can be found here
HTML5 Beta Player Integration
The JW Player for HTML5 Beta was originally a separate player project, but it has been merged into the primary player. The changes made to incorporate the two are listed below:
Restructuring
-
API was changed to match the Flash Player.
-
Flash embedding logic was moved into JW Embedder.
-
Support for IE is deprecated.
Features
-
Removed all jQuery dependencies.
-
Added playlist support.
-
Added fullscreen support.
-
Added default skin.
-
Buffer icon rotates.
-
YouTube videos now play by embedding the YouTube player.
Enhancements
-
Increased stability and performance across all platforms.
-
Flash and HTML5 player implement unified API.
-
UI components (controlbar, display, logo) now support all skinning configuration options.
Bugs
-
Fixed issue where certain DOCTYPEs would cause the player to render incorrectly.
-
Fixed issue where call to load did not load new media.
-
Fixed several iOS device issues (iPad zoom + seek, replay failed) by moving over to native controls.
-
Fixed issue where certain browsers would display double controlbars
-
Player now detects a wide variety of file extensions and adds the correct type to the <source> tag.
Version 5.2
Build 1151
Bug Fixes
-
Fixes problem initializing externally-loaded MediaProviders
-
Fixes minor issue sending sound metadata events to javascript
-
Support for an alternate YouTube URL scheme (http://www.youtube.com/v/xxxxxxxxxx)
-
Fixes black-on-black error messages in FireFox with Flash 10.1
Other Changes
-
Replaces encryption logic for Wowza secure token with Wowza’s own class
-
Pre-loading error screen now displays error message instead of simply showing an error icon
Build 1065
New Features
Version 5.2 introduces a number of new features to the XML/PNG skinning model.
-
Support for customized font settings (face, weight, style, color) in controlbar and playlist text fields.
-
Ability to set custom backgroundcolor
for each element.
-
Ability to set custom overcolor
and activecolor
for playlist items.
-
These colorization settings replace the generic backcolor, frontcolor, lightcolor
and screencolor
options allowing for more fine-grained control.
-
Customized controlbar layout:
-
Allows placement of any button, text field or slider available in the controlbar
-
Adds the ability to insert arbitrary divider images
-
Adds the ability to insert arbitrary spacer
elements
-
New skinning elements:
-
Left and right end caps for time and volume sliders (timeSliderCapLeft, timeSliderCapRight, volumeSliderCapLeft, volumeSliderCapRight)
-
Active state for playlist item background (itemActive
element)
-
Image placeholder for playlist item images (itemImage
element)
-
Top and bottom end caps for playlist slider (sliderCapTop, sliderCapBottom)
-
Background images for text fields (elapsedBackground, durationBackground)
-
Over states for display icons (playIconOver, muteIconOver, bufferIconOver)
-
Ability to control rate and amount of display bufferIcon
rotation.
-
Ability to use SWF assets in addition to JPGs and PNGs in XML skinning
An in-depth walkthrough of all new skinning features can be found in the XML/PNG Skinning Guide.
Bug Fixes
-
Allows YouTube videos to be embedded in HTTPS pages
-
Makes the YouTube logo clickable
-
Fixes an issue where some dynamic streams only switch on resize events
-
Fixes an issue which would cause dynamically switched RTMP livestreams to close early
-
No longer hides the the display image when playing AAC or M4A audio files
-
Allows querystring parameters for .flv files streamed over RTMP. This fixes a problem some Amazon CloudFront users were having with private content.
A full changelog can be found here
Version 5.1
Build 897
Bug Fixes
-
Fixed an issue where load-balanced RTMP streams with bitrate switching could cause an error
-
Fixed buffer icon centering and rotation for v5 skins
Build 854
New Features
-
Since 5.0 branched off from 4.5, version 5.1 re-integrates changes from 4.6+ into the 5.x branch, including:
-
Bitrate Switching
-
Bandwidth detection
-
DVR functionality for RTMP live streams.
Major Bug Fixes
-
Allows loading images from across domains without security restrictions.
-
Fixes some RTMP live/recorded streaming issues
-
Fixes an issue where the volume
flashvar is not respected when using RTMP
-
Fixes issue where adjusting volume for YouTube videos doesn't work in Internet Explorer
-
Various Javascript API fixes
-
Various visual tweaks
-
Brings back icons=false functionality
-
Brings back id
flashvar, for Linux compatibility
-
Better support of loadbalancing using the SMIL format
A full changelog can be found here
Version 5.0
Build 753
Features new to 5.0
-
Bitmap Skinning (PNG, JPG, GIF)
-
API Update for V5 plugins
-
Player resizes plugins when needed
-
Player sets X/Y coordinates of plugins
-
Plugins can request that the player block (stop playback) or lock (disable player controls).
-
MXMLC can be used to compile the player.
-
Backwards compatibility
-
SWF Skins
-
Version 4.x plugins
-
Version 4.x javascript
4.x features not available in 5.0
-
Bitrate switching, introduced in 4.6
-
displayclick
flashvar
-
logo
flashvar (for non-commercial players)
A full changelog can be found here