1
2The players are located in the root flowplayer directory in the distribution package.
3* The player flash components are: FlowPlayer.swf, FlowPlayerWhite.swf, FlowPlayerBlack.swf and FlowPlayerLP.swf
4* Sample HTML files + JavaScript for embedding the players are in the html directory.
5* Extra example files for special cases in the extras folder
6  (example suggestion.js, example external configuration file).
7
8Installation
9============
10
11To install the player copy html/flashembed.min.js and one of the player SWF files into
12your Web server. Only the SWF and flashembed.min.js is required! For further info please
13see the installation instruction in our Web site http://flowplayer.org
14
15See html/FlowPlayer.html for a simple example!
16
17FlowPlayer Version history (latest release on top)
18=================================================
19
202.1.2
21	- New example.html included, old example files were dropped from the distribution package
22	- New version of flashembed.min.js, it has some bugs fixed
23	Fixes:
24	- Sometimes the buffering animation was left running in the beginning of videos.
25	- Scaling problems fixed. You can use showOnLoadBegin: false in the clips to prevent them from showing before
26	they have been scaled properly.
27
282.1.1
29	Fixes:
30	- Buffering animation was left visible when pausing and resuming using the control-bar's
31	pause/resume button
32
332.1
34	- Hardware Scaled video in full-screen mode
35	- New buffering rotation animation
36	- New option controlBarGloss
37	Fixes:
38	- The control bar hiding is now based on mouse move delay, works much better that way
39	- Calls onFlowPlayerReady() also when you use the configInject option.
40	- Does not show NaN's in the time display when playing MP3 clips with autoPlay: false
41	- The stop button behaves correctly for MP3 clips
42	- Replay button in the suggestions view fixed
43	- Does not produce sound in the beginning of clip when autoPlay: false and autoBuffering: true
44	- Now shows the first frame of video when autoPlay: false and autoBuffering: true
45	- Fixed: was not possible to set the clip's duration just using the 'end' parameter
46	- Does not show the buffering rotation animation at the end of playList
47
482.0.1
49	- Arranges the buttons to the left if the scrubber is not shown (when using showScrubber: false)
50	- Does not show the video link in the Embed popup unless videoLink is specified in config
51	Fixes:
52	- Email sending works now by default, it sends the data to flowplayer.org's email sender
53	- Menu bar is now always correctly opened above the control bar
54
55
562.0
57	- Now uses the "native full screen" by default, no need to specify useNativeFullScreen: true to enable it
58	- Shows the big play button overlay image by default, new config option 'usePlayOverlay' that can be
59	  used to disable it.
60	- New button to mute and unmute the sound volume
61	- Possibility to show/hide every button and widget in the control bar
62	- New overlay play button graphic
63	- New rotating buffer animation
64	- Added a new callback onFlowPlayerReady() to the JavaScript API.
65    - New default skin 'air'
66       * New controlsOverVideo config setting
67       * new config setting controlBarBackgroundColor (controlAreaBorderColor setting was removed)
68	- Removed the loop button (unnecessary)
69	- The initial volume level is now 50%
70	- The popup menu automatically hides after 10 seconds if not closed by the user.
71	- Added new "onPlaybackTime" callback to the JavaScript API. Reports the current time
72	  in the video timeline.
73	- setting autoPlay: true now starts playing when the 'play' button overlay is used as the first clip
74	  in the playList. Setting autoPlay: false will make the player pause on and show the splash.
75	- Embed view shows a direct link to the current video file
76      * added videoLink config option that can be used to override the default
77        that is taken from the playList or the videoFile option
78    - Email-a-link functionality:
79      * added emailPostUrl config option
80      * added emailVideoLink config option
81      * added emailDefaultMessage config option (all occurrences of [video_link] tag in the message
82        are replaced with the value of emailVideoLink)
83	- AdServer functionality:
84	  * added following clip specific configuration options: id, keywords
85	  * added enableAds, publisherId, adServerUrl, adServerAuth, countryCode config options
86	Fixes:
87	- autoRewind now rewinds to start and stops if loop is false
88	- The initialScale config option works correctly when the controls are hidden using hideControls: true
89	- playList support with RTMP streaming servers was broken
90
911.21.1
92	Fixes:
93	- FlowPlayer prevented page elements from loading properly when the page was refreshed in IE. Now fixed!
94	- setConfig() JavaScript API function is initialized as early as possible to
95	  fix some timing issues on IE.
96	- does not load the fullscreen.js from flowplayer.org when using the native full screen mode
97	- volume level was reset back to 100% when scrubbing
98
99
1001.21
101	- MP3 playback (following are not supported yet: Protection codes (a.k.a. anti-leeching))
102	- Google Analytics support
103	- Extensions to the JavaScript API
104		- Added the possibility to play a clip via JavaScript
105		- Added possibility to set programmatic cue points using JavaScript
106		- Added possibility to play a clip having a RTMP url
107	- Player initializes without specifying any config. After that you can use the JavaScript API
108	  to configure it and play clips.
109	- Embed code does not include child configs any more. Only the configuration set by
110	  flashVars or injected is included in the embed code configuration.
111	- Possibility to supply the embed code in config
112	- Possibility to load a page for suggestions instead of just playing them in the same
113	  player instance. Done with the linkURL and linkWindow clip specific fields.
114	Fixes:
115	- Seeking is more accurate so that it seeks exactly where the scrub bar is released
116	- You can now seek to the beginning or the end of a video using the scrubber
117	- Setting a new config using JavaScript via setConfig() now re-creates the UI so that it properly
118	  reflects the new config
119	- baseURL was not used if it was specified in a parent config and the playlist was specified in it's child config.
120	- does not load the fullscreen.js from flowplayer.org when using the native full screen mode
121	- doubleclickin on the "play" overlay at the beginning of a playlist caused the player to pause. Now doubleclicks
122	  work the same as single clicks.
123	- Fixes to suggestions:
124	    - Does not unnecessarily load the suggestion URL several times.
125	    - Suggestions loading did not work when using an external config file. Caused the player to initialize over and over.
126
1271.20
128	- Suggestions a.k.a. related videos
129	- Loading of configuration using RTMP from a streaming server
130	- The native full screen ads were removed and replaced by a flowplayer.org logo
131	- Added a new clip type 'video' that ensures correct playback for h.264 videos supported
132	  by the latest Flash player 3 update codenamed "Moviestar"
133	Fixes:
134	- RTMP recorded streams were not played to the end
135	- Fixed the sample HTML files
136
1371.19
138	- Skinning kit
139	- Added all dependencies to the source distribution package
140	Fixes:
141	- videoHeight does not have any effect in full screen mode any more, now resizes to fit the full area
142	- configured progress bar, buffering bar etc. colors were ignored
143
1441.18
145	- Smoothing of FLV videos (antialiasing of scaled video)
146	- Native Flash full screen mode added.
147	- The Long Play version (FlowPlayerLP.swf) now resizes to full screen
148	- Addes mouse over states to buttons.
149	- Added 'overlay' to image clips. Can be used to overlay a play button image on top of another image clip.
150	- Addes a built-in Big Play Button overlay.
151	- Added new clip specific configuration variable 'liveStream' to specify that the clip is a live stream
152	  played from a media server.
153	- Changed the background of the video area to be black. Now the player does not show the video (shows the black
154	  background instead) before the buffer is filled an the playback starts.
155	- Added new clip specific setting 'showOnLoadBegin'. Turn this to false and the video will not be shown
156	  before the buffer has been filled and the playback starts.
157	- All methods of the JavaScript API are now available in LocalConnection API as well. You can now
158	  control FlowPlayer from another Flash movie.
159	- By default the loop button is no longer shown. You have to specify showLoopButton: true to make it visible.
160	- New maximum play count for clips in the playlist. Controlled with a clip specific 'maxPlayCount' setting.
161	Fixes:
162	- Progress bar now better seeks to the end of videos.
163	- The embed area is centered horizontally also in full screen mode.
164	- The time display was corrupted with videos longer than 60 minutes. Now uses a smaller font so that
165	the time values fit properly.
166	- JS full screen works with external config file
167	- Setting showFullScreenButton to False Shortens Progress Bar - now fixed
168	- The Long Play version does not redraw the thumbs strip unnecessarily
169
170Older releases in in version number order:
171
1720.9     Initial public release. All basic features are in place.
173
1740.9.1   Added 'autoPlay' variable that can be used to specify whether the
175        playback should begin immediately when the player has been loaded into
176        the Web browser.
177
1780.9.2   Bug fixes.
179
1800.9.3   Added new 'bufferLength' variable that can be used in the HTML page to
181        specify the length of the buffer in seconds when streaming FLV. Fixed a
182        bug that prevented playback after an FLV was completely played.
183
1840.9.4   Added a 'baseURL' variable that can be used to specify the location of
185        the video file to be loaded by Player.swf. See Player.html for an
186        example.
187
188        If the 'videoFile' variable's value contains a '.flv' or '.swf'
189        extension, the standalone player (Player.swf) will NOT append this based
190        on the detected flash version. If a prefix is not present, the player
191        always appends either one of these prefixes.
192
1931.0
194	- Displays a "BUFFERING..." text when filling the video buffer.
195	- Fixed playback of the start and the end of the video where the player
196	  was errorneously cutting off some of the video.
197	- Added a new start() function to the FlowPlayer class.
198	- Fixed Sample.fla
199
2001.1
201    - Added ability to loop; Contains a new toggle button to control looping.
202      Default looping state is defined in 'loop' parameter. Thanks Jeff Wagner
203      for contributing the initial looping support.
204    - Now resizes according to the size defined in the HTML page
205    - Fixed some flaws in the graphics
206    - The color of the progress bar is now gray by default (more neutral). The
207      color can be customized by parameters.
208    - Removed support to play videos in SWF format.
209
2101.2
211    - Added a 'autoBuffering' option and welcome image support.
212    - Added a 'hideContols' option to hide all buttons and other widgets and
213      leaving only the video display showing.
214    - Added support for welcome images
215    - Most of the UI is now built dynamically with ActionScript instead of using
216      pre-drawn images. This results in 50% smaller download size.
217
2181.2.b2
219	- Fixed binary build that contained an old buggy FlowPlayer.swf
220
2211.3
222    - Fixed resizing problem that occurred with Internet Explorer: The video was
223      not resized when the page was refreshed.
224
2251.4
226	- Removed the blue the background color of the player. The light blue color
227	  became visible when using only the obect-tag to embed the player into a page.
228	  By using only the object tag it's possible to author valid XHTML. The sample
229	  FlowPlayer.html now shows this kind of markup.
230
2311.5
232	- Support for playlists
233	- Extenal configuration file that enables configuring all the existing
234	  settings. All settings defined in this configuration file can be
235	  overridden using flashvars in the HTML object tag.
236	- Basic skinning support: Images for all buttons (play, pause, looping
237	  toggle, and dragger) can be loaded from external JPG files. Smaller
238	  versions of the default buttons are provided as an example.
239	  FlowPlayerLiht.swf is meant to be used with skinning: it does not contain
240	  any button images in itself and therefore is slightly smaller in download
241	  size.
242	- 'hideBorder' option
243	- visual improvement of control buttons
244	- dragging can be now done by clicking anywhere in the progress bar area
245	- clicking on the video area pauses and resumes playback
246	- scaling the splash image is now optional. Alternatively it can be centered
247	  into the video area.
248	- removed the border surrounding the video area
249	- plus some more minor changes
250	Bug fixes:
251	- Seeking using the dragger button is more accurate. Now it is possible to
252	  seek to the very beginning of a clip.
253	- Stops playing in the launching player when the full screen player is opened. This
254	  way the full screen player can begin buffering the video immediately. Previously
255	  the launching player was paused and continued buffering and it prevented the full
256	  screen player from buffering.
257
2581.6
259	Bug fixes:
260	- Does not buffer unnessessarily if looping through one clip again and again
261	- Playback can be started normally again when the clip is done and looping
262	is off. There was a bug that prevented this.
263	- Clicking on the video area did not start playing if splash not used and
264	when autoPlay=false
265	- The seeker button aligned to the right from the mouse position when it was
266	grabbed using the mouse button. Now it stays on the same position it was in
267	when the mouse button was pressed down.
268	- It was not possible to use characters 'y' and 'Y' in the names inside
269	the playList. Now following characters are available:
270	"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz?!/-:,. 1234567890"
271
2721.7
273	Fixes:
274	- baseURLs are not appended to file name values that are complete URLs
275	- minor visual enhancements
276	New features:
277	- Support for long videos: Initial support for streaming servers (tested with red5) +
278	thumbnails corresponding to cue points.
279	- Video duration and time indicator
280	- Resizing of the video area through a menu
281
2821.7.1
283	- Now the original FLV video dimensions are detected from the FLV metadata. The different resizing options are based on those. Initially the size is maximized according to the 'videoHeight' setting and preserving the aspect ratio.
284	Fixes:
285	- progress bar now goes to the start position (left) even when autoPlay=false and autoBuffering=false [1574640]
286	- resizing menu does not toggle pause/resume anymore [1581085]
287	- fixed missing audio on some FLV files [1568612]
288	- Flash Media Servers seems to send the FLV metadata again and again when seeking. This caused unnessessary rearranging of the thumbnails.
289	- Thumnail list's scrollbar is now hidden if all thumbnails fit the available visible space.
290
2911.8
292	- Initial JavaScript API (Requires FlashPlayer 8 or above):
293		* Possibility to configure the player using JavaScript and a configuration object
294		similar to the external config file (using JavaScript Object Notation, JSON)
295		* Possibility to move the playback to different clips in the playlist using JavaScript
296	- Changed the format how thumbnails are specified in the config object
297	- The numbers from the playlist's clips were removed
298	- Unnamed clips are hidden from the playlist
299	- Possibility to have images in the playlist. Now the splash image is internally handled
300	as being the first clip in the playlist.
301	- Adjacent clips are played as one stream when using a streaming server
302
3031.9	- More complete JavaScript API
304	- Hierarchical configuration
305	- New config variable "initialScale" to control the initial scaling of the video
306	- New resizing option "fill window" that will fill all available space (does not care about preserving the aspect ratios)
307	- Changed the default buffer to 10 seconds
308	- noVideoClip config setting that can be used to specify a video clip or an image to be played when
309	  the primary clip is not found
310	Fixes:
311	- Fixed buffering indicator, did not show the buffer lenght correctly when not using a streaming server
312	- It was not possible to pass an empty string in baseURL when using setConfig() in the JavaScript API
313	- loop config setting was broken
314	- Clip is now better recognized as completely played
315
3161.10
317	Changed to use the same configuration syntax with flashVars as with external configuration files. Now
318	the same configuration style is used consistently everywhere.
319	Fixes:
320	- It was impossible to disable autoPlay and autoBuffering
321
3221.10.1
323	- Fix for the message on IE: "Object doesn't support this property or method' Line 48, Char 3". This
324	  was caused by two method names in the new JavaScript API. As a result, these methods are now renamed
325	  in the JavaScript API.
326	- Inlcuded javascript.txt (documentation for the JavaScript API) in the distribution packages.
327
3281.11
329	- Finally added a volume control slider
330	- Made all progress bar and volume slider colors customizable
331	- Added a possibility to hide the playlist control buttons (next clip and previous clip buttons)
332	- Fixed the sample html files to work in Internet Explorer. The pages now use SWFObject
333	  (http://blog.deconcept.com/swfobject/) to embed the player.
334
3351.11.1
336	- Changed volume slider to change the volume while the slider is being moved. The previous version changed
337	  it only after the mouse button was released.
338	Fixes:
339	- Now resets the play/pause button correctly when the clip ends and looping is not used
340	- Looping does not go to the splash after the last clip in the playlist is finished. Instead the playback loops
341	  to the first clip after the splash. This is valid also when only one video is configured to be played using
342	  the 'videoFile' config option.
343
3441.12
345	- Protection scheme to prevent inline linking (http://en.wikipedia.org/wiki/Inline_linking)
346	  of video and image files.
347	- Images in playlist are resized according to the menu options. Images also respect the 'initialScale'
348	  config option.
349	Fixes:
350	- If loop is off the player stops on the last frame of the clip
351
3521.13
353	- New config options to hide the loop button and the size options menu.
354	- Possibility to disable transport control buttons using a clip specific option.
355	- Possibility to have hyperlinks for clips. Will open the linked URL into the browser when the clip is clicked.
356	- Possibility to disable pause/resume behavior associated to clicking the video area. This is done
357	  by specifying an empty hyperlink URL to a click.
358	- New animation that plays on the progress bar area when the video is buffering
359	- The setConfig() method in the JavaScript API can be used over and over again to replace the configuration
360
3611.14
362	- Two new skins included (black & white)
363	- Initial support for lighttpd
364	- Ability to include Flash movies (swf files) in playlist
365	- Added a type property to playlist clips so that the URLs don't need to have an extension (swf, flv or jpg)
366	  any more.
367	Fixes:
368	- playlist control buttons (next & prev) did not fade out when disabling them for a clip
369
3701.14.1
371	- dragger (scrubber) now causes immediate seeking when it is moved
372	Fixes:
373	- JavaScript API's setConfig() did not work correctly
374	- allows seeking to unbuffered areas when streaming with lighttpd
375	- removed unnecessary error logging
376	- volume slider goes all the way to the right edge
377	- fixed regressions in LP version: Thumbnail scrollbar was not shown,
378	duration labels did not have the grey background
379
3801.15
381	- Added several event callbacks to the JavaScript API. See javascript.txt for details.
382	- Added a new "thermometer" skin, ends up in FlowPlayerThermo.swf (does not include the playlist
383	  control and loop buttons yet)
384	- Andrew Rice: Faster seeking with lighttpd by using a binary search to find the keyframes.
385	               A fix to the Seek() method in the JavaScript API now works correctly with lighttpd.
386
3871.16
388	- Added full screen support. Opens a new browser window that occupies all screen estate.
389	- Added a new view that shows the HTML code for embedding the video in blogs etc.
390	- Changed the looks of the menu. The menu is now shown when the user hovers over the area
391	  where it is displayed.
392	- Added more event callbacks to the JavaScript API. See javascript.txt for details.
393	- Changed the splash image to use the 'baseURL' variable that is used with all other types of clips.
394	  'skinImagesBaseURL' is only used for external skin images
395	- Removed the playlist view (the list that showed the playlist contents under the control buttons)
396	Fixes:
397	- Volume slider sometimes was errorneusly placed on top of the video area
398	- a SWF in a playlist is not loaded on top of the control button area (new the control area
399	border stays on top of it).
400	- initialScale parameter did not work when the controls were hidden
401	- pause/resume by clicking the video (or the linkUrl behavior) did not work in the upper left
402	  corner of the video area
403	- The player now dynamically resizes itself if the size is changed in the embedding HTML. This
404	  is utilized by the fullscreen feature.
405
4061.16.1
407	Fixes a bug in the new full screen feature, it was not able to dynamically add the required
408	JavaScript to the opening page's DOM on Internet Explorer.
409
4101.16.2
411	Fixed the embedding feature so that the displayed code works in MySpace.
412
4131.17
414	- Added a button to open the full screen page.
415	- Removed the menu auto-popup.
416	- Added a 'autoRewind' option that is used to rewind to the first clip in the playlist. The old
417	'loop' option keeps the playback looping without returning back to the first splash image
418	(if there is a splash).
419	- Added ability to include png files in playlists. Especially useful for creating transparent splash images
420	that have a big play button image.
421	- Added a per clip parameter 'allowResize' that can be used to override the scaling setting.
422	- Changed the font used in FlowPlayer to be non italics
423	- Added possibility to fix the control buttons area width. Now the controls do not fill the whole
424	  width in the full screen mode.
425	Fixes:
426	- Embed provided hardcoded width and height values. Now it takes those from the parent player.
427
4281.17.1
429	Fixes:
430	- Fixed user interface problems introduced in 1.17
431	(see: http://sourceforge.net/forum/forum.php?thread_id=1733937&forum_id=453550)
432
433
434
435How to use it
436=============
437
438Please see http://flowplayer.org/documentation
439
440Support, comments, bug reports and feedback:
441--------------------------------------------
442Please post support requests and feedback to the forums at http://flowplayer.org
443You can also contact the author directly: api@iki.fi
444