GNOME Bugzilla – Bug 750235
[API] rtpbasedepayload: add process_rtp_packet() vfunc
Last modified: 2015-08-16 13:41:34 UTC
Created attachment 304376 [details] [review] rtpbasedepayload: add process_rtp_packet() vfunc Add process_rtp_packet() vfunc that works just like the existing process() vfunc only that it takes the GstRTPBuffer that the base class has already mapped (with MAP_READ), which means that the subclass doesn't have to map it again, which allows more performant processing of input buffers for most RTP depayloaders (esp. for high-bandwidth streams like raw video over RTP which can easily be thousands of input packets per frame).
Created attachment 306538 [details] [review] rtpvrawdepay: implement process_rtp_packet() vfunc Just for context, here's the rtpvrawdepay part using that.
commit bc14cdf529e21356ea7b2c8f34614958a91f7260 Author: Tim-Philipp Müller <tim@centricular.com> Date: Wed May 27 18:55:20 2015 +0100 rtp: rtpbasedepayload: add process_rtp_packet() vfunc Add process_rtp_packet() vfunc that works just like the existing process() vfunc only that it takes the GstRTPBuffer that the base class has already mapped (with MAP_READ), which means that the subclass doesn't have to map it again, which allows more performant processing of input buffers for most RTP depayloaders. https://bugzilla.gnome.org/show_bug.cgi?id=750235 commit 6717c86061f8757fc6d5c7b660a06b59194cf673 Author: Tim-Philipp Müller <tim@centricular.com> Date: Sun Jul 12 14:27:15 2015 +0100 rtp: depayloaders: implement process_rtp_packet() vfunc For more optimised RTP packet handling: means we don't need to map the input buffer again but can just re-use the mapping the base class has already done. https://bugzilla.gnome.org/show_bug.cgi?id=750235 commit fe787425bcc4be1bb9ea6a63d245731e6b431251 Author: Tim-Philipp Müller <tim@centricular.com> Date: Wed May 27 19:19:27 2015 +0100 rtpvrawdepay: implement process_rtp_packet() vfunc For more optimised RTP packet handling: means we don't need to map the input buffer again but can just re-use the map the base class has already done. https://bugzilla.gnome.org/show_bug.cgi?id=750235
commit 232bdf17115419da61c3b1ce2c5b02d74e34d403 Author: Tim-Philipp Müller <tim@centricular.com> Date: Thu Jul 30 12:50:56 2015 +0100 rtpbasedepayload: fix leaks in error code paths This was introduced when reshuffling the buffer unmaps in commit bc14cdf529e21356ea7b2c8f34614958a91f7260 rtp: rtpbasedepayload: add process_rtp_packet() vfunc Fixes make check-valgrind. https://bugzilla.gnome.org/show_bug.cgi?id=750235