Commit graph

17696 commits

Author SHA1 Message Date
Mathieu Duponchelle
fdf64195ac rtpbin: Expose FEC support signals
Also slightly refactor complete_session_src

https://bugzilla.gnome.org/show_bug.cgi?id=792696
2018-02-21 14:15:22 +01:00
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
Mathieu Duponchelle
82d0950254 rtpptdemux: Add ignored-payload-types property
Packets with these payload types will be dropped. A use case
for this is FEC, where we want FEC packets to go through the
jitterbuffer, but not be output by rtpbin.

https://bugzilla.gnome.org/show_bug.cgi?id=792696
2018-02-21 14:15:22 +01:00
Mathieu Duponchelle
36b991f0b3 rtpptdemux: Add ssrc to output caps
It may be useful downstream

https://bugzilla.gnome.org/show_bug.cgi?id=792696
2018-02-21 14:15:22 +01:00
Arnaud Bonatti
b348ddfded gtk: fix compiler warning with recent glib
https://bugzilla.gnome.org/show_bug.cgi?id=793688
2018-02-21 11:35:39 +00:00
Matthew Waters
ff7d14a384 qt: don't use libEGL functions when we don't link to libEGL
Use the provided wrapper available from libgstgl.

https://bugzilla.gnome.org/show_bug.cgi?id=793547
2018-02-21 11:35:33 +11:00
Sebastian Dröge
a65a7ec05b monoscope: Forward the SEGMENT event from the chain function
Otherwise we'll break the event order and forward the SEGMENT event
before sending a CAPS event.
2018-02-18 21:38:13 +01:00
James Stevenson
d64ae7b01a rtspsrc: Fix missing read property of backchannel
Add missing read property code for backchannel

https://bugzilla.gnome.org/show_bug.cgi?id=793507
2018-02-16 12:53:07 +00:00
Tim-Philipp Müller
22ddef8ef4 examples: rtsp: fix meson build take 2 2018-02-16 09:42:59 +00:00
Sebastian Dröge
3e15b6651d rtsp: Fix meson.build of the example 2018-02-16 11:30:01 +02:00
Sebastian Dröge
7512120e5d rtspsrc: Implement ONVIF backchannel support via TCP 2018-02-16 11:06:27 +02:00
Nirbheek Chauhan
befa41cdf6 rtspsrc: Implement ONVIF backchannel support
Set backchannel=onvif to enable, and use the 'push-backchannel-sample'
action signal with the correct stream id.
2018-02-16 11:06:27 +02:00
Jan Schmidt
d61066e6b5 splitmuxsrc: Improve not-linked handling.
Don't report not-linked unless all pads have
returned not-linked.
2018-02-16 17:02:31 +11:00
Tim-Philipp Müller
fea8aadcf1 Back to development 2018-02-15 19:44:19 +00:00
Tim-Philipp Müller
9087406ede Release 1.13.1 2018-02-15 17:06:10 +00:00
Tim-Philipp Müller
94631cf92b docs: update plugin docs 2018-02-15 17:05:23 +00:00
Tim-Philipp Müller
960c694f03 po: update translations 2018-02-15 13:32:20 +00:00
Patrick Radizi
364dbb5fc7 rtpjitterbuffer: allow timestamps to move backwards
The original solution for #784002 incorrectly assumed that timestamps
may not move backwards and changed timestamps that did so.

https://bugzilla.gnome.org/show_bug.cgi?id=784002
2018-02-15 10:05:39 +02:00
Tim-Philipp Müller
072c070e6c docs: remove pointless Since: 0.10.x markers 2018-02-15 00:58:38 +00:00
Alban Bedel
4e7ce28623 rtpvorbisdepay: fix unbounded memory usage
All received configurations are parsed and added to a list, this lead
to an unbounded memory usage. As the configuration is resent every
second this quickly lead to a large memory usage.

Add a check to only add the config if it is not already available in
the list. This fix only handle the typical case of a well behaved
stream, a malicious server could still send many useless
configurations to raise the client memory usage.
2018-02-14 18:04:56 +00:00
Tim-Philipp Müller
82f2ac783b docs: add qt plugin
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2018-02-12 18:46:08 +00:00
Tim-Philipp Müller
bbab8f79ad qt: hook up to build
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2018-02-12 18:40:10 +00:00
Tim-Philipp Müller
6c75e6c5e0 Move qt plugin from -bad
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2018-02-12 18:13:17 +00:00
Tim-Philipp Müller
16a70b58a6 configure: fix build with --disable-external 2018-02-12 15:44:51 +00:00
Tim-Philipp Müller
bbf0409e29 docs: add moved gtk plugin to docs 2018-02-12 15:18:38 +00:00
Tim-Philipp Müller
d6224a9756 docs: update for git master 2018-02-12 15:18:37 +00:00
Tim-Philipp Müller
eb29ffa36d gtk: hook up to meson build 2018-02-12 15:18:37 +00:00
Tim-Philipp Müller
9c21a17a9a gtk: hook up to autotools build 2018-02-10 13:33:42 +00:00
Tim-Philipp Müller
a12f8df0c6 Move gtk plugin from -bad
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2018-02-10 12:49:36 +00:00
Edward Hervey
192b447e0b qtdemux: Fix comment typo in previous commit 2018-02-09 11:26:56 +01:00
Edward Hervey
e16be12e37 qtdemux: More 'meta' atom parsing fixes
Turns out everybody is doing it their own way, so peek into the
meta atom itself to figure out which spec it is following
2018-02-09 11:22:38 +01:00
Sebastian Dröge
e7177059e9 qtmux: Add support for muxing svmi atom for stereoscopic video information
https://bugzilla.gnome.org/show_bug.cgi?id=793120
2018-02-09 11:05:02 +02:00
Edward Hervey
4fd8635983 qtdemux: Minor cleanup
Just move variables to the blocks where they are used.

That function is massive, could do with some splitting up for
readability :(
2018-02-09 09:00:46 +01:00
Edward Hervey
357d77cf55 qtdemux: Cope with difference between QTFF and ISO BMFF specs
The 'meta' atom is defined differently in QTFF and BMFF, so try
to guess which spec the current stream applies to by looking
at the major file type.
2018-02-09 09:00:46 +01:00
Edward Hervey
b415358c7e isomp4: Make 'hdlr' atom dump more flexible
The smallest possible is 24 (and not 25) bytes.

The last "name" field can according to QTFF specifications not be present
at all. The parser will handle this fine and so will the rest of
the qtdemux code.
2018-02-09 09:00:46 +01:00
Edward Hervey
8239c67799 Update ORC files 2018-02-09 09:00:46 +01:00
Tim-Philipp Müller
dc32346562 meson: make version numbers ints and fix int/string comparison
WARNING: Trying to compare values of different types (str, int).
The result of this is undefined and will become a hard error
in a future Meson release.
2018-02-08 19:09:45 +00:00
Jérôme Laheurte
891425d537 osxvideosink: fix build on macOS versions < 12.0
Use value instead of version macro when testing for mac OS version,
since the define for the newer version may not be defined when
compiling against older versions.

https://bugzilla.gnome.org/show_bug.cgi?id=788402
2018-02-08 15:49:59 +00:00
Matthew Waters
93cf3ef912 qt: don't #include platform specific gstglcontext_*.h headers
They aren't public headers
2018-02-07 20:15:35 +11:00
Tim-Philipp Müller
7ac08fd0a5 autotools: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-02-05 08:25:45 +01:00
Justin Kim
ad8a6cb639 qtmux: send stream warning when refusing video caps
If codec_data is changed, the stream is no longer valid.
Rather than keeping running when refusing new caps,
this patch send a warning  to the bus.

Also fix up splitmuxsink to ignore this warning while changing caps.

https://bugzilla.gnome.org/show_bug.cgi?id=790000
2018-02-01 10:12:46 +00:00
Justin Kim
dabeed52a9 rtph264depay: update output caps regardless format
`codec_data` should be transfered if any information of
SPS/PPS is changed.

https://bugzilla.gnome.org/show_bug.cgi?id=790000
2018-02-01 10:09:20 +00:00
Edward Hervey
0c56a80333 isomp4: Add gmhd/gmin debugging
* gmhd is a container, mark it as such so we can see/dump
  what is contained within
* Add dumping for the Base Media Information atom (gmin)
2018-01-31 19:12:48 +01:00
Matthieu Crapet
ba86a1d99c jpegenc: add snapshot property
Like pngenc, automatically send an EOS message.

Example of bin:
appsrc ! jpegenc snapshot=true ! filesink location=out.jpg

This is especially useful for limited/slow hardware.

Otherwise calling gst_video_convert_sample() is a better option
(internally uses videoconvert and videoscale).

https://bugzilla.gnome.org/show_bug.cgi?id=755453
2018-01-31 17:51:16 +00:00
Philippe Normand
cbb9c31228 interleave: fix memory leak of GAP buffers
https://bugzilla.gnome.org/show_bug.cgi?id=793067
2018-01-31 15:16:46 +00:00
Edward Hervey
0511c4c225 qtdemux_dump: Demote verbose logging to TRACE level 2018-01-31 11:38:35 +01:00
Edward Hervey
40be9f4f85 qtdemux: Re-enable full debug logging of stsz entries
No idea why it was disabled (was the case since 2007)
2018-01-31 11:23:07 +01:00
Tim-Philipp Müller
3cf73a66fe meson: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-01-30 20:34:36 +00:00
Seungha Yang
75241cfa6b qtdemux: Remove white space at end of line
https://bugzilla.gnome.org/show_bug.cgi?id=791483
2018-01-29 18:42:47 +00:00
Seungha Yang
1551759cec qtdemux: Apply qtdemux debug category to gstisoff
.. instead of the use of default debug category.
And, make new header to declare the debug category

https://bugzilla.gnome.org/show_bug.cgi?id=791483
2018-01-29 18:40:02 +00:00