summaryrefslogtreecommitdiff
path: root/gst/rtp/gstrtpvp8pay.c
AgeCommit message (Collapse)AuthorFilesLines
2021-03-29rtp: allow per feature registrationStéphane Cerveau1-7/+3
Split plugin into features including dynamic types which can be indiviually registered during a static build. More details here: https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/876>
2020-10-30rtpvp9depay: detect incomplete frames and bail outKnut Saastad1-0/+4
If a packet with the B bit set arrives but we haven't received a packet with the marker or E bits set to end the previous frame, we know the current frame was incomplete. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/795>
2020-10-16rtpvp8pay: payload temporally scaled bitstreams.John-Mark Bell1-16/+145
Co-Authored-By: Vincent Sanders <vince@pexip.com> Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/728>
2020-10-16rtpvp8pay: Add picture-id-offset propertyStian Selnes1-11/+41
Add property to set the initial value for picture-id. RFC7741 says that picture-id MAY be initialized to a random value, thus it's also valid to simply set it to a fixed initial value. A fixed value is very useful for testing. Default behavior is not changed. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/728>
2020-10-16rtpvp8pay: move duplicate code to separate functionsMikhail Fludkov1-18/+33
Two new functions to modify picture id: gst_rtp_vp8_pay_picture_id_reset - picks random picture id of appropriate bitsize gst_rtp_vp8_pay_picture_id_increment - increments picture id taking care of wrapping Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/728>
2020-09-28rtp: Fix allocations to support source-info propertySebastian Dröge1-3/+3
Use gst_rtp_base_payload_allocate_output_buffer() instead of gst_rtp_buffer_new_allocate() in order to allocate RTP buffer with correct number of CSRCs according to the meta. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/612>
2020-09-28rtpvp8pay: Fix allocation to support source-info propertyStian Selnes1-2/+5
Use gst_rtp_base_payload_allocate_output_buffer() in order to allocate RTP buffer with correct number of CSRCs according to the meta. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/314 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/612>
2020-06-06plugins: uddate gst_type_mark_as_plugin_api() callsMathieu Duponchelle1-1/+1
2020-06-03plugins: Use gst_type_mark_as_plugin_api() for all non-element plugin typesMathieu Duponchelle1-0/+2
2020-03-12rtpvp8pay, rtpvp9pay: fix caps leak in set_caps()Stian Selnes1-0/+1
2018-08-01rtppayload: Fix VP8/VP9/OPUS dual encoding name handlingNicolas Dufresne1-10/+16
All these were copy pasted and would lead to assertion when chained with rtpmux. This commit rewrite the negotiation with downstream. This also drop the fallback to ancient names if the pad is unlinked. This was completly arbitrary decision that made no sense. https://bugzilla.gnome.org/show_bug.cgi?id=796809
2017-05-24rtp: cache meta tag quarks and add more utility functions for metasTim-Philipp Müller1-2/+2
Every g_quark_from_static_string() is a hash table lookup serialised on the global quark lock in GLib. Let's just look up the two quarks we need once and cache them locally for future use. While we're at it, add new utility functions for the two most commonly used tags (audio + video). Make first argument a gpointer so we don't have to cast and make the code ugly. These are used for logging purposes only anyway.
2016-03-24good: use new gst_element_class_add_static_pad_template()Vineeth TM1-4/+4
https://bugzilla.gnome.org/show_bug.cgi?id=763076
2015-10-23docs: Minor fixes in various placesMischa Spiegelmock1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=756996
2015-08-11rtp: Copy metadata in the (de)payloader, but only the relevant onesSebastian Dröge1-1/+4
The payloader didn't copy anything so far, the depayloader copied every possible meta. Let's make it consistent and just copy all metas without tags or with only the video tag. https://bugzilla.gnome.org/show_bug.cgi?id=751774
2015-06-08rtpvp8depay: potential access beyond end of arrayChris Clayton1-5/+4
Compiling (with gcc-4.9-20150603) produces an error because of an access beyond the end of an array. This patch fixes the error by initializing the loop control/array index variable (i) to 1 and returning i - 1 when a match is found. Also, because the values stored in the array increase in value as the index increases, the >= test unnecessary, so it is removed.
2015-02-19rtpvp8pay: default encoding name to VP8Vincent Penquerc'h1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2015-02-19rtpvp8pay: make caps writable before truncating themVincent Penquerc'h1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=737810
2015-02-19rtpvp8pay: negotiate encoding nameVincent Penquerc'h1-1/+18
Chrome uses a different one than gstreamer. https://bugzilla.gnome.org/show_bug.cgi?id=737810
2014-11-01rtpvp8: Use VP8 encoding nameNicolas Dufresne1-1/+1
Both Firefox and Chrome uses VP8 as the encoding in their SDP. Adding this now defacto standard name removes the need for special case in SDP parsing code. https://bugzilla.gnome.org/show_bug.cgi?id=737810
2014-06-18rtpvp8pay: allocate bitreader on the stackTim-Philipp Müller1-11/+10
2014-06-18rtpvp8pay: post error message on bus on error and don't use g_message()Tim-Philipp Müller1-1/+2
2014-06-18rtpvp8pay: couple of minor optimisationsTim-Philipp Müller1-21/+23
Pre-allocate buffer list of the right size to avoid re-allocs. Avoid plenty of double runtime cast checks and re-doing the same calculation over and over again in rtp_vp8_calc_payload_len(). Only call gst_buffer_get_size() once.
2014-01-20rtpvp8pay: Don't leak input buffersSebastian Dröge1-0/+2
https://bugzilla.gnome.org/show_bug.cgi?id=722414
2013-11-05rtpvp8pay: Make Picture ID mode configurable and default to no picture IDSebastian Dröge1-2/+76
Some implementations (linphone) only support no picture at all in the stream and will fail if one is provided. https://bugzilla.gnome.org/show_bug.cgi?id=711497
2012-11-01rtpvp8: include config.h and minor style fixesTim-Philipp Müller1-9/+11
2012-11-01rtpvp8: use gst_element_class_set_static_metadata()Tim-Philipp Müller1-1/+1
where possible. Avoids some string copies. Also re-indent some stuff. Also some indent fixes here and there.
2012-11-01rtpvp8: replace gst_element_class_set_details_simple with ↵Mark Nauwelaerts1-1/+1
gst_element_class_set_metadata
2012-11-01rtpvp8: update for buffer changesWim Taymans1-1/+1
2012-11-01rtpvp8; fix compatibility with the third draftDanilo Cesar Lemes de Paula1-1/+1
https://bugzilla.gnome.org/show_bug.cgi?id=671073
2012-11-01rtpvp8: port some more to new memory APIMark Nauwelaerts1-4/+6
2012-11-01rtpvp8: port to 0.11Olivier Crête1-62/+65
2012-11-01rtpvp8pay: Fix typoSebastian Dröge1-4/+4
2012-11-01rtpvp8: Update the pay/depay to the ietf-draft-01 specYouness Alaoui1-124/+127
2012-11-01rtpvp8: fix bitstream parsing using the wrong kind of bitreaderVincent Penquerc'h1-67/+43
VP8 uses a probabilistic bool coder, not a straight bit coder. This fixes parsing when error-resilient is set. This commit includes a copy of libvpx's bool coder, BSD licensed. https://bugzilla.gnome.org/show_bug.cgi?id=652694
2012-11-01rtpvp8: Reject unknown bitstream versionsOlivier Crête1-0/+5
2012-11-01rtpvp8: Fix unitialized variableEdward Hervey1-1/+1
Makes macosx compiler happy.
2012-11-01rtpvp8pay: Treat the frame header just like any other partitionSjoerd Simons1-42/+22
When setting up the initial mapping just act as if the global frame information is another partition. This saves special-casing it later in the actual packetizing code.
2012-11-01rtpvp8: Add simple payloaders and depayloaders for VP8Sjoerd Simons1-0/+473
Minimal implementation of http://www.webmproject.org/code/specs/rtp/, version 0.3.2