Ethereal-cvs: [Ethereal-cvs] rev 17980: /trunk/gtk/: Makefile.am Makefile.common mcast_stream.
User: etxrab
Date: 2006/04/24 02:10 PM
Log:
From Miha Jemec:
With the new feature we can:
1. Measure how big the bursts are for a video streams (it uses sliding window algorithm) 2. Measure how big the output buffer should be that no packet drop will occur (it uses Leaky bucket algorithm)
3. Detect if we have loses inside the MPEG2 video stream (if there are already MPEG2 packets missing) - this part of code is not added yet, see Limitations
The addition is called Multicast streams and works as follows:
- it uses the TAP system
- the main "stream" logic is taken from rtp_strems.* files
- the TAP system checks for UDP packets where the destination MAC address starts with "01:00:5E" (ethernet multicast address)
- it creates an entry for every new multicast stream
- based on sliding window and leaky bucket algorithm it calculates for every stream average BW, max BW, burst size, max buffer needed, some alarms if the limits are exceeded,...
- the same calculation is done for all streams together
- inside the window dialog you can specify the burst interval, the alarm limits and output speeds
To do & limitations:
- Currently the analysis can be done only for multicast streams, it means that VoD (Video on demand) or PayTV streams, which are normally unicast can not be analysed.
- since the MPEG2 is patended I don't know if decoding of MPEG2 packets is allowed? Can we look inside this packets and calculate packets drops based on some counter information inside the payload? Can someone please answer this question? If we can do this, I will post this part of code too.
- some more flexibility will be added
Directory: /trunk/gtk/
Changes Path Action
+2 -0 Makefile.am Modified
+2 -0 Makefile.common Modified
+450 -0 mcast_stream.c Added
+146 -0 mcast_stream.h Added
+689 -0 mcast_stream_dlg.c Added
+53 -0 mcast_stream_dlg.h Added
http://anonsvn.ethereal.com/viewcvs/viewcvs.py?rev=17980&view=rev