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 751886 - Add rtph261pay and rtph261depay
Add rtph261pay and rtph261depay
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
1.5.2
Other Linux
: Normal enhancement
: 1.5.90
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2015-07-03 09:36 UTC by Stian Selnes (stianse)
Modified: 2015-08-16 13:37 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch with rtph261pay and rtph261depay (48.88 KB, patch)
2015-07-03 09:36 UTC, Stian Selnes (stianse)
committed Details | Review

Description Stian Selnes (stianse) 2015-07-03 09:36:56 UTC
Created attachment 306689 [details] [review]
Patch with rtph261pay and rtph261depay

Attached patch adds payloader and depayloader for H.261 as specified in RFC 4587.

The elements have been proved to work well with legacy video conferencing systems.

I added a simple test like the other pay/depayloaders have. We have many more tests, but they mostly use gst-libav for encoding and decoding to interact with the pay/depayloader.

For reference, https://github.com/pexip/gst-plugins-good/commit/019271ef8dda12f40480a7f607ea9aca98f87f6a.
Comment 1 Tim-Philipp Müller 2015-07-03 11:05:22 UTC
Thanks, pushed.

Could you please also add some doc stubs and make sure it shows up in the plugin docs?

commit ef8d630a5983e7708321e2fad786d167c2a68da9
Author: Stian Selnes <stian@pexip.com>
Date:   Mon Dec 1 14:18:40 2014 +0100

    rtp: add H.261 RTP payloader and depayloader
    
    Implementation according to RFC 4587.
    
    Payloader create fragments on MB boundaries in order to match MTU size
    the best it can. Some decoders/depayloaders in the wild are very strict
    about receiving a continuous bit-stream (e.g. no no-op bits between
    frames), so the payloader will shift the compressed bit-stream of a
    frame to align with the last significant bit of the previous frame.
    
    Depayloader does not try to be fancy in case of packet loss. It simply
    drops all packets for a frame if there is a loss, keeping it simple.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=751886