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 640327 - Add VP8 RTP payloaders and depayloaders
Add VP8 RTP payloaders and depayloaders
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: 0.10.22
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-01-23 17:29 UTC by Sjoerd Simons
Modified: 2011-01-30 16:44 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed patch, also as git branch: http://cgit.freedesktop.org/~sjoerd/gst-plugins-bad/log/?h=vp8 (25.62 KB, patch)
2011-01-23 17:29 UTC, Sjoerd Simons
none Details | Review

Description Sjoerd Simons 2011-01-23 17:29:44 UTC
Created attachment 179082 [details] [review]
Proposed patch, also as git branch: http://cgit.freedesktop.org/~sjoerd/gst-plugins-bad/log/?h=vp8

http://www.webmproject.org/code/specs/rtp/ has a DRAFT rtp spec for VP8. I've implemented this in the attached patch. The implementation is quite mimimal and has the following todo items:

* It does never set the N bit. To do this correctly it's necessary to parse even more of the bitstream 
   header, which is a pain. Also what the conditions are to set the bit aren't really properly defined. Not
   ever setting it should never be an issue (we're not telling the receiver that the packet is a 
   non-reference frame that's safe to drop).
* We can't set the PictureID in the payloader (not mandatory), but do correctly cope in the depayloader
   when it's set
* the SDP encoding name is VP8-DRAFT-0-3-2 instead of VP8 as i'm not looking forward to versions in 
   the wild that are incompatible with whatever the final draft is :)
* The depayloader is minimal and isn't able to handle frames with incomplete partitions (due to 
   packet loss). Otoh that's impossible to do correctly with the current spec and i'm not sure how to
   feed it into the vpx decoder (it's not documented how this could be done)

None of these items are big enough to not merge the patches though (imho) :)
Comment 1 Olivier Crête 2011-01-23 18:31:28 UTC
Appart from the fact that it probably drops stuff needlessly on a DISCONT, it looks ok to me.
Comment 2 Sjoerd Simons 2011-01-30 14:55:36 UTC
As discussed on IRC, there is currently no (official) way to give partial frames to the VP8 decoder and the rtp spec isn't ready yet for re-constructing parts of a frame.

Patches pushed to -bad, thanks for the review :)