The following table summarizes the status of the various project components
| Item | Implementation Status | Last change | Comment |
|---|---|---|---|
| RTSP | in progress | 2003-02-06 | implementation is interoperable with various players (see below), but no rigorous standards compliance testing yet; only supported commands at this point are DESCRIBE, SETUP, PLAY, PAUSE and TEARDOWN |
| SDP | complete | 2003-02-06 | SDP files are generated on the fly for requested media; the format is understood by all tested players and fully conforms to RFC2327; a more abstract representation of media descriptions inside the server is required to improve on the current state |
| RTP | mostly complete | 2003-02-06 | unicast only |
| RTCP | in progress | 2003-03-14 | sender reports and sdes packets are periodically generated; reports from receivers are collected, but currently ignored |
| MPEG-1 Systems | mostly complete | 2003-02-06 | MPEG-1 elementary streams multiplexed in MPEG-1 system streams can be streamed natively; synchronization between video and audio tracks is not completely perfect when not starting playback from the beginning of the clip (no skew, but a small offset); total playtime calculation is not very accurate |
| MPEG-1 Video | mostly complete | 2003-02-06 | MPEG-1 video bitstreams can be streamed natively; random seeking into the stream is not very accurate, but essentially works as expected |
| MPEG-1 Audio | mostly complete | 2003-02-06 | MPEG-1 layer I, II and III files can be streamed natively; server currently aborts when encountering mp3 tags, they should be ignored; all audio streams are silently assumed CBR; while the server can send VBR streams without any problem, seeking and total playtime calculation are impossible in this case |
| MPEG/RTP encapsulation | complete | 2003-02-06 | fully compliant to RFC2250 and tested with various players; not all encapsulation options of RFC2250 are used yet |
| Run-time configuration | finished | 2003-05-02 | Configuration file has a C-like syntax, using bison for the parser; still need to expose more configuration variables through the config file |
| IO subsystem | in progress | 2003-02-27 | disk IO subsystem is in working state; disk bandwidth is kept track of, but no reservation is performed at the moment; similiar for cache memory |
| logging | in progress | 2003-02-27 | logger class definitions and implementation for stderr logging; logging functionality not used very consequently throughout the server |
| autoconf | complete | 2003-05-02 | finally found time learning autoconf; introduced into the project, and rewritten parts of makefile and config files accordingly; successfully integrated FreeBSD and Mac OS X ports |
| "code-lifting" (code beautification) | in progress | 2003-02-27 | canonify exception handling and throwing; add copyright headers to all files; clean up build system |
The following table lists the players which the server is currently being tested against; if you know of another player that might work, just mail me and I will include it in future test. Not all problems listed in the table below are necessarily due to bugs in the server.
| Item | QuickTime Player | RealPlayer | mplayer+live.com |
|---|---|---|---|
| RTSP | ok | ok | ok |
| RTP | ok | ok | ok |
| MPEG-1 audio | ok (QT accepts only layer I, II) | ok | ok |
| MPEG-1 video | ok | player crashes | ok |
| MPEG-1 audio and video | ok; some curious problem with RTP-Info header field | player crashes | player has serious sync problems |
EF_ALLOW_MALLOC_0 because
some exceptions thrown are "empty")
© 2004 Helge Bahmann <hcb@chaoticmind.net>