Merge branch 'w13_MDL-38673_m25_flowplayer' of git://
[moodle.git] / lib / flowplayer / README.txt
1 Version history:
3 3.2.16
4 ------
5 - #15 fixes for #627, handle the display init on startup.
6 - #615 dispatch begin if in paused mode too early.
7 - #629 if start has been dispatched already prevent dispatching many begin events.
8 - #20 for the free player swap the logo with the stage video mask to display underneath not on top.
9 - #42 pass in stream clips through and close the stream before returning to the parent clip.
10 - #52 when replaying flag start has dispatched on the current clip.
11 - #44 fixes for #627 check if the stagevideo dimensions and positioning has changed to update the stage video mask with.
12 - unbinding and binding stage video events caused issues with instream playlists therefore has to be kept binded.
13   unbinded stage video events during seeking to prevent the mask repositioning.
14 - #53 update url filter to accomodate for pretty urls with semi colons.
15 - #50 if we have metadata already set it is being updated during seeks and switching, dispatch metadata change events instead.
17 3.2.15
18 ------
19 - #614 when the clip ends if the next clip in the provider has a different provider close the provider stream.
20 - #627 only detach / attach the display on start events which causes issues in buffering events after a seek in stagevideo.
21 - #627 re-enable stagevideo state change listeners if stagevideo is available or detach the fullscreen events on first call.
22 - #9 when replaying from stopping, connection does not receive callbacks anymore.
27 3.2.13
28 ------
29 - Updated to automatically load the latest controls and audio plugins
30 - #612 add some logging for the stagevideo render state to determine what mode the hardware acceleration is in for various systems.
31 - #628 opera browsers do not return filesize correctly for latest flash players so require to use load completion instead which may help with gzipped files also.
33 3.2.12
34 ------
35 - new flowplayer.js version 3.2.11,
36    fixes removing the player in fullscreen mode leaves Android locked in landscape orientation (#511)
37 - #586 add a bitrate label with a new namespace attribute fp:bitratelabel.
38 - #583 fixes for handling the fullscreenOnly property better
39 - #494 with relative filenames with a root path strip the baseurl of paths first.
41 3.2.11
42 ------
43 - new flowplayer.js, now requires Flash 10.1 as the minimum flash version
44 - #526 allow click through event for flash installation message when using div containers.
45 - #508 disabling the stagevideo screen mask, canvas is visible without it, this was causing issues with the display list.
46 - #443 adding accessibility option to the playbuttonoverlay.
49 3.2.10
50 ------
51 - Fixed #514, scrubbing was broken
52 - new flowplayer.js version 3.2.9, fixes #510
54 3.2.9
55 -----
56 - Fixed #490, controlbar background, buffer bar and progress bar colors were all reset to white
57 - #503 Update viewport when stage is added to obtain the coordnates correctly. Update viewport when in and out of fullscreen.
58 - #508 stage video mask was being added to the top layer and hiding all children.
60 3.2.8
61 -----
62 - Added new property clip.backBufferLength, to be used with FMS 3.5
63 - Adds support for StageVideo. To enable it set clip.accelerated to true.
64 - Tries to reload two times if the stream is not initially found. Also does 3 connection attempts if the connection fails with RTMP.
65 - Support for FMS slow motion
66 - Support for thumbnails in RSS files
67 - Added onPlayStatus clip event handler on NetStreamClient.
68 - Added new clip events for stream switching onSwitchFailed and onSwitchComplete
69 - made it possible to replay a clip using play(<current_clip's_index>)
71 Fixes:
72 - fixed to dispatch onStart also when replaying the previous clip, now the JS controlbar again works when replaying
73 - cuepoints were fired multiple times when there is a playlist with several clips. Issue #150.
74 - fixed XML parsing error when metadata's keys contains dashes
75 - backgroundImage css property can now be set to "none" to be removed
76 - fixed the facts that clips in a playlist were cut off by a fraction in the end
77 - fullScreenOnly now works in conjunction with displayTime
78 - JS plugins now handles grouped syntax like flowplayer("a.player" /*...*/ )
79 - JS function setClip can now be used to add listeners on the new Clip
80 - different players with the same configuration stored in a variable can now use JS plugins
81 - using linkUrl now works when calling JS function setClip
82 - zIndex for plugins works fine now, issue #302
83 - onLastSecond was fired twice, issue #300
84 - fixed license key verification on subdomains, issue #318
85 - fixed XSS vulnerability with linkUrls. Thank you Szymon Gruszecki for discovering and reporting this to us. Issue #329.
86 - fixed switch stream api support in paused state. #279.
87 - added switching state properties. #339
88 - fixed the stopBuffering() API method to close the NetConnection and to clear the screen
89 - Issue #355 setup targeting for Flash 10.0 and 10.1 to provide support for Flash 10.0 without Stagevideo requirements.
90 - fixed #364, NetConnection unnecessary closed/reconnected when the netConnection does not change from clip to clip
91 - xss fix for flashembed #357
92 - Issue #384 added links support in context menus with configuration { url: "", target: "_blank"} which will work in embedded players.
93 - #378, javascript method loadPluginWithConfig is unavailable and non existant. Documentation updated required to remove this and updates for loadPlugin like so
94 this.loadPlugin("content","../flowplayer.content.swf", { html: "test", top: 30  }); or
95 this.loadPlugin("content","../flowplayer.content.swf", { html: "test"  }, function() {
96                         this.css({ top: 30 });
97                     });
98 - #191 send the resume event, and no stop event first before reconnecting due to a connection timeout so the player comes out of a paused state correctly.
99 - #363 pause stream after metadata not beforehand or else no metadata is sent for rtmp clips .
100 - #363 silent seek and force to seek to a keyframe or else video frame will not display initially when paused.
101 - #375 clearing the event listeners when adding new video displays prevents new events being added when the playlist is replaced.
102 - #391 add message argument to connection failure callback required by some connection providers.
103 - #363 add overridable pause to frame for different seek functionality between http and rtmp.
104 - #392 possible fix for extensions with no filetypes like rtmp flv clips, require positive index check.
105 - #395 apply buffer animation status to VOD streams only.
106 - #375 possible fix when replacing the playlist in onBeforeFinish, move replay button to onFinish.
107 - #390 correct seek back to a valid time on invalid seeking while seeking in the buffer.
108 - #404 implement netstreamplayoptions for http streams, resets the stream or start loading a new stream.
109 - fixed an issue in parsing JSON config that contains several comments separated by whitespace
110 - new clip property 'stopLiveOnPause'
111 - #415 regression issue with #395, stop the buffering animation correctly.
112 - #414 problem appears again for very short clips with invalid seek times, make it step back 1 second from the invalid seek time to seek the buffer correctly.
113 - #416 enable seekableOnBegin to enable the scrubbar correctly when autobuffering.
114 - #423 add the . to clip type extension checks or else files with known extension postfixes within them will be chosen instead.
115 - #426 when a plugin width is set to a percentage, x/y is required to be floored or else it will affect the animation engine. specifically for the autohide function.
116 - #430 adding event listeners for netconnection to obtain certain events.
117 - #430 clear buffering status on connection failure.
118 - #430 clear buffering status on stream failure.
119 - #412 check for empty baseurl or else player url is appended and affects the url parsing.
120 - #439 check for all rtmp streaming protocols when checking for rtmp urls.
121 - #442 fix for code error in the javascript api.
122 - #461 when we have a clip base url set, we need the complete clip url sent to play2 for http streams.
123 - #470 check for a playlist when replacing the playlist with an rss feed.
124 - #494 regression issued caused by #412, enable base url correctly.
125 - #30 regression caused by character replacements, removing for now and let end user deal with them.
127 3.2.7
128 -----
129 - Loads the new controlbar plugin version 3.2.5.
130 Fixes:
131 - Fixed 'orig' scaling in fullscreen:
133 3.2.6
134 -----
135 - linkUrl should now work better with popup blockers:
136 - new linkWindow value "_popup" opens the linked page in a popup browser window
137 - added new onClipResized event
138 - Added new onUnload event, can be only listened in Flash and not triggered to JS
139 - API: Added new url property to plugin objects
140 Fixes:
141 - it was not possible to call play() in an onFinish listener
142 - fix to preserve the infoObject for custom netStream and netConnection clients in cases where the infoObject is a
143   primitive object without properties
144 - does not show the error dialog in the debugger player when showErrors: false
145 - fixed to correctly handle subdomains when validating the license key
146 - a custom logo is now sized correctly according to the configured size
147 - does not show the buffer animation any more when the player receives the onBufferEmpty message from the netStream.
148   The animation was unnecessarily shown in some situations.
149 - fixed #155. added new urlEncoding property to Clip for url ncoding ut8 urls
151 3.2.5
152 -----
153 - added new scaling option 'crop' that resizes to fill all available space, cropping on top/bottom or left/right
154 - improvements to RSS file parsing
155 - Now displays a hand cursor when a linkUrl is used in clips
157 3.2.4
158 -----
159 - new flowplayer.js version, with Apple iDevice fixes
161 3.2.3
162 -----
163 - a new 'type' clip property exposed to JS
164 - changed the clip type property to better work as a read-write property. Now accepts 'video', 'audio',
165   'image' and 'api' as configuration values.
166 - moved parallel rtmp connection mechanism from the RTMP plugin to Core so other plugins can use it (ie: securestreaming)
167 Fixes:
168 - fixed #112, wrong URL computation when using clip with relative URL on a page with a / after a # in its url
169 - fixed #111, wrong behavior of pre/post roll images with duration 0
170 - fixed multiple license keys logic
171 Fixes:
172 - correct verification of license keys in *.ca domains
173 - fix to make playback to always reach end of video
174 - fixed resuming of live streams
176 3.2.2
177 -----
178 Fixes:
179 - Now recognizes following kind of urls as audio clips: 'mp3:audiostreamname' (ulrs with mp3 prefix and no extension)
180 - Now ignores the duration from metadata if we already got one. Fix required for pseudostreaming
181 - Fix to reuse buffered data when replaying a clip
183 3.2.1
184 ---------
185 - Support for RTMP redirects (tested with Wowza loadbalancing)
186 - Fixed video size when no size info available in clip metadata
188 Fixes:
189 - Fix to correctly detect if the player SWF name contains a version number and if it does also use the version number
190 when it automatically loads the controls plugin.
192 3.2.0
193 -----
194 - canvas, controlbar and the content plugin backgound color and border color can be now given with rgb() and rgba() CSS style syntax
195 - Added onMouseOver() and onMouseOut() listener registration methods to the Flowplayer API
196 - enhancements to RSS playlist. Converted parsing to E4X, yahoo media and flowplayer namespace support. 
197 - added feature to obtain bitrate and dimension information to a new clip custom property "bitrates" for future support for bitrate choosing. 
198 - added getter for playerSwfName config
199 - if clip.url has the string "mp3:" in it, the clip.type will report 'audio'
200 - added setKeyboardShortcutsEnabled(), addKeyListener(), removeKeyListener() to FlowplayerBase
201 Fixes:
202 - onSeek() was not fired when seeking while paused and when using RTMP. An extra onStart was fired too.
203 - fireErrorExternal() was not working properly with an error PlayerEvent
204 - countPlugins() was throwing an error when a plugin was not found
205 - external swf files were not scaled properly
206 - the logo was unnecessary shown when going fullscreen if logo.displayTime was being used
207 - added a loadPluginWithConfig method to FlowplayerBase, accessible from javascript. Fixed double onload callback call.
208 - now handles cuepoint parameters injected using the Adobe Media Encoder
209 - showPlugin was not working when was null
210 - handles 3-part duration values included in FLV metadata, like "500.123.123"
211 - player wasn't always reaching end of video
212 - fixed broken buffering: false
213 - fixed event dispatching when embedding flowplayer without flowplayer.js (=without playlist config field)
214 - fixed safari crashes when unloading player
215 - fixed scrubber behaviour with a playlist containing 2 images (or swf) in a row
216 - fixed errors in logs when using an RSS playlist
217 - fixed OverlayPlayButton that was showing even if it shouldn't on some cases
218 - fixed wrong behavior when onBeforeFinish was returning false within playlists
219 - /!\ Don't use the fadeIn / fadeOut controlbar's API while using autoHide.
220 - fixed play state button with images
221 - fixed splash image flickering
223 3.1.5
224 -----
225 Fixes:
226 - The player went to a locked state when resuming playback after a period that was long enought to send the
227 netConnection to an invalid state. Now when resuming playback on an invalid connection the clip starts again from
228 the beginning. This is only when using RTMP connections and does not affect progressive download playback.
229 - Custom netConnect and netStream events did not pass the info object to JS listeners
231 3.1.4
232 -----
233 Fixes:
234 - player did not initialize if the controlbar plugin was disabled and if the play button overlay was disabled with play: null
235 - works properly without cachebusting on IE
236 - RSS playlist parsing now respects the isDefault attribute used in mRSS media group items
237 - Fixed passing of connection arguments
239 3.1.3
240 -----
241 - enhancements to RSS playlist parsing: Now skips all media:content that have unsupported types. Now the type attribute
242 of the media:content element is mandatory and has to be present in the RSS file
243 - Possibility to pass a RSS file name with playFeed("playlist.rss") and setPlaylist("playlist.rss") calls.
244 - changes to the ConnectionProvider and URLResolver APIs
245 - Now automatically uses a plugin that is called 'rtmp' for all clips that have the rtmp-protocol in their URLs.
246 - Added possibility to specify all clip properties in an RSS playlist
248 Fixes:
249 - the result of URL resolvers in now cached, and the resolvers will not be used again when a clip is replayed
250 - some style properties like 'backgroundGradient' had no effect in config
251 - video goes tiny on Firefox:
252 - RSS playlists: The 'type' attribute value 'audio/mp3' in the media:content element caused an error.
253 - Dispatches onMetadata() if an URL resolver changes the clip URL (changes to a different file)
254 - error codes and error message were not properly passed to onEvent JS listeners
256 3.1.2
257 -----
258 - The domain of the logo url must the same domain from where the player SWF is loaded from.
259 - Fullscreen can be toggled by doublclick on the video area.
260 Fixes:
261 - Player was not initialized correctly when instream playlists were used and the provider used in the instream clips was defined in the common clip.
262 - A separator in the Context Menu made the callbacks in the following menu items out of order. Related forum post:
263 - the width and height settings of a logo were ignored if the logo was a sWF file
264 - volume control and mute/unmute were not working after an instream clip had been played
265 - now possible to use RTMP for mp3 files
266 - Issue 12: cuepointMultiplier was undefined in the clip object set to JS event listeners
267 - Issue 14: onBeforeStop was unnecessarily fired when calling setPlaylist() and the player was not playing,
268             additionally onStop was never fired even if onBeforeStop was
269 - fixed screen vertical placement problems that reappeared with 3.1.1
270 - The rotating animation now has the same size and position as it has after initialized
272 3.1.1
273 -----
274 - External configuration files
275 - Instream playback
276 - Added toggleFullscreen() the API
277 - Possibility to specify controls configuration in clips
278 - Seek target position is now sent in the onBeforeSeek event
279 Fixes:
280 - The screen size was initially too small on Firefox (Mac)
281 - Did not persist a zero volume value:
283 3.1.0
284 -----
285 New features:
286 - clip's can have urlResolvers and connectionProviders
287 - Added new configuration options 'connectionCallbacks' and 'streamCallbacks'. Both accept an Array of event names as a value.
288   When these events get fired on the connection or stream object, corresponding Clip events will be fired by the player.
289   This can be used for example when firing custom events from RTMP server apps
290 - Added new clip event types: 'onConnectionEvent' and 'onStreamEvent' these get fired when the predefined events happen on the connection and stream objects.
291 - Added Security.allowDomain() to allow loaded plugins to script the player
292 - Added addClip(clip, index) to the API, index is optional
293 - Possibility to view videos without metadata, using clip.metaData: false
294 - Now the player's preloader uses the rotating animation instead of a percent text to indicate the progress
295   of loading the player SWF. You can disable the aninamtion by setting buffering: false
296 - calling close() now does not send the onStop event
297 - Clip's custom properties are now present in the root of the clip argument in all clip events that are sent to JS.
299 Bug fixes:
300 - The preloader sometimes failed to initialize the player
301 - Allow seeking while in buffering state:
302 - Replay of a RTMP stream was failing after the connection had expired
303 - Security error when clicking on the screen if there is an image in the playlist loaded from a foreign domain
304 - loadPlugin() was not working
305 - now fullscreen works with Flash versions older than 9.0.115, in versions that do not support hardware scaling
306 - replaying a RTMP stream with an image in front of the stream in the playlist was not working (video stayed hidden). Happened
307   because the server does not send metadata if replaying the same stream.
308 - the scrubber is disabled if the clip is not seekable in the first frame:
309   By default if the clip has one of following extensions (the typical flash video extensions) it is seekable
310   in the first frame: 'f4b', 'f4p', 'f4v', 'flv'. Added new clip property seekableOnBegin that can be used to override the default.  
312 3.0.6
313 -----
314 - added possibility to associate a linkUrl and linkWindow to the canvas
315 Fixes:
316 - fix for entering fullscreen for Flash versions that don't support the hardware scaled fullscreen-mode
317 - when showing images the duration tracking starts only after the image has been completely loaded:
318 - fix for verifying license keys for domains that have more than 4 labels in them
319 - if plugin loading failis because of a IO error, the plugin will be discarded and the player initialization continues:
321 3.0.4
322 -----
323 - The "play" pseudo-plugin now supports fadeIn(), fadeOut(), showPlugin(), hidePlugin() and
324   additionally you can configure it like this:
325   // make only the play button invisible (buffering animation is still used)
326   play: { display: 'none' }
327   // disable the play button and the buffering animation
328   play: null
329   // disable the buffering animation
330   buffering: null 
331 - Added possibility to seek when in the buffering state:
332 - Added copyright notices and other GPL required entries to the user interface
334 Fixes:
335 - clip urls were not resolved correctly if the HTML page URL had a query string starting with a question mark (
336 - Fixed context menu for with IE (commercial version)
337 - a cuepoint at time zero was fired several times
338 - screen is now arranged correctly even when only bottom or top is defined for it in the configuration
339 - Fixed context menu for with IE (commercial version)
340 - a cuepoint at time zero was fired several times
341 - screen is now arranged correctly even when only bottom or top is defined for it in the configuration
342 - Now possible to call play() in an onError handler:
343 - Does not throw an error if the player cannot persist the volume on the client computer:
344 - Triggering fullscreen does not pause the player in IE
345 - The play button overlay no longer has a gap between it's pieces when a label is used:
346 - clip.update() JS call now resets the duration
347 - a label configured for the play button overlay did not work in the commercial version
349 3.0.3
350 -----
351 - fixed cuepoint firing: Does not skip cuepoints any more
352 - Plugins can now be loaded from a different domain to the flowplayer.swf
353 - 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.
354 - 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()
355 - the opacity setting now works with the logo
356 - fadeOut() call to the "screen" plugin was sending the listenerId and pluginName arguments in wrong order
357 - stop(), pause(), resume(), close() no longer return the flowplayer object to JS
358 - changing the size of the screen in a onFullscreen listener now always works, there was a bug that caused this to fail occasionally
359 - fixed using arbitrary SWFs as plugins
360 - the API method setPlaylist() no longer starts playing if autoPlay: true, neither it starts buffering if autoBuffering: true
361 - 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
363 3.0.2
364 -----
365 - setting play: null now works again
366 - pressing the play again button overlay does not open a linkUrl associated with a clip
367 - now displays a live feed even when the RTMP server does not send any metadata and the onStart method is not therefore dispatched
368 - added onMetaData clip event
369 - 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.
370 - 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) 
371 - backgroundGradient was drawn over the background image in the canvas and in the content and controlbar plugins. Now it's drawn below the image.
372 - added cuepointMultiplier property to clips. This can be used to multiply the time values read from cuepoint metadata embedded into video files.
373 - the player's framerate was increased to 24 FPS, makes all animations smoother
375 3.0.1
376 -----
377 - Fixed negative cuepoints from common clip. Now these are properly propagated to the clips in playlist.
378 - buffering animation is now the same size as the play button overlay
379 - commercial version now supports license keys that allows the use of subdomains
380 - error messages are now automatically hidden after a 4 second delay. They are also hidden when a new clips
381   starts playing (when onBeforeBegin is fired)
382 - added possibility to disable the buffering animation like so: buffering: false
383 - pressing the play button overlay does not open a linkUrl associated with a clip
384 - license key verification failed if a port number was used in the URL (like in this url:
385 - added audio support, clip has a new "image" property
386 - workaround for missing "NetStream.Play.Start" notfication that was happending with Red5. Because of this issue the video was not shown.
387 - commercial version has the possibility to change the zIndex of the logo
389 3.0.0
390 -----
391 - Removed security errors that happened when loading images from foreign domains (domains other than the domain of the core SWF).
392   Using a backgroundImage on canvas, in the content plugin, and for the controls is also possible to be loaded
393   from a foreign domain - BUT backgroundRepeat cannot be used for foreign images.
394 - Now allows the embedding HTML to script the player even if the player is loaded from another domain.
395 - Added a 'live' property to Clips, used for live streams.
396 - 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.
397 - 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
398   when the logo is clicked.  Possible values for linkWindow:
399     * "_self" specifies the current frame in the current window.
400     * "_blank" specifies a new window.
401     * "_parent" specifies the parent of the current frame.
402     * "_top" specifies the top-level frame in the current window.
403 - 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.
404 - Made the play button overlay and the "Play again" button slightly bigger.
406 RC4
407 ---
408 - Now shows a "Play again" button at the end of the video/playlist
409 - Commercial version shows a Flowplayer logo if invalidKey was supplied, but the otherwise the player works
410 - setting play: null in configuration will disable the play button overlay
411 - setting opacity for "play" also sets it for the buffering animation
412 - Fixed firing of cuepoints too early. Cuepoint firing is now based on stream time and does not rely on timers
413 - added onXMPData event listener
414 - Should not stop playback too early before the clip is really completed
415 - The START event is now delayed so that the metadata is available when the event is fired, METADATA event was removed,
416   new event BEGIN that is dispatched when the playback has been successfully started. Metadata is not normally
417   available when BEGIN is fired. 
419 RC3
420 ---
421 - stopBuffering() now dispatches the onStop event first if the player is playing/paused/buffering at the time of calling it
422 - fixed detection of images based on file extensions
423 - fixed some issues with having images in the playlist
424 - made it possible to autoBuffer next video while showing an image (image without a duration)
426 RC2
427 ---
428 - fixed: setting the screen height in configuration did not have any effect
430 RC1
431 -----
432 - better error message if plugin loading fails, shows the URL used
433 - validates our redesigned multidomain license key correctly
434 - fix to prevent the play button going visible when the onBufferEmpty event occurs
435 - the commercial swf now correctly loads the controls using version information
436 - fixed: the play button overlay became invisible with long fadeOutSpeeds
438 beta6
439 -----
440 - removed the onFirstFramePause event
441 - playing a clip for the second time caused a doubled sound
442 - pausing on first frame did not work on some FLV files
444 beta5
445 -----
446 - logo only uses percentage scaling if it's a SWF file (there is ".swf" in it's url)
447 - context menu now correctly builds up from string entries in configuration
448 -always closes the previous connection before starting a new clip
450 beta4
451 -----
452 - now it's possible to load a plugin into the panel without specifying any position/dimensions
453  information, the plugin is placed to left: "50%", top: "50%" and using the plugin DisplayObject's width & height
454 - The Flowplayer API was not fully initialized when onLoad was invoked on Flash plugins
456 beta3
457 -----
458 - tweaking logo placement
459 - "play" did not show up after repeated pause/resume
460 - player now loads the latest controls SWF version, right now the latest SWF is called 'flowplayer.controls-3.0.0-beta2.swf'
462 beta2
463 -----
464 - fixed support for RTMP stream groups
465 - changed to loop through available fonts in order to find a suitable font also in IE
466 - Preloader was broken on IE: When the player SWf was in browser's cache it did not initialize properly
467 - Context menu now correctly handles menu items that are configured by their string labels only (not using json objects)
468 - fixed custom logo positioning (was moved to the left edge of screen in fullscreen)
469 - "play" now always follows the position and size of the screen
470 - video was stretched below the controls in fullscreen when autoHide: 'never'
471 - logo now takes 6.5% of the screen height, width is scaled so that the aspect ratio is preserved
473 beta1
474 -----
475 - First public beta release