Broccoli Products home | contact us | about us
(by Lou Burne, last updated 10-APRIL-2012)
Build Archive

All the following build are compatible with Microsoft .NET 4. DO NOT download if you are using .NET 3.0 or .NET 3.5

The 32 bit versions require Windows XP or Windows 7. The 64 bit versions require Windows 7 (x64).
Build 3829th February 2012, ver 1.4.32|64.38  MOST RECENT BUILD Download 32 bit
Download 64 bit
  • A eBahaviourFlags option, AutoAdjustAggregatedMediaTimestamps, has been enabled in release mode.  For more information, see Bad Timestamps in Live Streams.
  • When a socket connection has been dropped by the RTMP server, the stream status of streams is set to closed.  This is to allow applications to detect that a stream has been impolitely terminated without having to use Windows events.
Build 369th February 2012, ver 1.4.32|64.36  MOST RECENT BUILD Download 32 bit
Download 64 bit
  • All of the functionality for filling the internal audio and video collector buffers with data has been removed.  This functionality can be more efficiently implemented using the pre-processing callback functions.
  • The raw message type, RtmpMessage_Raw, has a new member, RecoveredMsgList.  RTMP messages added to the RecoveredMsgList during pre-processing are immediately handled within the RTMP connection as if they had arrived via the socket.  For an example of using RecoveredMsgList, see Fixing Bad Streams.
Build 341st February 2012, ver 1.4.32|64.34 Download 32 bit
Download 64 bit
  • Combined the boolean values for configuring automatic responses into a single enumeration RtmpConnection.eBehaviourFlags.
  • Message type, WindowAckSize, header timestamp set to 0, header size forced to 12 bytes.
  • New callback function for automatically mounting new streams, RegisterAutomaticStreamMountingCallback.
  • New class, FlvStuffer, to manage an FlvFile whilst it is being filled with audio, video and meta-data.  FlvStuffer also handles the update of the files duration when the last message has been added.
  • A new eBahaviourFlags option, AutoRespondToBandwidthCheck, which request the bandwidth test data when the server requests a bandwidth check, and sends the acknowledgement message when the bandwidth data has been received.
  • The message to create a new stream, CreateStream, is now sent to AMF channel 0x03
  • The first user-defined AMF channel has been changed from 0x03 to 0x08.
  • The play command is sent with a header timestamp of zero.
  • The SetBufferSize command is sent with an AMF channel of 0x02, a header timestamp of 0x00, and target stream id of 0x00.
  • Pong message (the response to a ping message) is sent to AMF channel 0x02, a header timestamp of 0x00, and target stream id of 0x00.
Build 3223rd January 2012, ver 1.4.32|64.32 Download 32 bit
Download 64 bit
  • New connection function MountStream for attaching to streams that are automatically opened by the server after connection, or for registering a callback function on an invalid stream id (for example 0 or 1).
Build 307th December 2011, ver 1.4.32|64.30 Download 32 bit
Download 64 bit
  • Changed case of connection keywords "swfurl" and "tcurl" to "swfUrl" and "tcUrl" as described in the RTMP specification.
  • Message class has a new flag UseSmallestPossibleHeader which, when set to true, serializes the message with the smallest possible header size.
  • Two new functions for searching through a list of RtmpParameters. FindFirstByLabelPrefix returns the first instance of a parameter with matching label, and FindAllByLabelPrefix returns a list of all parameters with matching label.  The string search is case-insensitive.
  • The FlvFile class has been updated to allow both audio, video and metadata packets to be added. See the LiveTv project for an example.
  • The timeout waiting for a response to a message can now be varied using the ResponseTimeout parameter.
  • Bug fix: Stricts arrays should not end with 0x00 0x00 0x09.
  • When the stream end is reached, the status of the stream is set to PAUSED. Before it was set to STOPPED.
  • The ECMA Array parameter class has a flag HasAssociativeCount, which determines whether the array has it's item count defined when the parameter is serialized.  Some ECMA arrays have this value set to zero.
  • Parameter strings and labels are now read without any encoding.  Before, strings were read as UTF8.
  • There is a new connection flag, AutoAdjustAggregatedMediaTimestamps, which when set to true, automatically adjusts the timestamps on aggregated audio and video messages.
  • There is a new RtmpClient flag, EventsEnabled, which can be set to false if the owner application is not using the status change event facility.  This prevents the RtmpClient composing status events when no one is listening.
  • By default the option to collect audio and video data in an internal buffer is disabled. Previously it was enabled by default.
  • The callback function is now filtered for message types.  This is to save processor time spent calling back on message types that the parent application is not interested in.
Build 289th September 2011, ver 1.4.32|64.28
  • The name of the RTMP client library includes a 32 or 64 prefix to identify the build target.
  • A heap error in the accompanying LowLevel library ForwardFileBuffer class has been corrected.
Build 2622nd August 2011, ver 1.4.32|64.26
  • The RtmpClient is now available in 32 and 64 bit versions.
  • Sometimes, when creating a stream, unsolicited connection messages from the server (for example, onBWDone) interrupt the CreateStream function. This has been remedied by considering only incoming messages other with "_result" or "_error" as their first string parameter as responses to the CreateStream request.
  • Some RTMP servers are sending out a Control message of type SWFV_REQUEST(=26) with a single byte parameter. It is unknown what the significance of this byte is, so it is discarded.
Build 2422nd August 2011, ver 1.4.32|64.24
  • When constructing an RtmpClient object, the constructor previously required a reference to a  Windows Forms Control.  This control was used to invoke status change events if the RtmpClient was running in a background thread.  This reference has been changed to an Object reference, which is then cast to a Control within the RtmpClient constructor.  So RtmpClient is running in a console or WPF application, the Windows.Forms library does not have to be included in the project just to provide a null reference to the RtmpClient constructor.
  • The bug that causes a crash when short data packets are converting to a single-line description has been fixed.
  • The callback function, often used for preprocessing audio and video packets, now takes a Tag of type Object, which is passed to every call of the callback function.  A useful place to put a FileStream or suchlike.
  • An FLV file class, FlvFile, is now included in the RtmpClient library.  This class allows files to be created that have a valid FLV header, and to which audio packets can be added as they arrive.  The resulting file is a valid FLV file, which can then be converted into a different format.  For an example of this, see the BBC Radio Downloader sample project.
Build 201st June 2011, ver 1.4.32.20
  • No DNS host lookup is performed on IP addresses that can be parsed as IPv4 or IPv6.
  • Bug fix of serializing ECMA Arrays now includes the associative element count.
  • New functions for parsing Amf0 parameters, used when setting up FLV files.
  • Creating connections, new parameter "BehaviourFlags" to prevent handshake errors on servers that do not provide a handshake.  Can also be used to disable handshaking.
  • Moved parameters used in creating a connection from the RtmpClient class and into the RtmpConnection class.
  • Creating connections, new function for connecting with a customized connection message.
  • New function for searching a list of parameters and returning only those with a matching AMF0 type, for example, all STRINGS.
Contact form 
Use the contact form to send comments and requests for information to Broccoli Products.
Topic:
Message:
Email:
Broccoli Products Ltd © 1998-2012 Broccoli Products Ltd
Reg Number: 2895355
Reg Office: 27 Old Gloucester Street, London. WC1N 3AX
Privacy Policy
Copyright Notice
Liability Disclaimer
Contact Us