aboutsummaryrefslogtreecommitdiffstats
path: root/ui/gtk/rtp_analysis.c
AgeCommit message (Collapse)AuthorFilesLines
2016-01-24Add the packet number to the packet_info structure, and use it.Guy Harris1-2/+2
That removes most of the uses of the frame number field in the frame_data structure. Change-Id: Ie22e4533e87f8360d7c0a61ca6ffb796cc233f22 Reviewed-on: https://code.wireshark.org/review/13509 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-23More pinfo->fd->abs_ts to pinfo->abs_ts.Guy Harris1-2/+2
Change-Id: I70db0a345cc4c5c57c454371deb4f92f9ac4b9ac Reviewed-on: https://code.wireshark.org/review/13501 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-04Don't walk the entire protocol tree to extract the value of one field.Guy Harris1-81/+21
Instead, prime the epan_dissect_t's tree to look for rtp.ssrc, and extract that value with proto_get_finfo_ptr_array(). Also, have the filter used to check whether the packet is a candidate for RTP analysis to check for RTPv2 (and add a check for IPv4 or IPv6 back to the Qt version), and get rid of an unnecessary extra level of indirection for that string. In the Qt version, if findStreams() set the error string, don't overwrite it with a "No streams found." indication, and fix error handling for the "filter didn't compile" case. Change-Id: I09d0ea37ccd4806d99e3b6394f2a8a376e974705 Reviewed-on: https://code.wireshark.org/review/13045 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2016-01-04Rename ipv4_addr and ipv6_addr to indicate their full contents.Guy Harris1-5/+5
They're not just addresses, they also include a mask length for IPv4 and a prefix length for IPv6. Rename them appropriately. Rename the old ipv4_addr_and_mask() and ipv6_addr_and_mask() to reflect that 1) they fetch data from a tvbuff and 2) *don't* fetch the mask length or prefix length, those lengths are passed as arguments to indicate how many bytes worth of address to fetch. Change-Id: I4cad5a186ad7bfcb60022a91dbe8bc8479e6471f Reviewed-on: https://code.wireshark.org/review/13035 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-11-29Make address_to_display() use proper (non-)constnessJoão Valverde1-12/+12
Don't return allocated memory as a const pointer. Fixes multiple [-Wcast-qual] warnings. Change-Id: Ie9ceac27fa2a5eba41a5392ac983ff28c3939239 Reviewed-on: https://code.wireshark.org/review/12267 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-07Clean up includes of unistd.h, fcntl.h, and sys/stat.h.Guy Harris1-8/+0
Have wsutil/file_util.h include them on UN*X, just as it includes io.h on Windows, so we can have a rule of "if you do file operations, include <wsutil/file_util.h> and use the routines in it". Remove includes of unistd.h, fcntl.h, and sys/stat.h that aren't necessary (whether because of the addition of them to wsutil/file_util.h or because they weren't needed in the first place). Change-Id: Ie241dd74deff284e39a5f690a297dbb6e1dc485f Reviewed-on: https://code.wireshark.org/review/11619 Petri-Dish: Guy Harris <guy@alum.mit.edu> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-22Use address functions instead of ADDRESS macros in ui.Gerald Combs1-16/+16
Replace CMP_ADDRESS, COPY_ADDRESS, et al with their lower-case equivalents in the ui directory. Change-Id: I10e95e66c8da5b880133452ebc484c53046e87ba Reviewed-on: https://code.wireshark.org/review/11199 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-05Move utf8_entities.h to wsutilJoão Valverde1-1/+1
Change-Id: I6298b3de5f0a1cb988014ff16082eaf8c2a3c3c0 Reviewed-on: https://code.wireshark.org/review/10786 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-02Qt: Initial RTP playback.Gerald Combs1-1/+1
Note the "initial". This is woefully incomplete. See the "to do" lists below and in the code. This differs a bit from the GTK+ version in that you specify one or more streams to be decoded. Instead of showing waveforms in individual widgets, add them all to a single QCustomPlot. This conserves screen real estate and lets us more easily take advantage of the QCP API. It also looks better IMHO. Change a bunch of checks for QtMultimediaWidgets to QtMultimedia. We probably won't use the widgets until we make 5.0 our minimum Qt version and plain old QtMultimedia lets us support Qt 4 more easily (in theory at least). Add resampling code from libspeex. I initially used this to resample each packet to match the preferred rate of our output device, but this resulted in poorer audio quality than expected. Leave it in and use to create visual samples for QCP and to match rates any time the rate changes. The latter is currently untested. Add some debugging macros. Note that both the RTP player and RTP analysis dialogs decode audio data using different code. Note that voip_calls_packet and voip_calls_init_tap appear to be dead code. To do: - Add silence frames where needed. - Implement the jitter buffer. - Implement the playback timing controls. - Tapping / scanning streams might be too slow. Change-Id: I20dd3b66d3df53c9b1f3501262dc01458849f6b4 Bug: 9007 Reviewed-on: https://code.wireshark.org/review/10458 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-09-03Move IAX2 analysis to the ui directory.Gerald Combs1-1/+1
Rename ui/gtk/iax2_analysis.h to ui/tap-iax2-analysis.h. Move iax2_packet_analyse to ui/tap-iax2-analysis.c. Rename rtp_analysis.h to tap-rtp-analysis.h to match IAX2. Change-Id: Ice7e9ad0d7bf62d631850089c880ec09a3e101dd Reviewed-on: https://code.wireshark.org/review/10375 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-07-16Add the RTP Stream Analysis dialog.Gerald Combs1-14/+13
Combine the GTK+ RTP Stream Analysis and RTP Graph Analysis dialogs into one. Yell at the user less. Disable the Analyze RTP Stream menu item if we don't have an RTP stream selected. There are a *lot* of moving parts in this dialog. I've tested with the few RTP captures I have but it's by no means complete. "To do" items are listed at the top of rtp_analysis.cpp. Change-Id: Id503977f069bebc46cc68bc749f0c9cbf4d37bf6 Reviewed-on: https://code.wireshark.org/review/9650 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-06-09GTK: fix a V610 warning reported by PVS-StudioPascal Quantin1-1/+1
Unspecified behavior. Check the shift operator '>>'. The left operand '(- 1)' is negative. Change-Id: I508d451736830a150b8839aa6353ee4c7bcf848f Reviewed-on: https://code.wireshark.org/review/8859 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2015-05-20Start exposing the filter field of a tap listener to the RTP GUI APIs.Michael Mann1-1/+1
A tap listener has the ability to apply a filter (typically the display filter). Add a parameter to RTP GUI API functions to allow them to pass in a filter. Bug: 996 Change-Id: Ib184dfb023be5d1d24a0d842b4039311426b5293 Reviewed-on: https://code.wireshark.org/review/8468 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-03-07Get rid of an unused structure member.Guy Harris1-1/+0
Change-Id: I2941bb7e6dc0fce3e1256af6e5e19d2997de5801 Reviewed-on: https://code.wireshark.org/review/7573 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-02-15ui/gtk/*.c: Add editor modelines; As needed: Fix indentationBill Meier1-5/+18
Change-Id: I8cd9d9fe5f12c284f46b8f725766f681faccd753 Reviewed-on: https://code.wireshark.org/review/7138 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2015-02-02Fix some indent typo (after g2bf7878e)Alexis La Goutte1-1/+1
Change-Id: I44769f127f32ffd8a97b1579f371501f4aa9832a Reviewed-on: https://code.wireshark.org/review/6913 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-30Qt: Add the RTP Streams dialog.Gerald Combs1-2/+2
Add keyboard shortcuts. Note that not all of the buttons made it from GTK+. Add a "Go to setup frame" option. Move rtp_streams.c from ui/gtk to ui. Add a help URL for RTP analysis (which needs to be split into streams + analysis). Fix RTP stream packet marking. Change-Id: Ifb8192ff701a933422509233d76461a46e459f4f Reviewed-on: https://code.wireshark.org/review/6852 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2015-01-18Clean up ftype-conversion and dfilter error message string handling.Guy Harris1-2/+4
Have dfilter_compile() take an additional gchar ** argument, pointing to a gchar * item that, on error, gets set to point to a g_malloc()ed error string. That removes one bit of global state from the display filter parser, and doesn't impose a fixed limit on the error message strings. Have fvalue_from_string() and fvalue_from_unparsed() take a gchar ** argument, pointer to a gchar * item, rather than an error-reporting function, and set the gchar * item to point to a g_malloc()ed error string on an error. Allow either gchar ** argument to be null; if the argument is null, no error message is allocated or provided. Change-Id: Ibd36b8aaa9bf4234aa6efa1e7fb95f7037493b4c Reviewed-on: https://code.wireshark.org/review/6608 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-01-05Replace ep_display_to_address with wmem equivalent display_to_address.Michael Mann1-22/+36
Almost all instances require using "manual" memory management, but it gets some ep_ calls out of the GUI. Change-Id: Ifa7303766b08d09442ccf3d7063cbe061578ecd9 Reviewed-on: https://code.wireshark.org/review/6318 Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-01Remove unneeded includes from ui folderMartin Mathieson1-2/+0
Change-Id: Ifd1eebff9080cd3867e44e4dcb2d2681370ed60a Reviewed-on: https://code.wireshark.org/review/6128 Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-11-18voip_calls: Move to ui.Gerald Combs1-1/+1
Move voip_calls.[ch] to ui. Add callbacks to voip_calls_tapinfo_t. Remove unused function definitions. Change-Id: Ib12db7053d53afa81ef2a66dc0cfe681bc624dd2 Reviewed-on: https://code.wireshark.org/review/5379 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-11-17voip_calls: Get rid of global variables.Gerald Combs1-1/+0
Move the members of voip_rtp_tapinfo_t to voip_calls_tapinfo_t. Move a bunch of formerly static variables there as well. Note that we might want to make them private again at some point. Remove launch_count. It appeared to be unused. Wrap the individual registration routines in voip_calls_init_all_taps. Wrap the removal routines in voip_calls_remove_all_tap_listeners. Move voip_calls_get_info() to voip_calls_dlg.c. Make it static. Change-Id: I58f9d91f55cfb5e4b0c048a5a1d5d4b947f4641b Reviewed-on: https://code.wireshark.org/review/5372 Petri-Dish: Gerald Combs <gerald@wireshark.org> Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-11-14Rename stat_cmd_args.[ch] to stat_tap_ui.[ch].Guy Harris1-1/+1
The intent is to handle more than just command-line arguments; reflect that. Change-Id: Ia10efda85a9d11c6579d1bec6f789cee30d9e825 Reviewed-on: https://code.wireshark.org/review/5304 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-11-14tap_ui -> stat_tap_ui.Guy Harris1-2/+2
The old routine had stat_ in the name, as the expectation was that they were for statistics taps; that's still the expectation, so have stat_ in the data structure and routine names. Change-Id: Ic98d011012b8641173d41fa0ec4f4e625614370a Reviewed-on: https://code.wireshark.org/review/5303 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-11-14For tap UIs, register a list of parameters and some menu information.Guy Harris1-1/+11
The intent here is to centralize more UI information so that we can move more tap UI stuff to common code. This is a beginning. Change-Id: Ic35ac0c01bc7b942aab88177db4065847a5e6c30 Reviewed-on: https://code.wireshark.org/review/5301 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-09-16Fix spelling: cant-->can't, wont-->won't, etcBill Meier1-1/+1
Change-Id: Ia6c3e7a25615bf8e052c3bacf096d76df775c9c2 Reviewed-on: https://code.wireshark.org/review/4126 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-07-03Rename and move ui/stat_menu.h to epan/stat_groups.h.Guy Harris1-1/+1
The groups are, technically, independent of the notion of a menu, and, if we have mechanisms by which taps that are not only GUI toolkit-independent but independent of the *existence* of a GUI can be registered, they might want to register themselves in a group just in case they're running in a program that has a GUI. Also, this might fix the Debian package build. Change-Id: I29435681e79748fd4f2e0c5ac872cd11f831d172 Reviewed-on: https://code.wireshark.org/review/2830 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-06-30Move stat_menu.h to libui.Guy Harris1-1/+1
Change-Id: I7bed7f7931845bc41035535cc62e1fe17c71047d Reviewed-on: https://code.wireshark.org/review/2726 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-25Add support for dissecting non-packet records.Guy Harris1-1/+1
Add a dissector table indexed by the file type, and, for the file-type-specific records, have the frame dissector skip the usual pseudo-header processing, as the pseudo-header has a file-type-specific record subtype in it, and call the dissector for that file type's records. Change-Id: Ibe97cf6340ffb0dabc08f355891bc346391b91f9 Reviewed-on: https://code.wireshark.org/review/1782 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-24Allow wtap_read() and wtap_seek_read() to return records other than packets.Guy Harris1-7/+5
Add a "record type" field to "struct wtap_pkthdr"; currently, it can be REC_TYPE_PACKET, for a record containing a packet, or REC_TYPE_FILE_TYPE_SPECIFIC, for records containing file-type-specific data. Modify code that reads packets to be able to handle non-packet records, even if that just means ignoring them. Rename some routines to indicate that they handle more than just packets. We don't yet have any libwiretap code that supplies records other than REC_TYPE_PACKET or that supporting writing records other than REC_TYPE_PACKET, or any code to support plugins for handling REC_TYPE_FILE_TYPE_SPECIFIC records; this is just the first step for bug 8590. Change-Id: Idb40b78f17c2c3aea72031bcd252abf9bc11c813 Reviewed-on: https://code.wireshark.org/review/1773 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-23Revert "Allow wtap_read() and wtap_seek_read() to return non-packet records."Guy Harris1-1/+1
This reverts commit c0c480d08c175eed4524ea9e73ec86298f468cf4. A better way to do this is to have the record type be part of struct wtap_pkthdr; that keeps the metadata for the record together and requires fewer API changes. That is in-progress. Change-Id: Ic558f163a48e2c6d0df7f55e81a35a5e24b53bc6 Reviewed-on: https://code.wireshark.org/review/1741 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-23Allow wtap_read() and wtap_seek_read() to return non-packet records.Guy Harris1-1/+1
This is the first step towards implementing the mechanisms requestd in bug 8590; currently, we don't return any records other than packet records from libwiretap, and just ignore non-packet records in the rest of Wireshark, but this at least gets the ball rolling. Change-Id: I34a45b54dd361f69fdad1a758d8ca4f42d67d574 Reviewed-on: https://code.wireshark.org/review/1736 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-09Revert "Refactor Wiretap"Guy Harris1-1/+1
This reverts commit 1abeb277f5e6bd27fbaebfecc8184e37ba9d008a. This isn't building, and looks as if it requires significant work to fix. Change-Id: I622b1bb243e353e874883a302ab419532b7601f2 Reviewed-on: https://code.wireshark.org/review/1568 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-09Refactor WiretapMichael Mann1-1/+1
Start of refactoring Wiretap and breaking structures down into "generally useful fields for dissection" and "capture specific". Since this in intended as a "base" for Wiretap and Filetap, the "wft" prefix is used for "common" functionality. The "architectural" changes can be found in cfile.h, wtap.h, wtap-int.h and (new file) wftap-int.h. Most of the other (painstaking) changes were really just the result of compiling those new architecture changes. bug:9607 Change-Id: Ife858a61760d7a8a03be073546c0e7e582cab2ae Reviewed-on: https://code.wireshark.org/review/1485 Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-04-19Some routine name changes.Guy Harris1-12/+12
"get_addr_name()" -> "ep_address_to_display()", to 1) indicate that it returns a string with ephemeral scope and 2) indicate that it maps an address to a "displayable" form - a name if possible, an address string if not. "se_get_addr_name()" -> "get_addr_name()", to indicate that its strings have the same scope as "get_ether_name()", "get_hostname()", and "get_hostname6()". Change-Id: If2ab776395c7a4a163fef031d92b7757b5d23838 Reviewed-on: https://code.wireshark.org/review/1216 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-03-11Migrate GTK icon handling to GTK 3.10 APIBalint Reczey1-4/+4
GtkStockItem usage is deprecated with all the GTK_STOCK_.* stock ids. We keep a stock id based approach but without relying on GTK's GtkStockItem system. We create our own internal stock ids for {icon, label} tuples and keep the original GTK stock id #define-s and values to preserve backward compatibility. Change-Id: Ia0b35a5903f079e92c8026e3df21bbf0be2d06b0 Reviewed-on: https://code.wireshark.org/review/302 Reviewed-by: Gerald Combs <gerald@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04Remove all $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^ \* \$Id\$/,+1 d') Fix manually some typo (in export_object_dicom.c and crc16-plain.c) Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8 Reviewed-on: https://code.wireshark.org/review/497 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-01-16Fix [-Wmissing-prototypes]Anders Broman1-0/+2
svn path=/trunk/; revision=54826
2013-12-23From Ville Skyttä: Spelling FixesBill Meier1-1/+1
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9591 svn path=/trunk/; revision=54387
2013-12-14Fix const warnings.Jakub Zawadzki1-1/+1
svn path=/trunk/; revision=54092
2013-11-29Rename some of pint.h macros to match common style (bits number on the end).Jakub Zawadzki1-12/+12
pntohs -> pntoh16 pntohl -> pntoh32 pletohs -> pletoh16 pletohl -> pletoh32 phtons -> phton16 phtonl -> phton32 svn path=/trunk/; revision=53652
2013-11-17Move the epan/filesystem.c routines to wsutil; they're not specific toGuy Harris1-1/+1
packet dissection, they're specific to the entire Wireshark suite of programs. svn path=/trunk/; revision=53377
2013-11-10Add missing includes in order to remove exceptions.h from proto.h (next commit).Jakub Zawadzki1-0/+1
svn path=/trunk/; revision=53230
2013-10-24Make things compile again.Jörg Mayer1-2/+2
svn path=/trunk/; revision=52828
2013-09-07Fix a few more places that didn't have a semicolon after the address-macro use.Evan Huus1-4/+4
svn path=/trunk/; revision=51820
2013-08-01Move a bunch of the crypt modules and pint.h into wsutil.Jeff Morriss1-1/+1
This means wsutil now links against libcrypt. Protect a bunch of the crypt header files from multiple inclusion. svn path=/trunk/; revision=51100
2013-07-21Replace relative timestamp with reference frame number. Saves 16B per frame.Jakub Zawadzki1-1/+1
svn path=/trunk/; revision=50772
2013-07-21Some work on multi file dissectionJakub Zawadzki1-1/+1
- make init_dissection/cleanup_dissection private for libwireshark - implement epan_new(), epan_free() - pass epan_t to epan_dissect* svn path=/trunk/; revision=50761
2013-07-16Move u3.{h,c} and g711.{h,c} into wsutil.Jeff Morriss1-4/+5
Project g711.h against multiple inclusion and add C++ compatibility wrapper. svn path=/trunk/; revision=50654
2013-07-11packet dissection now takes pointer to tvb instead of guint8 dataJakub Zawadzki1-1/+3
implement frame_tvbuff, right now almost a copy of 'real' tvb. svn path=/trunk/; revision=50497