//************************************************************** Akamai Flow Plugin Change list for Version 3.10 //************************************************************** *** General This plugin is built on Akamai's HDCore AS3 library. The HDCore 3.10 release has multiple fixes/enhancements which adds to the stability of the Flowplayer plugin. *** Plugin Bug(s) Fixed HDCORE 141 - Support for Adaptive Media Delivery (AMD) streams with Token Authentication enabled. HDCORE 119 - Miniature 10x10 playback at start when using the provider is fixed on multiple browsers. *** Known Issues //************************************************************** Akamai Flow Plugin Change list for Version 3.9 //************************************************************** *** General This plugin is built on Akamai's HDCore AS3 library. The HDCore 3.9 release has multiple fixes/enhancements which adds to the stability of the Flowplayer plugin. *** Plugin Bug(s) Fixed 3117791 - Provide release swfs with no logging option. *** Known Issues //************************************************************** Akamai Flow Plugin Change list for Version 3.8 //************************************************************** *** General This plugin is built on Akamai's HDCore AS3 library. The HDCore 3.8 release has multiple fixes/enhancements which adds to the stability of the Flowplayer plugin. *** Plugin Bug(s) Fixed 2950427 - Flow player video resize should preserve aspect ratio 2980892 - Reconnect on live archive for pre-capacity DVR streams should be time accurate. 2984690 - Best effort download is enabled on fragment error following retry attempts. *** Known Issues //************************************************************** Akamai Flow Plugin Change list for Version 3.7 //************************************************************** *** General This plugin is built on Akamai's HDCore AS3 library. The HDCore 3.7 release has multiple fixes/enhancements which adds to the stability of the Flowplayer plugin. *** Plugin Bug(s) Fixed 2922573 - Flow plugin is now built against Flex SDK 4.6 2883396 - Support for the switch to live archive feature 2918226 - Add support for minimumBitrateAllowed setting as a pre-load property. *** Known Issues //************************************************************** Akamai Flow Plugin Change list for Version 3.6 //************************************************************** *** General This plugin is built on Akamai's HDCore AS3 library. The HDCore 3.6 release has multiple fixes/enhancements which adds to the stability of the Flowplayer plugin. *** Plugin Bug(s) Fixed 2788878 - Fetch DRM error events from HDCore and transform to a FlowPlayer event. *** Known Issues //************************************************************** Akamai Flow Plugin Change list for Version 3.5 //************************************************************** *** General This plugin is built on Akamai's HDCore AS3 library. The HDCore 3.5 release has multiple fixes/enhancements which adds to the stability of the Flowplayer plugin. *** Plugin Bug(s) Fixed 2648361 - Add field for log filtering in support player. 2701551 - New property added to toggle the resumeToLive behavior in live DVR streams. *** Known Issues //************************************************************** Akamai Flow Plugin Change list for Version 3.4 //************************************************************** *** General This plugin is built on Akamai's HDCore AS3 library. The HDCore 3.4 release has multiple fixes/enhancements which adds to the stability of the Flowplayer plugin. *** Plugin Bug(s) Fixed 2632656 - Video alignment issue caused due to differing width attributes of the video stream and the embedded player is resolved. 2515494 - Maintain valid player state and consistent replay button behavior on seeking to end of stream. 2574399 - Add configuration to set new API for preloading data.swf. *** Known Issues //************************************************************** Akamai Flow Plugin Change list for Version 3.3 //************************************************************** *** General This plugin is built on Akamai's HDCore AS3 library. The HDCore 3.3 release has multiple fixes/enhancements which adds to the stability of the Flowplayer plugin. *** Plugin Bug(s) Fixed 2377326 - Stage video is now supported by Flow player and hence support has been added to the plugin. 2466732 - Fix in place for buffer wheel disappearance during seek while dragging the slider marker. 2472033 - The Akamai provider's name has now been changed to AkamaiAdvancedFlowplayerProvider.swf from AkamaiFlowPlugin.swf *** Known Issues //************************************************************** Akamai Flow Plugin Change list for Version 3.2 //************************************************************** *** General *** Plugin Bug(s) Fixed //************************************************************** Akamai Flow Plugin Change list for Version 3.1.1 //************************************************************** *** General This is a minor release for playlists. *** Plugin Bug(s) Fixed 2297783 - When using the playlist option, upon a new media item being loaded, the background of the player would cover up the video. //************************************************************** Akamai Flow Plugin Change list for Version 3.1 //************************************************************** *** General This plugin is built on Akamai's HDCore AS3 library. HDCore 3.1 release has multiple fixes/enhancements which adds to the stability of the Flowplayer plugin. *** Plugin Bug(s) Fixed 2244008 - A valid DisplayObject used for player verification security was not being set properly on the netstream class. 1962091 - Added support for the Akamai Media Analytics plugin. See user guide for information on how to configure and use this new feature. //************************************************************** Akamai Flow Plugin Change list for Version 3.0 //************************************************************** *** General This is a major upgrade to the code libraries that the plugin is built on. These changes should be transparent at the flow plugin level although some general playback elements may seem different. Please review the following as some configurations tags have been removed. *** Removed Metadata keys for : - useNetSession - enableNetSessionDiscovery - For NetSession use : netsessionMode:'opportunistic' OR 'never' - Default is opportunistic. *** Plugin Bug(s) Fixed 1918081 - Upgrade plugin to work with the latest version of the Flowplayer for Flash (version 3.2.16) 1777781 - Seeking back to live after seeking within the DVR causes the stream to freeze. *** Known Issues None at this time. //************************************************************** Akamai Flow Plugin Change list for Version 2.11 //************************************************************** *** General Currently looking into upgrading the Akamai flow stream provider to support the latest flowplayer version (3.2.15) but at this time there are unresolved problems that prevent Akamai from supporting this version. Working on getting stage-video acceleration supported from the stream provider. *** Added Metadata keys for : None - *** Plugin Bug(s) Fixed CR 1926721 - Video smoothing should be set by clip.smoothing. Video smoothing is now set by the flowplayer on the video object created by the Akamai stream provider. CR 1918063 - Flow JavaScript API for stop does not stop stream. You can now call stop from JS and it will stop and reset the stream to the beginning. You can call play from JS or the Flowplayer UI to resume the stream from the beginning for VOD or at live if it is a live stream. CR 1975789 - Player Verification fixed. *** HDCore Bug(s) Fixed 1850149 : Re-dispatch HTTPStatusEvent.HTTP_STATUS from manifest load so the event can be listened for at the player level. 1853479 : Protected RTMP playback in FMS 4.5 requires Flash client player script updates 1909873 : If fragment is abandoned in manual mode we still initiate a switch down. 1911988 : need to abandon fragment if it takes longer than the frag duration to download 1930249 : drmMetaData not set when DRM content is MBR. 1936207 : Seeking to live repeatedly can cause getFileForTime to fail. *** Known Issues The new version of flowplayer at 3.2.11.swf has issues internally with Akamai DVR seeking with HDS. To utilize this feature you must use the current version of the plugin with the older versions of the flow components: Flow player 3.2.7.swf Flow controls 3.2.5.swf Flow JS 3.2.6.js With akamai HDN1.0 - seeking back into a DVR window intermittently fails. This is an flow player core issue and there is not a solution for this issue that can be handled in the plugin at this time. //************************************************************** Akamai Flow Plugin Change list for Version 2.10 //************************************************************** There are no plugin changes in this release. This release is comprised of only critical fixes in the Akamai Core Streaming Software (aka HDCore) This release addresses the following issues: - 1873621 : HDS live streams terminating with NetStream.Play.FileStructureInvalid. This error was dispatched when the Flash Player was starved for system resources. The HDCore classes have been improved to handle this situation more robustly. - 1861480 : Content is ending too early. Some VOD streams were not rendering the final frames. - 1861300 : Stuck on lowest bit rate for extended periods of time. For long form content (greater than 10 minutes), it was possible to get into a situation where a 300 second buffer was filled for a lower quality index. //************************************************************** Akamai Flow Plugin Change list for Version 2.9 //************************************************************** *** General Now you can call netstream properties from javascript! There are explicit methods and a generic method that allows you to call any HDNetStream, ZStream, or AkamaiNetStream public property. See use guide for more info and links to where you can find the ASDocs for these netstream classes to see what public properties are available beyond the ones listed below! *** Added Metadata keys for : 1. key : genericNetStreamProperties value : Array of objects [{propertyName:'SOME PUBLIC PROPERTY', value:VALUE}] Network : All Akamai Streaming Networks. Desc : there has always been a way to set one generic property but now you can set an array of them at one time. 2. key : addManifestQueryArgsToFragmentRequests value : Boolean - Default value is true. Network : HDS (HDN 2.0) Desc : If set true, then any query args attached to the manifest request will be added to all subsequent fragment requests. 3. key : enableLogStringOnFragments value : Boolean - Default value is true. Network : HDS (HDN 2.0) Desc : A log string is usually appended to each fragment request, allowing QoS stats to be collected on the server. If you are trying to cache the fragments within a network, then you can turn off the "als" query arg by setting this property to false. 4. key : enableLargeBuffersForLongFormContent value : Boolean - Default value is true. Network : HDS (HDN 2.0) Desc : If set true, then large buffer targets of 60s (for intermediate bitrates) and 300s (for max bitrates) are used for long form content, defined as any VOD stream having a duration longer than 10min. *** Enhancements 1682482 & 1729489 - Added ability to manipulate nestream properties, beyond the current config tags, from JavaScript after play is called. Please refer to the user guide for more info about how to use these. Explicit Property Setter / Getters public function maximumBitrateAllowed(bitrate:Number):void public function maxAllowedIndex(index:int):void public function switchStreamIndex(index:int):void public function getMaxAllowedDynamicStreamIndex():int public function getCurrentDynamicStreamIndex():int public function isStreamSwitchInProcess():Boolean public function setManualSwitchingMode(value:Boolean):void Generic Property Setter public function setNetStreamProperty(name:String, value:*):void *** Bug(s) Fixed CR 1766189 Stream duration fluctuates if duration changes from valid value to NaN after play is called causing the playhead to jump around and breaks seeking. *** Known Issues The new version of flowplayer at 3.2.11.swf has issues internally with Akamai DVR seeking with HDS. To utilize this feature you must use the current version of the plugin with the older versions of the flow components: Flow player 3.2.7.swf Flow controls 3.2.5.swf Flow JS 3.2.6.js With akamai HDN1.0 - seeking back into a DVR window intermittently fails. This is an flow player core issue and there is not a solution for this issue that can be handled in the plugin at this time. //************************************************************** Akamai Flow Plugin Change list for Version 2.8.2 //************************************************************** This point release addresses one issue: - CR 1768637 - HDS live with unlimited DVR is not playing live content when an encoder is restarted without purging. The issue was present only with live HDS streams with unlimited DVR where the encoder had been stopped and re-started without first purging the content. In this case, the stream could play behind live for the amount of time the encoder was stopped. - CR 1799455 World deploy of GHost 6.8.0 with manifest v2.0 tag present is causing subclip and UTC start time failures for live streams with DVR windows. *** Known Issues The new version of flowplayer at 3.2.11.swf has issues internally with Akamai DVR seeking. To utilize this feature you must use the current version of the plugin with the older versions of the flow components: Flow player 3.2.7.swf Flow controls 3.2.5.swf Flow JS 3.2.6.js //************************************************************** Akamai Flow Plugin Change list for Version 2.8 //************************************************************** The main changes in this release are the flow player and OSMF version upgrades. Also, many bugs have been fixed in HDCore, the main Akamai streaming library that the plugin depends on, and will provide a better experience all-around. *** General Upgraded to latest flow player version 3.2.11 *** Known Issues With akamai HDN1.0 - seeking back into a DVR window intermittently fails. This is an flow player core issue and there is not a solution for this issue that can be handled in the plugin. *** Enhancements Fix for CR 1195465 - OSMF upgrade from 1.5 to 2.0 Fix for CR 1714144 - Added provider clip error dispatch so that it can be handled in the JavaScript interface. //************************************************************** Akamai Flow Plugin Change list for Version 2.7 //************************************************************** *** General 1. Looking at upgrading to the new version of Flow player 3.2.8 for the next release. Some issues are being sorted out at this time. 2. Added clip null checks and other null checks on provider api to make sure null run time errors are avoided. 3. Added valid value that is returned on the provider public method stopping. *** Known Issues not resolved yet. 1. HDS Sub-clips - buffer wheel stays up while video is playing until the actual start time is reached since it may start mid fragment. 2. HDS Sub-clips - on complete event the video player UI resets with play button but buffer wheel is showing. *** Added Metadata keys for : 1. key : startingBufferTime value : Number - default is .75 seconds Desc : HDN 1.0 ONLY - Setting this value will effect the startup time of the stream. The minimum accepted value is .75 seconds. The maximum accepted value is 10 seconds. If you set the value lower or higher then the accepted values, your value will be coerced to the closest acceptable value. 2. key : forceNoSubclip value : Boolean Desc : HDN 1.0 ONLY - If enabled, the HDNetStream class will not create a sub-clip despite the values it gets from the StreamingURLResource class. The result will be a stream that starts from the clipStartTime supplied to the StreamingURLResource but the entire stream will be seekable 3. key : liveBufferProfile value : String - 'livelowlatency' OR 'livestable' Desc : HDN 2.0 ONLY - Changes how the live buffer is managed in HDS. 4. key : fragmentRetryAttemptsForLostConnectivity value : Number - Default is 60 Desc : HDN 2.0 ONLY - By changing this The number of times the class will retry a fragment when all client connectivity has been lost. 5. Support for flowplayer config tag has been added, see enhancements. *** Enhancements 1. CR 1231951 - Look into the best way to communicate cuepoints on a stream. - You can now use the streamCallback object in the flowplayer config and clip-events to listen for netstream client events and handle them in javascript. *** Bug(s) Fixed 1. CR 1566031 - Resize the video object on event resize notification and then call start clip event for flow which will remove the poster-board window and reveal the video at the correct size instead of a 10 x 10 square for a frame.. *** NOTE *** This plugin is built on two other dependencies that have also been updated, including many bug fixes and enhancements. It's recommend to upgrade to this release as soon as possible. //************************************************************** Akamai Flow Plugin Change list for Version 2.6 //************************************************************** There are no core plugin changes in this release. All changes are inherited from HDCore enhancements for HDS, Akamai's HDN 2.0 Network. HDCore Changelist for v2.6 Improvements include: - Large buffer targets of 60 seconds for intermediate bitrates and 300 seconds for maximum bitrates for long form content. Long form content is defined as VOD content greater than 10 min. in duration. The benefit of this is reduced re-buffers due to fluctuating bandwidth conditions and uninterrupted playback when connectivity has been lost on the client. This feature is on by default, but can be turned off via an API call. - Handling of client connectivity loss. In previous releases, if an HDS fragment request failed, HDCore dispatched a "stream not found" event and it was up to the player to detect this and try to resume playback. HDCore will now detect the connectivity loss and retry a fragment request up to 60 times. So for example, a user can switch from a wired internet connection to a WiFi connection and experience seamless playback as long as the buffer has not emptied. This logic has been integrated with the existing Alternate Server Mapping/End User IP Mapping (ASM/EUM) logic such that the ASM logic gets the first shot at recovering. When the ASM logic has given up, the connection retry logic will take over and once fragments are successfully received, the ASM logic is re-enabled if it was enabled before playback began. - Fragment abandonment. If a fragment is taking too long to download, HDCore will abandon that request and re-request the fragment at a lower bitrate. This helps to reduce re-buffers in fluctuating bandwidth conditions. - Fragment retries. If a fragment request failed in previous releases, HDCore would simply give up and dispatch "stream not found". In the v2.6 release, HDCore will try to determine if all connectivity is lost between client and host. If so, the "handling of client connectivity loss" feature mentioned above kicks in. If HDCore can communicate to the server, it will automatically retry the fragment one more time before giving up. - Automatic start up on the optimal rendition. HDCore constantly measures bandwidth during playback since HDS by nature requires HTTP requests for fragments during playback. HDCore stores this information in a Shared Object, also known as "Flash cookie". On subsequent plays, HDCore uses this value to determine the optimal stream quality to begin playback. - Security key retries. If a request for a security key for encrypted content fails, the key request will be automatically retried. - Improved logging for requests to assist in trouble shooting. When available, HDCore will now log HTTP status codes for bootstrap, fragment, and security key requests. We also log how long the request took to complete. Also, GHost now sends us debug info and error info in the skip box of the fragment. We now log all of that. - Variable Bitrate (VBR) ratio is now sent with other analytics data. This is the ratio of the effective bitrate divided by the specified bitrate in the manifest. This will assist in trouble shooting empty buffer events by allowing us to identify sections of video with large spikes in bitrate. - Various bug fixes including: CR 1104537 - Ability to abort MBR switch-ups if it is taking too long. This is a new fragment abandonment feature. If a fragment is taking too long to load, HDCore will drop the quality level down one index and reload the fragment. CR 1408186 - ZStream to estimate VBR encoding in MBR HDS packages. The class attempts to estimate VBR ratio, meaning the measured effective bitrate divided by the bitrate specified in the manifest for a rendition. CR 1408249 - HDS bitrate index is reported too soon. Current index is now reported closes to when the rendition is actually visible. CR 1420651 - Add an API to ZStream to allow players to send custom analytics data. New property is called analyticsSetData. See the ASDocs for details. CR 1439470 - ASM/EUM: liveness check loops on a stream not found event. CR 1444249 - Updated the HDN2.0/BasicLiveSample to use the same stream that the HDS Support player uses for a live stream demo. CR 1444537 - HDCore must robustly handle a failed key request. Key requests are now retried once on failure. CR 1446733 - ZStream does not return the correct dvrAvailability property for live streams that are missing a dvrInfo tag in the manifest. CR 1450810 - Duration can be negative when live streams w/ unlimited DVR are chopped multiple times. CR 1453429 - Player stuck in 300 second buffer when not at the top MBR index. See the ASDocs for the ZStream property "enableLargeBuffersForLongFormContent". CR 1453780 - Player locked a irrational index due to frame drop lock. CR 1453834 - Ensure decryption continuity after recovering from a connectivity loss. CR 1455436 - Update all metadata keys to have complete ASDoc comments. CR 1463572 - Persist any query args added to f4m manifest request through all other GET requests made by ZStream. CR 1487359 - ZStream is intermittently not dispatching the IS_BUFFERING event when expected. CR 1504054 - Integrate the ASM logic with the fragment failure retry logic so they work with each other. CR 1508473 - VBR ratio sometimes reports as zero. CR 1515376 - Add a new property to ZStream to support starting bitrate //************************************************************** Akamai Flow Plugin Change list for Version 2.5 //************************************************************** General Regarding stage video comment from last release - Still building with flowplayer 3.2.7 until the new version of Flow 3.3 is released. Added Metadata keys for : 1. useMBRStartupBandwidthCheck:{duration:1} OBJECT If enabled, the HDNetStream class will make a bandwidth estimate before playback starts, allowing it to select an appropriate starting index on MBR content. The longer the estimation period, the more accurate the result, but the greater the start delay. If you leave this key out of the configuration or set the duration to 0 it will be disabled, otherwise set the duration to a number > than 0 to set the estimation period. Enhancements 1. Added CR 1386695 Playlist switch causes extra play request. - You can now call play() from JavaScript and set the clip url or add video urls in the playlist array 2. USMIL format - a url format that contains the required elements of a SMIL file. This has the same results as if you are using a .smil or mbrObject to define a MBR profile. Example of url including the optional width and height parms: http://tceast-f.hdflash.edgesuite.net/will/robin_hood_25fps_,a~300~320~180,b~600~640~360,c~1200~640~360,d~1800~640~360,e~2400~1280~720,f~3000~1280~720,.f4v.usmil Example of url excluding the optional width and height parms: http://tceast-f.hdflash.edgesuite.net/will/robin_hood_25fps_,a~300,b~600,c~1200,d~1800,e~2400,f~3000,.f4v.usmil The parts of a usmil url are: HTTP Base:http://tceast-f.hdflash.edgesuite.net/ Common Stream name: will/robin_hood_25fps_ MBR CSV: unique_name~300~320~180, [unique file name, bitrate, width (optional), height (optional)] Extension Type: .f4v.usmil Bugs Fixed 2. Fix for CR 1330382 Plugin is seeking to 0 on pause when live clip param is set to true. This change may require you to get the current version of the flowplayer from http://flowplayer.org/download/index.html. The code change for this is in the the actual flowplayer.swf and there is a new property in the clip object named stopLiveOnPause. //************************************************************** Akamai Flow Plugin Change list for Version 2.4 //************************************************************** General Stage Video is coming in the next version of flow player! This will be a major update to a new version of the base flowplayer from 3.2.7 to 3.2.8 Added Features 1. Added Metadata keys for : tokenService:{url: String} STRING Add url to unique token generator script formatted like this http://domain.com/stoken?url=' Tokens will be generated as needed within the plugin. netsessionMode: 'never' || 'opportunistic' STRING Use this key to indicate the operation mode for NetSession (HDClient) interaction. The various modes are set via the following strings: "opportunistic" - defines the default netsession usage mode whereby the client will try to use NetSession if it is available. This mode will start the stream playing without using NetSession. Once the first buffer.full event is reached, a discovery request will be made to see if NetSession is installed. If it is, then all subsequent requests will be made through NetSession. If it isn't, then normal playback will continue. Selecting this mode while playback is underway will cause the client to imediately test for NetSession. If NetSession is available, then it will start using it. "never" - defines the netsession usage mode whereby the client will never use NetSession. Selecting this mode before playback starts will cause all requests to be directed directly to the edge server. Selecting this mode while playback is underway will cause the client to immediately stop using NetSession if it is using peer-assisted delivery. subClip:{clipBegin:20, clipEnd:100} OBJECT Set this to limit playback of a clip to certain time range within the clip. You can also limit just one side of the clip by just setting the clipBegin or clipEnd param and leaving the other param in the object empty. clipBegin: This value will determine the starting point of playback clipEnd: This value will be the duration of the clip from the actual starting point not the clipBegin point so if you set 20, 100 – the clip will start at 20 seconds in and will play for a duration of 80 seconds. 2. Support for Version 2.0 (SPE) Security NOTE*** 1. UseNetSession Metadata key is being deprecated - Use netsessionMode instead. Bugs Fixed 1. Fixed issue in JavaScript causing error on some windows systems thus preventing the player to embed and load. //************************************************************** Akamai Flow Plugin Change list for Version 2.3 //************************************************************** General - Added current plugin version number log at runtime. If logging is set to true, you will see this trace statement at runtime. Added Features 1. Added Metadata keys for : - mbrObject - This key is used for manually adding a Multi-Bitrate profile. Bugs Fixed 1. Found name mismatch for RTMP auth metadata tags in flow config. 2. I was adding three metadata tags to the wrong resource (media instead of plugin). //************************************************************** Akamai Flow Plugin Change list for Version 2.2 //************************************************************** General 1. Skipped version numbers to align this plugin with it's code dependency HDCore and AASP version of 2.2 - Going from 1.4 to 2.2 Added Features 1. Added Metadata keys for : - enableEndUserMapping - This key enables/disables end user mapping for HDN 1.0 or HDN 2.0 content - connectionAttemptInterval - Use this key to specify the RTMP connection interval in milliseconds the NetConnectionFactory will use for consecutive NetConnection attempts when trying to connect to an FMS server. - The default is 200 ms. - This key is currently undocumented, use at your own risk. //************************************************************** Akamai Flow Plugin Change list for Version 1.4 //************************************************************** General 1. Skipped version 1.1-1.3 to align this plugin with it's code dependency AASP version of 1.4 Bug Fixes 1. Fixed issues with live streams duration 2. Fixed issues with live streams playhead position at startup 3. Fixed issues with scrub bar playhead updating at beginning of file if not clicked on. 4. Made Plugin load AASP statically Added Features 1. Added Metadata keys for : - retryLive:true - retryInterval - liveTimeout - primaryToken - akamaiMediaType - akamaiMediaData - mbrStartingBitrate - mbrStartingIndex - enableNetSessionDiscovery - enableAlternateServerMapping - playerVerificationChallenge - genericNetStreamProperty Samples 1. Made the UI look cleaner 2. Removed samples that with no Akamai relevance such as adding UI elements to a flow player which can be found on the Flow player forums and dev pages //**************************************************************