Mikhail Fludkov
d5ad50bd61
rtp: Implement ULPFEC (RFC 5109)
...
We expose a set of new elements:
* ULPFEC encoder / decoder
* A storage element, which should be placed before jitterbuffers,
and is used to store packets in order to attempt reconstruction
after the jitterbuffer has sent PacketLost events
* RED encoder / decoder (RFC 2198), these are necessary to
use FEC in webrtc, as browsers will propose and expect ulpfec
packets to be wrapped in red packets
With contributions from:
Mathieu Duponchelle <mathieu@centricular.com>
Sebastian Dröge <sebastian@centricular.com>
https://bugzilla.gnome.org/show_bug.cgi?id=792696
2018-02-21 14:15:22 +01:00
Tim Allen
db07fc7e85
rtp: add L8 audio support
2017-12-24 13:19:56 +01:00
Tim-Philipp Müller
4a28e649c3
rtp: cache meta tag quarks and add more utility functions for metas
...
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.
2017-05-24 13:32:10 +01:00
Tim-Philipp Müller
fb0bc126c9
rtp: opus: move Opus RTP payloader/depayloader from -bad to -good
...
https://bugzilla.gnome.org/show_bug.cgi?id=756282
2016-02-25 22:45:16 +00:00
Stian Selnes
5faa9c11a6
rtpvp9pay: rtpvp9depay: Initial implementation of draft 01
...
Quick and dirty implementation of an RTP payloader and depayloader
for VP9. In particalur it assumes no spatial or temporal layering,
non-flexible mode, and some other bits and pieces.
https://bugzilla.gnome.org/show_bug.cgi?id=754773
2016-02-16 15:54:06 +02:00
Tim-Philipp Müller
9d0f127703
rtp: h265: hook up move RTP H.265 payloader/depayloader to build
...
https://bugzilla.gnome.org/show_bug.cgi?id=761606
2016-02-16 00:25:50 +00:00
Tim-Philipp Müller
740f10bae9
rtp: add SMPTE 336M KLV metadata depayloader
...
http://tools.ietf.org/html/rfc6597
2015-07-07 20:11:27 +01:00
Tim-Philipp Müller
7db7da1acb
rtp: add SMPTE 336M KLV metadata payloader
...
http://tools.ietf.org/html/rfc6597
2015-07-07 20:11:23 +01:00
Stian Selnes
ef8d630a59
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
2015-07-03 11:48:41 +01:00
Tim-Philipp Müller
f3fec86bc9
Revert "rtp: add h265 RTP payloader + depayloader"
...
This reverts commit d06ba9051f
.
This breaks the build, as it depends on parser API in -bad.
2014-10-15 17:48:46 +01:00
Jurgen Slowack
d06ba9051f
rtp: add h265 RTP payloader + depayloader
2014-10-15 17:34:50 +02:00
Sebastian Dröge
d87f6cf483
rtpstreamdepay: Add RFC4571 RTP stream depayloading element
...
https://bugzilla.gnome.org/show_bug.cgi?id=719829
2013-12-04 21:58:29 +01:00
Sebastian Dröge
c5284dc047
rtpstreampay: Add RFC4571 RTP stream payloading element
...
https://bugzilla.gnome.org/show_bug.cgi?id=719829
2013-12-04 21:58:29 +01:00
David Holroyd
a956a6ceb2
rtp: add L24 pay and depayloader
...
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=707734
2013-09-09 15:13:46 +02:00
Wim Taymans
9d7519f66e
rtp: register tag image types
...
The rtpgstdepay needs the type to be available in order to deserialize the
event.
2013-04-12 16:18:42 +01:00
Arun Raghavan
87bdad4bfc
rtp: Add an rtpsbcdepay element
...
Pretty straightforward - takes SBC encapsulated in RTP, depayloads, and
pushes out SBC buffers.
https://bugzilla.gnome.org/show_bug.cgi?id=690582
2013-03-28 17:22:33 +00:00
Tim-Philipp Müller
39ef892938
rtp: import rtpsbcpay from bluez and port to 1.0
...
Compiles, but not tested yet (sbc elements still need to be ported).
https://bugzilla.gnome.org/show_bug.cgi?id=690582
2013-01-10 12:43:50 +00:00
Tim-Philipp Müller
230cf41cc9
Fix FSF address
...
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:07:18 +00:00
Tim-Philipp Müller
321acd14dc
rtp: move VP8 payloader and depayloader from -bad
...
Spec is still in draft state, but should hopefully not
change much now. Besides, we announce things as VP8-DRAFT-IETF-01
in our caps, so even if things change in incompatible ways it
should not break anything.
https://bugzilla.gnome.org/show_bug.cgi?id=687263
2012-11-01 20:53:48 +00:00
Sebastian Dröge
aa2cd462da
gst: Update for GST_PLUGIN_DEFINE() API changes
2012-04-05 17:36:38 +02:00
Wim Taymans
b0fbb1725f
rtp: fix for API changes in the base classes
2011-06-13 13:25:49 +02:00
Wim Taymans
7c9b91d2d8
gstpay/depay: add generic gstreamer payloader
...
Add the beginnings of a generic GStreamer buffers payloader.
2010-12-23 18:39:52 +01:00
Wim Taymans
6db12cb003
rtpac3pay: add AC3 payloader
2010-12-21 22:34:49 +01:00
Wim Taymans
78e4a260b4
rtp: add G722 pay and depayloader
2010-09-30 18:34:36 +02:00
Mark Nauwelaerts
815e06ba55
rtp: add mpa-robust depayloader
...
Fixes #589997 .
2010-06-11 11:45:48 +02:00
Wim Taymans
754007b344
qcelpdepay: add first version of a QCELP depayloader
2010-04-29 18:07:10 +02:00
Wim Taymans
b32ddfc174
rtpg723depay: add G723 depayloader
2010-01-05 19:03:06 +01:00
Tiago Katcipis
908a9ee63b
rtp: add G723 payloader
...
Fixes #597823
2009-12-17 17:27:42 +01:00
Wim Taymans
8c3b03de26
rtp: add BroadcomVoice depayloader
2009-11-18 10:50:43 +01:00
Wim Taymans
02476fb5a3
rtp: add BroadcomVoice payloader
2009-11-18 10:50:43 +01:00
Edward Hervey
d39c057e42
rtp: New QDM2 rtp depayloader.
...
Reverse-engineered by comparing:
* A rtp hinted file provided by DarwinStreamingServer
* The output procued by DSS for that same file
Also used various streaming sources available on the internet to fine-tune
the code.
The header/codec_data extraction methods are from FFMpeg (LGPL).
2009-08-03 21:26:30 +02:00
Wim Taymans
ace2a84447
celtdepay: add CELT depayloader
2009-06-05 18:57:30 +02:00
Wim Taymans
ec554a7f02
rtpceltpay: add CELT RTP payloader
2009-06-05 18:57:30 +02:00
Wim Taymans
a9e496d92f
rtj2kdepay: add basic JPEG 2000 depayloader
2009-05-08 11:35:02 +02:00
Wim Taymans
a4dfd61a77
rtpj2kpay: add a simple JPEG 2000 payloader
2009-05-08 10:38:42 +02:00
Olivier Crête
e4b8c514cc
Move siren rtp pay/depay from gst-plugins-farsight
2009-03-04 13:24:34 -05:00
Wim Taymans
5c9ebea381
gst/rtp/: Add a jpeg depayloader.
...
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpjpegdepay.c: (gst_rtp_jpeg_depay_base_init),
(gst_rtp_jpeg_depay_class_init), (gst_rtp_jpeg_depay_init),
(gst_rtp_jpeg_depay_finalize), (MakeTables), (MakeQuantHeader),
(MakeHuffmanHeader), (MakeDRIHeader), (MakeHeaders),
(gst_rtp_jpeg_depay_setcaps), (gst_rtp_jpeg_depay_process),
(gst_rtp_jpeg_depay_change_state),
(gst_rtp_jpeg_depay_plugin_init):
* gst/rtp/gstrtpjpegdepay.h:
Add a jpeg depayloader.
* gst/rtp/gstrtpjpegpay.c:
Set the default properties on the payloader to better defaults.
2008-11-14 18:41:29 +00:00
Bjorn Ostby
d8e74cabdc
gst/rtp/: Add JPEG payloader. Fixes #560756 .
...
Original commit message from CVS:
Patch by: Bjorn Ostby <bjornos at axis dot com>
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpjpegpay.c: (gst_rtp_jpeg_pay_base_init),
(gst_rtp_jpeg_pay_class_init), (gst_rtp_jpeg_pay_init),
(gst_rtp_jpeg_pay_setcaps), (gst_rtp_jpeg_pay_header_size),
(gst_rtp_jpeg_pay_read_quant_table),
(gst_rtp_jpeg_pay_scan_marker), (gst_rtp_jpeg_pay_handle_buffer),
(gst_rtp_jpeg_pay_set_property), (gst_rtp_jpeg_pay_get_property),
(gst_rtp_jpeg_pay_plugin_init):
* gst/rtp/gstrtpjpegpay.h:
Add JPEG payloader. Fixes #560756 .
2008-11-14 11:41:55 +00:00
Wim Taymans
c77bfaacb4
gst/rtp/: Added MP4A-LATM payloader to match the depayloader.
...
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpmp4apay.c: (gst_rtp_mp4a_pay_get_type),
(gst_rtp_mp4a_pay_base_init), (gst_rtp_mp4a_pay_class_init),
(gst_rtp_mp4a_pay_init), (gst_rtp_mp4a_pay_finalize),
(gst_rtp_mp4a_pay_parse_audio_config), (gst_rtp_mp4a_pay_new_caps),
(gst_rtp_mp4a_pay_setcaps), (gst_rtp_mp4a_pay_handle_buffer),
(gst_rtp_mp4a_pay_change_state), (gst_rtp_mp4a_pay_plugin_init):
* gst/rtp/gstrtpmp4apay.h:
Added MP4A-LATM payloader to match the depayloader.
2008-09-26 13:55:48 +00:00
Wim Taymans
8f0079c7e2
gst/rtp/: Add MP1S depayloader.
...
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpmp1sdepay.c: (gst_rtp_mp1s_depay_base_init),
(gst_rtp_mp1s_depay_class_init), (gst_rtp_mp1s_depay_init),
(gst_rtp_mp1s_depay_setcaps), (gst_rtp_mp1s_depay_process),
(gst_rtp_mp1s_depay_set_property),
(gst_rtp_mp1s_depay_get_property),
(gst_rtp_mp1s_depay_change_state),
(gst_rtp_mp1s_depay_plugin_init):
* gst/rtp/gstrtpmp1sdepay.h:
Add MP1S depayloader.
* gst/rtsp/URLS:
Some more sample rtsp streams.
2008-08-05 13:54:18 +00:00
Wim Taymans
41e206534c
gst/rtp/: Add raw video pay and depayloaders, see RFC4175.
...
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpvrawdepay.c: (gst_rtp_vraw_depay_base_init),
(gst_rtp_vraw_depay_class_init), (gst_rtp_vraw_depay_init),
(gst_rtp_vraw_depay_setcaps), (gst_rtp_vraw_depay_process),
(gst_rtp_vraw_depay_change_state),
(gst_rtp_vraw_depay_plugin_init):
* gst/rtp/gstrtpvrawdepay.h:
* gst/rtp/gstrtpvrawpay.c: (gst_rtp_vraw_pay_get_type),
(gst_rtp_vraw_pay_base_init), (gst_rtp_vraw_pay_class_init),
(gst_rtp_vraw_pay_init), (gst_rtp_vraw_pay_finalize),
(gst_rtp_vraw_pay_setcaps), (gst_rtp_vraw_pay_handle_buffer),
(gst_rtp_vraw_pay_plugin_init):
* gst/rtp/gstrtpvrawpay.h:
Add raw video pay and depayloaders, see RFC4175.
2008-07-01 13:28:02 +00:00
mersad
e3141bbb49
gst/rtp/: Added G726 pay/depayloaders. Fixes #538891 .
...
Original commit message from CVS:
Patch by: mersad <mersad at axis dot com>
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpg726depay.c: (gst_rtp_g726_depay_base_init),
(gst_rtp_g726_depay_class_init), (gst_rtp_g726_depay_init),
(gst_rtp_g726_depay_setcaps), (gst_rtp_g726_depay_process),
(gst_rtp_g726_depay_plugin_init):
* gst/rtp/gstrtpg726depay.h:
* gst/rtp/gstrtpg726pay.c: (gst_rtp_g726_pay_base_init),
(gst_rtp_g726_pay_class_init), (gst_rtp_g726_pay_init),
(gst_rtp_g726_pay_setcaps), (gst_rtp_g726_pay_plugin_init):
* gst/rtp/gstrtpg726pay.h:
Added G726 pay/depayloaders. Fixes #538891 .
2008-06-18 10:12:57 +00:00
Olivier Crete
d6f37dadb5
gst/rtp/: Added G729 pay and depayloaders. Fixes #532409 .
...
Original commit message from CVS:
Based on patch by: Olivier Crete <tester at tester dot ca>
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpg729depay.c: (gst_rtp_g729_depay_base_init),
(gst_rtp_g729_depay_class_init), (gst_rtp_g729_depay_init),
(gst_rtp_g729_depay_setcaps), (gst_rtp_g729_depay_process),
(gst_rtp_g729_depay_plugin_init):
* gst/rtp/gstrtpg729depay.h:
* gst/rtp/gstrtpg729pay.c: (gst_rtpg729pay_base_init),
(gst_rtpg729pay_class_init), (gst_rtpg729pay_init),
(gst_rtpg729pay_setcaps), (gst_rtp_g729_pay_plugin_init):
* gst/rtp/gstrtpg729pay.h:
Added G729 pay and depayloaders. Fixes #532409 .
2008-05-13 08:35:55 +00:00
Olivier Crete
894206be3d
gst/rtp/: Add DV pay and depayloaders. Fixes #532423 .
...
Original commit message from CVS:
Based on patch by: Olivier Crete <tester at tester dot ca>
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpdvdepay.c: (gst_rtp_dv_depay_base_init),
(gst_rtp_dv_depay_class_init), (gst_rtp_dv_depay_init),
(parse_encode), (gst_rtp_dv_depay_setcaps),
(calculate_difblock_location), (gst_rtp_dv_depay_process),
(gst_rtp_dv_depay_reset), (gst_rtp_dv_depay_change_state),
(gst_rtp_dv_depay_plugin_init):
* gst/rtp/gstrtpdvdepay.h:
* gst/rtp/gstrtpdvpay.c: (gst_dv_pay_mode_get_type),
(gst_rtp_dv_pay_base_init), (gst_rtp_dv_pay_class_init),
(gst_rtp_dv_pay_init), (gst_dv_pay_set_property),
(gst_dv_pay_get_property), (gst_rtp_dv_pay_setcaps),
(gst_dv_pay_negotiate), (include_dif),
(gst_rtp_dv_pay_handle_buffer), (gst_rtp_dv_pay_plugin_init):
* gst/rtp/gstrtpdvpay.h:
Add DV pay and depayloaders. Fixes #532423 .
2008-05-12 18:27:24 +00:00
Thijs Vermeir
b03d3e0b87
gst/rtp/: Add MPEG2 video payloader
...
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c:
* gst/rtp/gstrtpmpvpay.c:
* gst/rtp/gstrtpmpvpay.h:
Add MPEG2 video payloader
2008-01-25 10:53:17 +00:00
Wim Taymans
7d92376d3b
gst/rtp/: Added an H263 depayloader. Fixes #369392 .
...
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtph263depay.c: (gst_rtp_h263_depay_base_init),
(gst_rtp_h263_depay_class_init), (gst_rtp_h263_depay_init),
(gst_rtp_h263_depay_finalize), (gst_rtp_h263_depay_setcaps),
(gst_rtp_h263_depay_process), (gst_rtp_h263_depay_set_property),
(gst_rtp_h263_depay_get_property),
(gst_rtp_h263_depay_change_state),
(gst_rtp_h263_depay_plugin_init):
* gst/rtp/gstrtph263depay.h:
Added an H263 depayloader. Fixes #369392 .
* gst/rtp/gstrtph263pdepay.c: (gst_rtp_h263p_depay_setcaps),
(gst_rtp_h263p_depay_process):
* gst/rtp/gstrtph263ppay.c: (gst_fragmentation_mode_get_type),
(gst_rtp_h263p_pay_class_init), (gst_rtp_h263p_pay_flush):
Make the H263+ pay/depayloader support H263-1998 and H263-2000
payloads.
Also alow plain H263 on the h263p payloaders. Fixes #465040 .
2007-08-20 16:52:03 +00:00
Laurent Glayal
d94a696bcd
gst/rtp/: Added H264 payloader. Fixes #423782 .
...
Original commit message from CVS:
Patch by: Laurent Glayal <spglegle at yahoo dot fr>
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtph264pay.c: (gst_rtp_h264_pay_base_init),
(gst_rtp_h264_pay_class_init), (gst_rtp_h264_pay_init),
(gst_rtp_h264_pay_finalize), (gst_rtp_h264_pay_setcaps),
(gst_rtp_h264_pay_handle_buffer), (gst_rtp_h264_pay_set_property),
(gst_rtp_h264_pay_get_property), (gst_rtp_h264_pay_change_state),
(gst_rtp_h264_pay_plugin_init):
* gst/rtp/gstrtph264pay.h:
Added H264 payloader. Fixes #423782 .
* gst/rtp/gstrtph264depay.c: (gst_rtp_h264_depay_class_init),
(gst_rtp_h264_depay_setcaps), (gst_rtp_h264_depay_process):
Small fixes.
2007-03-29 08:08:49 +00:00
Stefan Kost
c0cdcae569
gst/rtp/: Added MP4A-LATM depayloader. Fixes #417792 .
...
Original commit message from CVS:
Based on patch by: Stefan Kost <ensonic@users.sf.net>
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpmp4adepay.c: (gst_rtp_mp4a_depay_base_init),
(gst_rtp_mp4a_depay_class_init), (gst_rtp_mp4a_depay_init),
(gst_rtp_mp4a_depay_finalize), (gst_rtp_mp4a_depay_setcaps),
(gst_rtp_mp4a_depay_process), (gst_rtp_mp4a_depay_set_property),
(gst_rtp_mp4a_depay_get_property),
(gst_rtp_mp4a_depay_change_state),
(gst_rtp_mp4a_depay_plugin_init):
* gst/rtp/gstrtpmp4adepay.h:
Added MP4A-LATM depayloader. Fixes #417792 .
* gst/rtp/gstrtpmp4vdepay.c: (gst_rtp_mp4v_depay_setcaps),
(gst_rtp_mp4v_depay_process):
Fixup depayloader, setting codec_data, using more efficient adaptor and
rtpbuffer handling.
* gst/rtsp/URLS:
Add url to test above.
2007-03-28 18:40:12 +00:00
Wim Taymans
bd4b1f680c
gst/rtp/: Added simple mpeg transport stream payloader.
...
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpmp2tpay.c: (gst_rtp_mp2t_pay_base_init),
(gst_rtp_mp2t_pay_class_init), (gst_rtp_mp2t_pay_init),
(gst_rtp_mp2t_pay_setcaps), (gst_rtp_mp2t_pay_handle_buffer),
(gst_rtp_mp2t_pay_plugin_init):
* gst/rtp/gstrtpmp2tpay.h:
Added simple mpeg transport stream payloader.
2007-02-18 13:24:26 +00:00
Wim Taymans
85420195b2
gst/rtp/: Port and enable raw audio payloader/depayloader. Needs a bit more work on the payloader side.
...
Original commit message from CVS:
* gst/rtp/Makefile.am:
* gst/rtp/gstrtp.c: (plugin_init):
* gst/rtp/gstrtpL16depay.c: (gst_rtp_L16_depay_base_init),
(gst_rtp_L16_depay_class_init), (gst_rtp_L16_depay_init),
(gst_rtp_L16_depay_parse_int), (gst_rtp_L16_depay_setcaps),
(gst_rtp_L16_depay_process), (gst_rtp_L16_depay_set_property),
(gst_rtp_L16_depay_get_property), (gst_rtp_L16_depay_change_state),
(gst_rtp_L16_depay_plugin_init):
* gst/rtp/gstrtpL16depay.h:
* gst/rtp/gstrtpL16pay.c: (gst_rtp_L16_pay_get_type),
(gst_rtp_L16_pay_base_init), (gst_rtp_L16_pay_class_init),
(gst_rtp_L16_pay_init), (gst_rtp_L16_pay_finalize),
(gst_rtp_L16_pay_setcaps), (gst_rtp_L16_pay_handle_buffer),
(gst_rtp_L16_pay_plugin_init):
* gst/rtp/gstrtpL16pay.h:
Port and enable raw audio payloader/depayloader. Needs a bit more work
on the payloader side.
2007-01-24 18:20:14 +00:00