|
build date: 2006.06.29
builder: Alban
Volume Control
The FreeCast Swing GUI contains now a slider to control the audio player volume.
detail: func enhance
|
|
Stream metadata display
The stream metadata (vorbis comments) are now displayed. In the FreeCast Swing GUI,
the user can click on the stream description to visit the URL given by the WWW vorbis
comment.
detail: func enhance
|
|
Configuration URL chooser
When the FreeCast Swing GUI is started without arguments, a small dialog asks the URL
of the configuration to be used.
detail: func enhance
|
|
Fatal MacOs bug fixed
A bug in the Mina API was creating a fatal error when the FreeCast node was starting.
The Mina development version fixes the problem.
detail: func enhance
|
|
|
|
build date: 2006.05.15
builder: Alban
NAT support and embedded Ogg encoder
UDP transport layer
Connections between nodes are now performed via UDP connections.
Network problems are overcomed more easily.
Note that socket receivers are replaced by udp receivers.
The new transport layer uses the Apache Mina API
(http://directory.apache.org/subprojects/mina/).
detail: func enhance
|
|
NAT traversal
Two nodes can open a connection even if they are both behind a NAT (routeur
or equivalent equipment). This new feature allows larger FreeCast networks
and removes the manual forward configuration requirement.
detail: func enhance
|
|
STUN reference
Node can perform STUN requests to determinate its public address.
Required for NAT traversal. Use Jstun API (http://jstun.javawi.de/).
detail: func enhance
|
|
Latency analysis
The FreeCast protocol includes messages used to estimate the network latency
between nodes. A node opens connections to several other nodes and uses the
connection with the lower latency.
detail: func enhance
|
|
Embedded Ogg encoder
To make simplier FreeCast Manager and root node deployement, the new
playlist encoder receiver can create the Ogg stream from a given playlist
of wav, ogg or mp3 files. Thus, the FreeCast root node can broadcast a
playlist without a third application. This feature requires the usage of
native libraries and is available for the moment under Linux x86 and Windows
platforms (Mac OS contributors are welcome).
Based on tritonus libvorbis binding (http://tritonus.org/).
detail: func enhance
|
|
FreeCast Manager Setup GUI
A new "Configure FreeCast" menu appears in FreeCast Manager. This setup dialog
allows for the moment the configuration of the root node receiver.
You can switch from the default demo content to your own playlist (via the embedded
ogg encoder), or receive the Ogg stream from a third party application.
detail: func enhance
|
|
Improved Windows installer
With the help of numerous windows users feedback, the Windows installer has been
improved. Shortcuts have been added to make easier user configuration.
FreeCast startup scripts have been improved to fix several issues.
detail: func enhance
|
|
|
|
build date: 2005.10.09
builder: Alban
FreeCast Manager
The FreeCast Manager is a graphical interface for tracker and root node.
JavaWebStart, no configuration, predefined content, internal http server
detail: func bug-fixing enhance
|
|
GUI improvements
A systray icon is now available for Gnome and Windows platforms by
using the JDesktop Integration Components (https://jdic.dev.java.net/).
A popmenu regroups all available actions.
Startup errors are now catched and displayed.
detail: func enhance
|
|
Http loading for GUI customization resources
Swing node can be customized via simple configuration options and http resources.
detail: func bug-fixing enhance
|
|
Log dialog improvement
The log display has been simplified. Icons are now used to illustrate the log level.
To make easier the user issue report, an email can be sent directly with the log.
detail: func bug-fixing enhance
|
|
Port range
Port range can now be used into the configuration to avoid configuration problems
for listen ports used by FreeCast. The possible ports are silently tested.
detail: tech bug-fixing enhance
|
|
Multiple reference
A node can now specify a reference which can contain several inet references.
This allows to the node to be accessible from several networks, like Internet and
a local network.
detail: func bug-fixing enhance
|
|
Automatic reference
To avoid a manual configuration step, an automatic reference is determinate by the node.
It includes a public reference (determinate via the freecast.org server) and local references.
detail: func bug-fixing enhance
|
|
|
|
build date: 2005.03.31
builder: Alban
Threora support, stream signature, XML configuration
XML Configuration
Tracker and nodes use now a configuration system (based on the Commons Configuration API).
The option -config allows to specify a configuration file at startup. The option -dryryn allows
to test this configuration without starting really the application. All configuration details
are described into the User Guide.
detail: func enhance
|
|
Stream Signature
The FreeCast stream can now be signed by the root node. The listener nodes can verify the signature.
Use freecast-keygenerator to generate the private/public keys. Use "-signer sign -signerURL <url>" to specify the private key to the root node and the public key to the listener nodes.
A simple checksum can be used instead of a signature, use the "-signer digest".
detail: func enhance
|
|
Logical page management
To improve the stream robustness, the FreeCast stream packets are regrouped into logical pages (corresponding to the contained Ogg pages). Incompletely received logical pages are ignored.
detail: tech enhance
|
|
Ogg Receiver refactory
All Receivers which read a Ogg stream are now based on OggSourceReceiver. Receivers are renamed into PlaylistReceiver, ShoutClientReceiver, ShoutServerReceiver.
detail: tech enhance
|
|
Theora video codec support
After minor improvements, a Ogg stream containing a theora logical stream can be transported by a FreeCast network. Many thanks to tim for the help.
detail: func enhance
|
|
New source definition into the CLI node
The option -source specifies now the source type. The -sourceurl provides the needed URL.
Available source types are: shoutclient (with the url of the stream to retrieve), shoutserver (with the listen address and port to receive the stream), playlist (with the playlist url) and none
detail: func enhance
|
|
Adaptive header detection
The Receivers detect now dynamicaly the Ogg pages to be included into the FreeCast stream headers.
detail: tech enhance
|
|
Ogg analysis improvements
More informations are extracted from the Ogg stream (like the absolute granulate position). See the org.kolaka.freecast.ogg package
detail: tech enhance
|
|
ShoutClientReceiver
Allows to receive stream from a shout serveur (like icecast). Use something "-source shoutclient -sourceurl http://localhost:8000/stream.ogg". Use commons-httpclient.
detail: tech enhance
|
|
|
|
build date: 2005.02.21
builder: Alban
Externel player support for the GUI
External player support via http for the GUI node
the GUI node can be accept http connections on the port 8001 (not configurable for the moment).
Use something like http://localhost:8001/stream.ogg.
detail: func bug-fixing enhance
|
|
OptionalStartable
allows to ignore an error during the start step of a Startable implementation
detail: tech enhance
|
|
|
|
build date: 2005.02.13
builder: Alban
Externel player support
PlayerControler and PlayerSource
A node can support several players of different kinds (Audio and Http for the moment). The PlayerControler manages the Player instances created by one of the PlayerSource instance (dedicated to a Player kind).
detail: tech enhance
|
|
-noaudio option replaces by -player audio|http|null option
the CLI node can be started with the -player option to control the PlayerSource instance used (only one for the moment).
detail: func enhance
|
|
External player support via http
the CLI node can be started with the "-player http" option and accepts http connections on the port 8001 (not configurable for the moment). Concurrent players are supported.
Tested with ogg123 and xmms. Note that some players doesn't support an URL without filename, so use something like http://localhost:8001/stream.ogg.
detail: func bug-fixing enhance
|
|
Avoid freezed Swing GUI Node when the stop procedure hangs
The JVM is shutdown after 10 seconds (from the stop beginning).
detail: tech bug-fixing fix
|
|
|
|
build date: 2005.02.12
builder: Alban
Streaming flexibylity and TCP tuning
Dynamic bandwidth and stereo support
Ogg stream can now use any wanted bitrate (constant or not) and can be stereo
detail: tech enhance
|
|
TCP Socket tuning
Sockets used between peers are configured with small read/write buffers
detail: tech enhance
|
|
FileReceiver improvements
Added comment support the playlist reader. Improved the IOException processing
detail: tech fix
|
|
|
|
build date: 2004.12.17
builder: Alban
Http tracker
Http tracker
Tracker and nodes use now an http protocol (again RMI).
It has made possible with hessian and jetty. Thanks to fx and stephane for the idea.
detail: func enhance
|
|
http download for the track directory
The freecast sources were very heavy to download because of an import directory of 50Mb.
These resources are now download directly from the "sources". The track directory is defined via a virtual filesystem and synchronized by the prepare.track task. The whole synchronization takes 2 minutes.
detail: tech enhance
|
|
Build improvements
Jar signatures is disable when no keystore is found. Modified the targets to avoid multiple jar signatures and documentation generations. Source export is now performed by the target export
detail: tech enhance
|
|
|
|
build date: 2004.10.01
builder: Alban
customizable Swing GUI
customizable Swing GUI
Graphic resources are configurable via a properties file.
See http://kolaka.tryphon.org/freecast/docs/api/org/kolaka/freecast/node/swing/Resources.html
detail: func enhance
|
|
|
|
build date: 2004.09.29
builder: Alban
FileReceiver support
FileReceiver
Receiver implementation with allows to use a playlist of ogg files as source.
Use the -source option to specify the playlist file.
detail: func enhance
|
|
XMLReleaseNotes
Changelog started with XMLReleaseNotes (http://xmlreleasenotes.free.fr)
detail: tech enhance
|
|
|