After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 750235 - [API] rtpbasedepayload: add process_rtp_packet() vfunc
[API] rtpbasedepayload: add process_rtp_packet() vfunc
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal enhancement
: 1.5.90
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-06-01 18:30 UTC by Tim-Philipp Müller
Modified: 2015-08-16 13:41 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rtpbasedepayload: add process_rtp_packet() vfunc (4.71 KB, patch)
2015-06-01 18:30 UTC, Tim-Philipp Müller
committed Details | Review
rtpvrawdepay: implement process_rtp_packet() vfunc (3.90 KB, patch)
2015-07-01 16:27 UTC, Tim-Philipp Müller
committed Details | Review

Description Tim-Philipp Müller 2015-06-01 18:30:51 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).
Comment 1 Tim-Philipp Müller 2015-07-01 16:27:29 UTC
Created attachment 306538 [details] [review]
rtpvrawdepay: implement process_rtp_packet() vfunc

Just for context, here's the rtpvrawdepay part using that.
Comment 2 Tim-Philipp Müller 2015-07-12 13:32:14 UTC
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
Comment 3 Tim-Philipp Müller 2015-07-30 11:52:37 UTC
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