Accessibility

Adobe Media Server Release Notes

Macromedia Flash Media Server 2.01 Release Notes

This document addresses issues that are not discussed in the Macromedia Flash Media Server 2 documentation. This document may be updated as more information becomes available.

About Flash Media Server 2.01

This update to Flash Media Server 2.0 allows users to choose their product license parameters from a set of pre-configured license profiles. These profiles allow Flash Media Server administrators to easily change the license configuration for their Flash Media Server install to suit their current needs. License profiles can be changed at any time by the Flash Media Server administrator; however license profiles will only work with valid Flash Media Server serial keys.

Please note that the 90 day interim license cannot be used along with the license profiles.  The serial key licensing and license file systems do not interact, they are mutually exclusive systems. Consult the Readme.htm file installed with this release for instructions on serializing your installation of the software.

In addition to the license profiles, this release addresses a number of customer reported issues.

Adobe recommends that you install this update if you are currently using Flash Media Server 2.0.

Installation

Adobe recommends uninstalling any installed versions of Flash Media Server or Flash Communications Server before installing Flash Media Server version 2.0.1. Before uninstalling a previous version be sure to back up any critical files, such as the "applications" or "conf" folders, in the current installation directory as these may be deleted during the uninstall process. After uninstalling any previous versions, Flash Media Server version 2.0.1 can be installed.

Specifying a Profile

The available profiles (*.pro files) are located in the "licenses" folder in the installation directory. The Flash Media Server 2.0.1 install includes 3 profiles; 150.pro (150 connections with unlimited bandwidth), 1000-40.pro (1000 connections with a maximum bandwidth of 40 Megabits per second), 2500-25.pro (2500 connections with a maximum bandwidth of 25 Megabits per second). By default the 150.pro profile is specified. To change this:

  1. In the "conf" folder in the installation directory, find and open the fms.ini file in a text editor (i.e. notepad).
  2. In fms.ini, locate the configuration key SERVER.ACTIVE_PROFILE.
  3. Set the value of this key to the file name of the License Profile that you would like to use. (i.e., "SERVER.ACTIVE_PROFILE = 1000-40.pro" to specify the 1000-40 profile).
  4. Save the changes to fms.ini.
  5. Restart the server.

If you have copied your configuration files from an existing installation, you will need to add the following tag to Server.xml and key to fms.ini:

To Server.xml:
<ActiveProfile>${SERVER.ACTIVE_PROFILE}</ActiveProfile>

The ActiveProfile tag should be placed at the Root/Server level, for example right below the <LicenseInfo> tag (which already exists). 

To fms.ini:
SERVER.ACTIVE_PROFILE = 150.pro

The SERVER.ACTIVE_PROFILE key for fms.ini can be placed anywhere in the file.  The 150.pro listed above is only an example; please specify the profile of your choice.

System Requirements

Flash Media Server 2 supports Windows® 2003 Server, Windows 2000 Server, Linux Red Hat® Enterprise 3.0, Linux Red Hat Enterprise 4.0.

For information, see the Flash Media Server 2 system requirements.

What's New in this Release

The following bugs have been fixed in this release. The bug tracker issue number is included for items where applicable.

Load vars was incorrectly encoding URLs using decimals instead of hex codes. [149918]

A race condition in stream management would sometimes result in Netstream.Play.Stop not being sent to the client, which prevented the FLV Player from playing the stream properly. [153188]

Under heavy connection loads, such as a constant stream of connections at about 50 con/sec into the server maintaining about a 1000 connections, the FMS Edge process would sometimes go into a deadlock. [153910]

XML objects incorrectly released references to child nodes which would sometimes result in the server crashing. [153990]

Under heavy connection loads, such as 100 connections per second connecting to 200 or more application instances, the FMS Edge process would sometimes flood the shared memory. [154015]

XML Objects were not being serialized properly into a shared object. [154143]

The Access log was missing x-file-size and x-file-length fields for Pause and Stop stream events. [154230]

Heavy streaming affected connection times adversely. [154263]

We have reduced the number of times the mp3 module accessed the hard disk. [154270]

Sending bad connection data could crash the Admin server. [154274]

Segment loading in the server was separated from general command handling to improve performance. [154279]

Server log file rotation was unable to handle larger than 2 GB file sizes. [154477]

Using Enhanced Seek could result in a crash. This was caused by a shared variable not being protected from multiple threads updating it simultaneously. [154862]

The server would sometimes present an erroneous license limitation error after running for 24 hours. This was due to a bug which occurred when the server checked the license, which resulted in the total number of users being set to a large number which the server would then reject. [154863]

On Linux, the default stack size was too large, and was reset to 1 MB. [155057]

Due to a race condition in server side playlist handling, a stream would stop playing intermittently. [156361]

Flash Media Server would output a "Shared memory running low" warning message after running for a few days. This was caused by a slow leak in the shared memory heap which has been addressed. [156732]

After the server had been running for about 24 hours, it would stop accepting connections due to critical files being removed from the temp directory by tmpwatch daemon. [157245]

Enhanced Seek is on by default, but the comments in the XML configuration files incorrectly state that it is off by default. [151106]

Bandwidth limitations were being enforced incorrectly, resulting in rejected connections. [156929]

The server could crash intermittently when proxied shared objects were used. This occurred when a proxied shared object message was dispatched while one was being received which caused one of the internal data structures to be deleted while it was being accessed. [157647]

Under heavy tunneling traffic the server would crash intermittently. [158212]

Under heaving streaming load the server was leaking memory. [158386]

You can also check out the many resources available for learning about Flash Media Server at the Flash Media Server Developer Center. Find inspiration with tips, articles, tutorials, and resources, or steer your project to success with forums, code examples, exchanges, and reference materials.

Known Issues

Installation on Red Hat Linux

  • There is no option to modify an individual installation option. If needed, use Control+C to exit the installer and begin again.

Server: All Platforms

  • Garbage collection can sometimes interfere with streams, stopping the playback in mid-stream.
  • Sometimes the admin server reports the number of connected users incorrectly. This does not affect the licensing limits, which does not rely on this to track connections.
  • When upgrading from Flash Communication Server (version 1.0 only), the original serial key cannot be combined with the upgrade serial key using the Flash Media Server 2 Management Console. Workaround: First, enter the Flash Media Server 2.0 upgrade serial key using the FMS Management Console. Then, manually add the Flash Communication Server 1.0 serial key to the <LicenseInfo> tag in the Server.xml configuration file. Separate the original and upgrade serial keys with a semi-colon (;). Restart Flash Media Server to effect the change.
  • To open the Flash Media Server 2 Management Console at any time, double-click the fms2_console.swf file and enter “localhost” or the address of the Flash Media Server. To run the management console from a computer other than the computer where the server is installed, you can either copy the fms2console.swf file to the other computer; or, ensure that the .swf file is in your webroot directory so it can be accessed remotely.
  • When using the Management Console during application development, it may be necessary to close the console and log-in again after Flash Media Server and Flash Media Admin Server have been stopped and restarted.
  • In the Management Console's Manage Servers Details pane, for getServerStats the "total_connects" and "connected" properties do not increase with rtmps or rtmpt connections. For getVHostStats both of these properties do increase with these types of connections.  
  • The server-side XML.ignoreWhite property can only be set before populating an XML object with data. To use the ignoreWhite property, you must first construct the object using the default XML object constructor (e.g. xmlVariable = new XML();) and then set the ignoreWhite property (e.g. xmlVariable.ignoreWhite = true;).
  • Names assigned to vhosts must have corresponding DNS entries that can be resolved by clients to the appropriate IP address for the server.
  • When using the SetBandwidth component, note that you can set the up/down rates in the component using a programmatic call to the setRates() method, as shown in the following example:
     var up = 146; // up bandwidth of 146 kbit/sec
     var down = 0; // down bandwidth of unlimited kbit/sec 
     setbw_mc.setRates( up, down ); // assume setbw_mc is an instance of FCSetBandwidth component
  • If your application uses components and you define a custom onAppStop method in your main.asc script, make sure that it returns either true or false. If your onAppStop method doesn't return anything, the onAppStop methods defined in the components' server-side scripts will not be invoked, and the components might not work properly.
  • The key_value argument of the setConfig method can be an XML hierarchy, but needs to be valid XML. The following example is valid, assuming "nc" is a NetConnection object:
    nc.call("setConfig", 0, "Hello", "<World><Tag1>value1</Tag1><Tag2>value2</Tag2></World>",    "/");

    and will result in deleting any tags already in the <Hello> hierarchy and replacing it with the values:

  • <World> 
       <Tag1>value1</Tag1>
       <Tag2>value2</Tag2>
    </World>

Server: Red Hat Linux

  • If the Flash Media Server ports are not free by the time a server restart command is issued, the restart command might fail and a "bind failed" error might be displayed. This error occurs whether the restart command is issued by the command line or through the Management Console. If you get this error, issue a "server stop" command (in the Administration Console, click Shutdown) and wait for confirmation that the server has stopped. Then, issue a "server start" command (in the Administration Console, click Restart).
  • Permissions for FLV files are read and write for the owner and group by default. The Server.xml file contains a <Mask> node with a default value of 017 (15 in octal). Note: Do not deny read/write access to the owner, or the server will be unable to write or read from the file and application users will not be able to create FLV stream files.

Documentation Updates

In the Flash Media Server 2 Server Management ActionScript Language Reference manual, on page 37, the properties for the getLicenseInfo() data object have changed. The “key,” “type,” “family,” and “edition” properties are no longer available. A new license_files object containing information about license files has been added.

In the Flash Media Server 2 Server Management ActionScript Language Reference manual, on page 42, the properties for the getNetStreamStats() data object have changed. A new client_type property has been added. Different types of clients include the following: normal clients (clients connected directly to the origin server through Flash player), group clients (edge servers connected to the origin), virtual clients (clients connected through an edge to the origin) and service clients (clients connected to the service application).

In the Flash Media Server 2 Server-Side ActionScript Language Reference manual, on page 115-116, one of the methods used to invoke setInterval() is no longer valid. The first method, setInterval(function, interval[, p1, …, pN]) is correct and should be used. The second method, setInterval (object, methodName, interval[, p1, …, pN]) is not valid.

In the Flash Media Server 2 Server-Side ActionScript Language Reference manual, the usage description for Stream.setVirtualPath() on page 158 is incorrect. The statement should read: Stream.setVirtualPath(virtual Path, directory, virtualKey).

Documentation

Viewing documentation updates using LiveDocs
In addition to accessing Flash Media Server documentation in the Flash Help panel, you can access the same documentation online in the LiveDocs format. One of the advantages of LiveDocs is the ability to see comments that clarify the documentation. Macromedia recommends reviewing LiveDocs to see if any errata or issues relating to the Flash Media Server features you are using have been reported.

To find the equivalent page on the LiveDocs website, click the View Comments on LiveDocs link at the bottom of any help page in the Flash Help panel. Your web browser will launch, and take you to the specified LiveDocs page.

The Flash Media Server LiveDocs are available at: http://www.macromedia.com/go/flashmediaserver_help_en

Reporting a bug to the Macromedia Flash Media Server Team

Found a bug? Your first step should be to contact Macromedia Technical Support. They can help you resolve issues and they can also log bugs. If you are no longer eligible for support, please use the Macromedia Software Feature Request and Bug Report form.

Note: Due to the high volume of e-mail we receive, we are unable to respond to every request.

Thank you for using Macromedia Flash Media Server, and for taking the time to send us your feedback

Notices, Terms, Conditions, and Attribution

Copyright (c) 1993-2005 Macromedia, Inc. and its licensors. All rights reserved. Macromedia, the Macromedia logo and Flash are trademarks or registered trademarks of Macromedia, Inc. in the United States and/or other countries. Other marks are the properties of their respective owners.

This computer program is protected by copyright law and international treaties. Unauthorized use, reproduction, or distribution of this program, or any portion of it, may result in severe civil and criminal penalties, and will be prosecuted to the maximum extent possible under the law.

Notices, terms and conditions pertaining to third party software are located at http://www.macromedia.com/go/thirdparty/ and incorporated by reference herein.

Flash Media Server Resources

 

About Documentation Types

Find out more about the various documentation types available for learning materials including LiveDocs, Help, and PDF.