Commit Graph

11 Commits

Author SHA1 Message Date
Guy Harris d4857dc706 Add to the _rtp_info structure a "info_all_data_present" boolean, which
is TRUE if all the RTP raw data is present in the tvbuff and FALSE
otherwise.  If it's not all present, also set "info_data_len" to 0 and
"info_data" to NULL.

In the RTP Analysis "Save Payload..." operation, check the
"info_all_data_present" flag and fail if it's not set, and use
"rtpinfo->info_data" and "rtpinfo->info_payload_offset" to get at the
payload, rather than using "cfile.pd", as the latter doesn't necessarily
refer to the current frame data.

Note that the RTP Streams save operation should also check the
"info_all_data_present" flag.

svn path=/trunk/; revision=9920
2004-01-31 09:48:26 +00:00
Guy Harris 9687947b5f From Lars Roland:
- added a pointer to raw rtp data to _rtp_info that can be used by
	  taps;

	- RTP packets are passed to the tap queue only if they are not
	  error packets (so that you don't need to filter out ICMP
	  packets)

	- use that pointer in rtp_stream, so it handles packets with
	  padding, and should handle RTP packets fragmented across
	  lower-level packets

	- moved rtp_stream from tap sources to normal files
	  (prevents on-start-up registration of the rtp_stream tap
	  listener)

	- rtp_stream tap gets registered/unregistered with the "RTP
	  Streams" dialog box
	  i.e. the tap is registered as long as the dialog box is open.
	  Alternatively, it is de-/registered on demand if RTP Analysis is
	  called directly on a packet.

	- rtp_stream tap listener no longer uses a filter in dissection
`	  and does not need to have a proto tree being built.
	  (performance increase)

	- fixed: RTP Streams list will get updated in real time if the
	  dialog box is open while a redissection takes place.

svn path=/trunk/; revision=9051
2003-11-20 23:34:31 +00:00
Guy Harris 3d65182245 From Miha Jemec: clean up and simplify the RTP dissector and tap code.
svn path=/trunk/; revision=7701
2003-05-20 21:22:59 +00:00
Ronnie Sahlberg 05dad0c310 From Miha Jemec :
Functionality to reassemble a RTP stream and save it as a file.
Support for G.711 coded

svn path=/trunk/; revision=7297
2003-03-06 20:35:12 +00:00
Jörg Mayer 7c4176d868 Removed trailing whitespaces from .h and .c files using the
winapi_cleanup tool written by Patrik Stridvall for the wine
project.

svn path=/trunk/; revision=6117
2002-08-28 21:04:11 +00:00
Guy Harris 07b2709f8a Change "conversation_set_dissector()" to take a dissector handle, rather
than a pointer to a dissector function, as an argument.

This means that the conversation dissector is called through
"call_dissector()", so the dissector itself doesn't have to worry about
checking whether the protocol is enabled or setting
"pinfo->current_proto", so get rid of the code that does that in
conversation dissectors.  Also, make the conversation dissectors static.

Get rid of some direct calls to dissectors; replace them with calls
through handles, and, again, get rid of code to check whether a protocol
is enabled and set "pinfo->current_proto" where that code isn't needed.
Make those dissectors static if they aren't already static.

Add a routine "create_dissector_handle()" to create a dissector handle
without registering it by name, if the dissector isn't used outside the
module in which it's defined.

svn path=/trunk/; revision=4281
2001-11-27 07:13:32 +00:00
Guy Harris 3388bde488 Instead of having a single datum attached to a conversation, have a list
of protocol-id-plus-datum pairs, so that multiple protocols can attach
information to the same conversation.

Dissectors that attach information to a conversation should not assume
that if they find a conversation it has one of its data attached to it;
the conversation might've been created by another dissector.

svn path=/trunk/; revision=3901
2001-09-03 10:33:12 +00:00
Guy Harris 22b8c6770f Give a number of files RCS IDs.
Give "proto_hier_stats.h" a standard header.

svn path=/trunk/; revision=3540
2001-06-12 06:32:39 +00:00
Guy Harris 3f8b7cd0fc Andreas Sikkema's new H.261 and TPKT dissectors, replacement RTCP and
RTP dissectors, and changes to the Q.931 dissector for use with H.323.

svn path=/trunk/; revision=2511
2000-10-19 06:45:11 +00:00
Laurent Deniel 6a480953a9 Miscellaneous code cleaning
- add <stdarg.h> or <varargs.h> in snprintf.h
  and remove those inclusions in the other #ifdef NEED_SNPRINTF_H codes

- remove the check of multiple inclusions in source (.c)  code
  (there is a bit loss of _cpp_ performance, but I prefer the gain of
   code reading and maintenance; and nowadays, disk caches and VM are
   correctly optimized ;-).

- protect all (well almost) header files against multiple inclusions

- add header (i.e. GPL license) in some include files

- reorganize a bit the way header files are included:

  First:
  #include <system_include_files>
  #include <external_package_include_files (e.g. gtk, glib etc.)>
  Then
  #include "ethereal_include_files"

  with the correct HAVE_XXX or NEED_XXX protections.

- add some HAVE_XXX checks before including some system header files

- add the same HAVE_XXX in wiretap as in ethereal

Please forgive me, if I break something (I've only compiled and regression
tested on Linux).

svn path=/trunk/; revision=2254
2000-08-11 13:37:21 +00:00
Guy Harris cd59d75124 Support for RTCP and RTP, from Jason Lango.
svn path=/trunk/; revision=1885
2000-04-21 01:45:58 +00:00