Wireshark mailing list archives
Re: Support Opus in WireShark
From: Graham Bloice <graham.bloice () trihedral com>
Date: Sun, 19 Jan 2020 10:36:15 +0000
Hi Ryan, Thanks for your email and suggested contributions, some general development comments: For info on the workflow on submitting changes to wireshark, see the Wiki pages on Creating patches (https://wiki.wireshark.org/CreatingPatches) and Submitting patches (https://wiki.wireshark.org/Development/SubmittingPatches ).. All current codecs are in C, not C++. There is a convention, based on portability concerns, that all dissector "engine" code is in C. There would need to be a discussion about introducing C++ code into this area. On Sun, 19 Jan 2020 at 07:08, <ryanlee () mail ustc edu cn> wrote:
Hello everyone Because Opus is a totally open audio codec and very useful, I want to make WireShark support Opus so that the WireShark can play Opus audio RTP stream and save. I had some attempts. Put the Opus into the *plugins/codecs*. Now WireShark can play and save Opus audio RTP stream like the g711, g722. To support Opus and FEC(Forward Error Correction), I changed some code: Here is the change: 1、Change a function with C++ default parameters Origin version: size_t convert_payload_to_samples(unsigned int payload_type, QTemporaryFile *tempfile, uint8_t *pd_out, size_t expected_nchars, struct _GHashTable *decoders_hash ); MyChanged version: size_t convert_payload_to_samples(unsigned int payload_type, QTemporaryFile *tempfile, uint8_t *pd_out, size_t expected_nchars, struct _GHashTable *decoders_hash , *size_t fecflag = 0*); 2、Add some codes to support OPus fec、play and save.In my opinion these codes don't affect other functions.(In the files: rtp_audio_stream.cpp rtp_audio_stream.cpp ) I don't know whether the change is useful and meets specifications. *The other question: * In the RTP protocol, Opus don't have a fixed payload type. Now I write the payload type into macro. Does it have a good way to let user choose the Opus payload type? Although tried ,I failed~~ I don't know how to realize it. It is my first time to participate in a open source project. And I want to make a contribution. I don't know whether it is a good way to plugin Opus into WireShark or not. If not , is there a better way? I want to know and try it! Best regards, Ryan Lee
-- Graham Bloice
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Support Opus in WireShark ryanlee (Jan 18)
- Re: Support Opus in WireShark Graham Bloice (Jan 19)
- Re: Support Opus in WireShark Jiří Novák (Jan 19)
- Re: Support Opus in WireShark Graham Bloice (Jan 19)