MMN Tutorials 2006/2007
Specification for MMN Streaming Clients
08.01.07 Initial Draft
16.01.07 Audio Extension + Header Definition
18.01.07 Protocol update
19.01.07 Protocol update removed for now -- RaphaelWimmer
- 18 Jan 2007
Applications must be able to send and receive arbitrary data via UDP.
Where do UDP packets go/come from?
Maximum length of data per packet?
(maximum length of UDP data: 65507 bytes)
How/when ist data transferred?
- For Text mode: bytewise, immediately
- For Uncompressed Audio mode: to be determined
- For Compressed Audio mode: to be determined
Only one (incoming or outgoing) session at a time!
What happens if a second session shall be established to an application?
TCP connection is not accepted.
If a client does not want to accept an incoming session it closes the TCP connection instantly.
What happens when Ctrl-C is pressed?
TCP connection is closed.
What happens if TCP connection is closed/lost?
session is closed.
Which port numbers should be used by default?
Port 7321 for TCP, UDP
No packets may be dropped by an application
while a session is established.
Header for each UDP Package:
- 0x00 for text package
- 0x01 for uncompressed audio package
- 0x02 for compressed audio package
second to fifth byte: 32 bit sequential number as unsigned long
maximum buffered audio: 200 ms
maximum audio per packet: 50 ms
22.050 Hz Sampling Rate, Mono, 16 bit, analog to RIFF WAV format
A sender should always put (one or more) whole audio frames into one UDP package.
- 08 Jan 2007