Hello, I am currently working on a project that sends data over RTP using a dynamically assigned payload type. I needed to capture what is sent and recalled that Ethereal had some mean to save the RTP payload. As it turned out this feature was only for saving audio data. However, not to be discouraged I figured I could hack the code to save the raw payload data instead.
A couple of tries later, and it seemed to save the data, but after further analysis it turned out it only saved the first packet over and over again... After a lot of debugging I think I have reached some understanding as to what is happening. The current code in gtk/rtp_analysis.c uses cfile.pd to access the raw packet data. However, after a change to file.c (revision 1.339), process_specific_packets() uses a local pd buffer which means that rtp_packet_save_payload() no longer accesses the correct data. After some more investigation I found the real data in edt->tvb (which wasn't passed on to rtp_packet_save_payload()). I have attached a patch for gtk/rtp_analysis.c that shows what I had to do to get it to work. It should not be applied as is (I took some shortcuts regarding the saving of the raw payload data), but I hope it can be useful to anyone looking into understanding why saving the RTP payload does not work any more (at least I assume it will not work for the current audio code either). Best regards, //Peter
rtp_analysis.patch
Description: rtp_analysis.patch
_______________________________________________ Ethereal-dev mailing list [EMAIL PROTECTED] http://www.ethereal.com/mailman/listinfo/ethereal-dev