platform/upstream/gst-plugins-good.git
6 years agortpvrawpay: don't use buffer lists if everything fits into one buffer
Tim-Philipp Müller [Sat, 5 May 2018 14:32:59 +0000 (16:32 +0200)]
rtpvrawpay: don't use buffer lists if everything fits into one buffer

People might use very large mtu sizes where every payload
fits into a single output packet.

https://bugzilla.gnome.org/show_bug.cgi?id=795758

6 years agoconfigure: Fix hard-coded enabled v4l2 probe on Linux/ARM
Kirill Marinushkin [Wed, 4 Apr 2018 13:50:55 +0000 (15:50 +0200)]
configure: Fix hard-coded enabled v4l2 probe on Linux/ARM

Currently, enable_v4l2_probe is hard-coded to "yes" on linux, platforms
arm and aarch64. This even overrides the --disable-v4l2-probe argument.
As a result, it is impossible to disable v4l2_probe. It becomes a problem
for use-cases, when startup time is critical, because the v4l2_probe
feature increases the initialization time.

This commit makes the v4l2_probe feature configurable.
On linux, platforms arm and aarch64, the default value is still "yes".
But now it can be disabled by the --disable-v4l2-probe argument.

https://bugzilla.gnome.org/show_bug.cgi?id=795200

6 years agoflvmux: Don't wake up the muxer unless there is data
Olivier Crête [Mon, 23 Apr 2018 15:26:12 +0000 (11:26 -0400)]
flvmux: Don't wake up the muxer unless there is data

https://bugzilla.gnome.org/show_bug.cgi?id=795332

6 years agoflvmux: Save the current position in the output segment
Olivier Crête [Mon, 23 Apr 2018 15:19:18 +0000 (11:19 -0400)]
flvmux: Save the current position in the output segment

https://bugzilla.gnome.org/show_bug.cgi?id=795332

6 years agoflvmux: Wait for caps from both srcs before writing header
Olivier Crête [Thu, 19 Apr 2018 21:53:51 +0000 (17:53 -0400)]
flvmux: Wait for caps from both srcs before writing header

Wait for caps on all pads to start writing data even when source is live.

Includes unit test by Havard Graff that simulates it.

https://bugzilla.gnome.org/show_bug.cgi?id=794722

6 years agov4l2: rely on gst_v4l2_dup() to set no_initial_format and keep_aspect
Guillaume Desmottes [Fri, 13 Apr 2018 11:29:06 +0000 (13:29 +0200)]
v4l2: rely on gst_v4l2_dup() to set no_initial_format and keep_aspect

gst_v4l2_dup() will now take care of setting
v4l2capture->no_initial_format and keep_aspect instead of doing it
manually.

Fix a typo as keep_aspect was set twice on v4l2output but never on
v4l2capture.

https://bugzilla.gnome.org/show_bug.cgi?id=795028

6 years agoMeson: Generate pc file for all plugins in good
Xavier Claessens [Tue, 24 Apr 2018 18:06:10 +0000 (14:06 -0400)]
Meson: Generate pc file for all plugins in good

https://bugzilla.gnome.org/show_bug.cgi?id=794568

6 years agomeson: use -Wl,-Bsymbolic-functions where supported
Tim-Philipp Müller [Wed, 25 Apr 2018 09:58:41 +0000 (10:58 +0100)]
meson: use -Wl,-Bsymbolic-functions where supported

Just like the autotools build.

6 years agoqtmux: Read caption from input buffer
Edward Hervey [Wed, 25 Apr 2018 08:37:40 +0000 (10:37 +0200)]
qtmux: Read caption from input buffer

And not from unallocated output buffer GstMapInfo

CID #1435131

6 years agoisomp4: qtmux: Add Closed Caption support
Edward Hervey [Wed, 7 Feb 2018 10:00:18 +0000 (11:00 +0100)]
isomp4: qtmux: Add Closed Caption support

Supports CEA 608 and CEA 708 CC streams

Also supports usage in "Robust Prefill" mode if the incoming caption
stream is constant (i.e. there is one incoming CC buffer for each
video frame).

https://bugzilla.gnome.org/show_bug.cgi?id=606643

6 years agoisomp4: Make 'gmhd' atom usage more generic
Edward Hervey [Tue, 6 Feb 2018 14:38:00 +0000 (15:38 +0100)]
isomp4: Make 'gmhd' atom usage more generic

Only the 'gmin' atom is required. Any other entry within it are
optional.

https://bugzilla.gnome.org/show_bug.cgi?id=606643

6 years agojpegenc: Accept sof-marker=4
Thibault Saunier [Sun, 22 Apr 2018 13:40:19 +0000 (10:40 -0300)]
jpegenc: Accept sof-marker=4

sof-marker is 4 when input is in the RGB colorspace.

https://bugzilla.gnome.org/show_bug.cgi?id=795463

6 years agoulpfecdec: output perfect seqnums
Mathieu Duponchelle [Mon, 2 Apr 2018 14:06:35 +0000 (16:06 +0200)]
ulpfecdec: output perfect seqnums

ULP FEC, as defined in RFC 5109, has the protected and protection
packets sharing the same ssrc, and a different payload type, and
implies rewriting the seqnums of the protected stream when encoding
the protection packets. This has the unfortunate drawback of not
being able to tell whether a lost packet was a protection packet.

rtpbasedepayload relies on gaps in the seqnums to set the DISCONT
flag on buffers it outputs. Before that commit, this created two
problems:

* The protection packets don't make it as far as the depayloader,
  which means it will mark buffers as DISCONT every time the previous
  packets were protected

* While we could work around the previous issue by looking at
  the protection packets ignored and dropped in rtpptdemux, we
  would still mark buffers as DISCONT when a FEC packet was lost,
  as we cannot know that it was indeed a FEC packet, even though
  this should have no impact on the decoding of the stream

With this commit, we consider that when using ULPFEC, gaps in
the seqnums are not a reliable indicator of whether buffers should
be marked as DISCONT or not, and thus rewrite the seqnums on
the decoding side as well to form a perfect sequence, this
obviously doesn't prevent the jitterbuffer from doing its job
as the ulpfec decoder is downstream from it.

https://bugzilla.gnome.org/show_bug.cgi?id=794909

6 years agoRevert "rtspsrc: Fix up sendonly/recvonly attribute handling"
Sebastian Dröge [Tue, 17 Apr 2018 14:57:16 +0000 (17:57 +0300)]
Revert "rtspsrc: Fix up sendonly/recvonly attribute handling"

This reverts commit af273b4de9eb292c0b6af63665e10ca015895902.

While RFC 3264 (SDP) says that sendonly/recvonly are from the point of view of
the requester, the actual RTSP RFCs (RFC 2326 / 7826) disagree and say
the opposite, just like the ONVIF standard.

Let's follow those RFCs as we're doing RTSP here, and add a property at
a later time if needed to switch to the SDP RFC behaviour.

https://bugzilla.gnome.org/show_bug.cgi?id=793964

6 years agoflacparse: Drain the parser when a CAPS event is received
Sebastian Dröge [Mon, 16 Apr 2018 18:27:47 +0000 (21:27 +0300)]
flacparse: Drain the parser when a CAPS event is received

After a CAPS event, in theory a new stream can start and it might start
with the FLAC headers again. We can't detect FLAC headers in the middle
of the stream, so we drain the parser to be able to detect either FLAC
headers after the CAPS event or the continuation of the previous stream.

This fixes for example

gst-launch-1.0 audiotestsrc num-buffers=200 ! flacenc ! c. \
    audiotestsrc num-buffers=200 freq=880 ! flacenc ! c. \
    concat name=c ! rtpgstpay ! udpsink host=127.0.0.1 port=5000

gst-launch-1.0 udpsrc multicast-group=127.0.0.1 port=5000 \
    caps=application/x-rtp,media=application,clock-rate=90000,encoding-name=X-GST ! \
    rtpgstdepay ! flacparse ! flacdec ! audioconvert ! pulsesin

6 years agoAutomatic update of common submodule
Tim-Philipp Müller [Mon, 16 Apr 2018 09:52:56 +0000 (10:52 +0100)]
Automatic update of common submodule

From 3fa2c9e to ed78bee

6 years agomeson: add build files for the qml plugin
Matthew Waters [Thu, 5 Apr 2018 06:05:12 +0000 (16:05 +1000)]
meson: add build files for the qml plugin

Tested on linux with X11/wayland and semi-tested on Windows.

Windows crashes on item destruction however this is better than nothing.

Fix up some win32 build issues on the way with mismatched {} and
G_STMT_{START,END}

6 years agoflvmux test: refactor looped test.
Mathieu Duponchelle [Fri, 13 Apr 2018 21:02:26 +0000 (23:02 +0200)]
flvmux test: refactor looped test.

Looping the test 500 times to only execute the test once every
33 times means we inited and deinited gstreamer 467 times
for no reason at all, which was annoying when running the test
with valgrind.

6 years agoflvmux: unref return of aggregator_pad_peek_buffer
Mathieu Duponchelle [Fri, 13 Apr 2018 21:01:20 +0000 (23:01 +0200)]
flvmux: unref return of aggregator_pad_peek_buffer

We ended up leaking every single buffer going through the
muxer, which is far from ideal

6 years agoqtmux: Fix leak
Mathieu Duponchelle [Fri, 13 Apr 2018 20:49:43 +0000 (22:49 +0200)]
qtmux: Fix leak

gst_qt_mux_can_renegotiate () gets called everywhere following
that pattern:

return gst_qt_mux_can_renegotiate (ref(self));

This means the reference must be released both in the success
and failure cases, it was only done in the success case.

6 years agoflvmux: aggregate should not push EOS itself
Mathieu Duponchelle [Fri, 13 Apr 2018 20:44:14 +0000 (22:44 +0200)]
flvmux: aggregate should not push EOS itself

Instead it is expected to return GST_FLOW_EOS, and let the
base class handle that.

6 years agovalgrind supps: ignore gnutls leaking a certificate
Mathieu Duponchelle [Fri, 13 Apr 2018 19:19:02 +0000 (21:19 +0200)]
valgrind supps: ignore gnutls leaking a certificate

After investigating, we do dispose of the TLS connections
appropriately in the souphttpsrc test, which in turn
calls gnutls_deinit, but certificates get leaked anyway.

6 years agosouphttpsrc test: free g_get_current_dir return
Mathieu Duponchelle [Fri, 13 Apr 2018 18:35:24 +0000 (20:35 +0200)]
souphttpsrc test: free g_get_current_dir return

6 years agovalgrind supps: bring getaddrinfo suppression from -base
Mathieu Duponchelle [Fri, 13 Apr 2018 18:31:07 +0000 (20:31 +0200)]
valgrind supps: bring getaddrinfo suppression from -base

6 years agovalgrind supps: ignore more twolame conditional moves
Mathieu Duponchelle [Fri, 13 Apr 2018 18:28:35 +0000 (20:28 +0200)]
valgrind supps: ignore more twolame conditional moves

6 years agortpulpfec tests: Fix leaks
Mathieu Duponchelle [Fri, 13 Apr 2018 15:37:47 +0000 (17:37 +0200)]
rtpulpfec tests: Fix leaks

6 years agomatroskademux: Add comment about Opus clipping
Alicia Boya García [Fri, 16 Feb 2018 22:40:50 +0000 (23:40 +0100)]
matroskademux: Add comment about Opus clipping

https://bugzilla.gnome.org/show_bug.cgi?id=793523

6 years agov4l2object: Disable DMABuf for emulated formats
Whoopie [Wed, 11 Apr 2018 20:28:00 +0000 (20:28 +0000)]
v4l2object: Disable DMABuf for emulated formats

libv4l2 does not prevent exporting DMABuf even when emulated formats are
in use. As a side effect, userspace ends up with buffers of the original
formats which will cause issues.

https://bugzilla.gnome.org/show_bug.cgi?id=795097

6 years agov4l2object: Only use BT2020_12 for BT2020 v4l2 colorspace
Nicolas Dufresne [Mon, 9 Apr 2018 00:42:16 +0000 (20:42 -0400)]
v4l2object: Only use BT2020_12 for BT2020 v4l2 colorspace

BT2020_12 is not represented in V4L2, so drivers providing full colority
for BT2020 will set V4L2_XFER_FUNC_709 transfer function. To fix the
issue, we bump this to BT2020_12 if the resoltion is 4K, but we should
only do that if the colorspace is BT2020 to start with, otherwise it's
not possible to use normal BT709 for 4K 8bit formats.

6 years agov4l2object: Always set the colorimetry in S_FMT
Nicolas Dufresne [Sun, 8 Apr 2018 17:43:56 +0000 (13:43 -0400)]
v4l2object: Always set the colorimetry in S_FMT

So far we were only setting colorimetry for OUTPUT devices (v4l2sink or
m2m sink pad). This prevented selecting through caps negotiation the
colorimetry for CAPTURE devices (v4l2src or m2m src pad). This is rarely
selectable, but trying is harmless.

6 years agomonoscope: Only fixate pixel-aspect-ratio if the field exists
Sebastian Dröge [Wed, 11 Apr 2018 19:41:58 +0000 (21:41 +0200)]
monoscope: Only fixate pixel-aspect-ratio if the field exists

6 years agosplitmuxsink: Don't send fragment-opened-closed message if the reference ctx is NULL
Vivia Nikolaidou [Wed, 11 Apr 2018 14:54:38 +0000 (17:54 +0300)]
splitmuxsink: Don't send fragment-opened-closed message if the reference ctx is NULL

It can happen during teardown that the reference context becomes NULL.
In that case, trying to send the fragment-opened-closed message would
lead to a crash.

6 years agosplitmuxsink: Run gst_iterator_foreach() as long as it returns GST_ITERATOR_RESYNC
Sebastian Dröge [Wed, 11 Apr 2018 07:12:09 +0000 (09:12 +0200)]
splitmuxsink: Run gst_iterator_foreach() as long as it returns GST_ITERATOR_RESYNC

CID 1434160

6 years agoqtdemux: Fix comparision for extra caption atom
Edward Hervey [Wed, 11 Apr 2018 06:51:32 +0000 (08:51 +0200)]
qtdemux: Fix comparision for extra caption atom

We want to make sure we have *enough* data for the potential 2nd
caption atom.

CID #1434161

6 years agoqtdemux: Handle bogus caption samples
Edward Hervey [Wed, 11 Apr 2018 06:42:54 +0000 (08:42 +0200)]
qtdemux: Handle bogus caption samples

Corrupted files could potentially have multiple cdat/cdt2 atoms in
a sample entry, which is unclear how to handle.

Ignore repeated ones.

CID #1434162
CID #1434159

6 years agomonoscope: Fixate pixel-aspect-ratio too and make sure the final caps are completely...
Sebastian Dröge [Tue, 10 Apr 2018 19:15:48 +0000 (21:15 +0200)]
monoscope: Fixate pixel-aspect-ratio too and make sure the final caps are completely fixated

Otherwise e.g. this fails with assertions:
gst-launch-1.0 audiotestsrc ! audioconvert ! monoscope ! videoconvert ! \
    videoscale ! video/x-raw,width=800,height=600 ! ximagesink

6 years agoqtmux: Add comments and doc about prefill mode
Edward Hervey [Thu, 8 Mar 2018 09:10:01 +0000 (10:10 +0100)]
qtmux: Add comments and doc about prefill mode

6 years agoqtmux: Refactor pad re-negotiation code
Edward Hervey [Tue, 6 Feb 2018 13:36:50 +0000 (14:36 +0100)]
qtmux: Refactor pad re-negotiation code

It was similar for all pads

https://bugzilla.gnome.org/show_bug.cgi?id=606643

6 years agoqtdemux: Detect and expose CEA 608/708 Closed Caption tracks
Edward Hervey [Wed, 31 Jan 2018 14:10:03 +0000 (15:10 +0100)]
qtdemux: Detect and expose CEA 608/708 Closed Caption tracks

https://bugzilla.gnome.org/show_bug.cgi?id=606643

6 years agortxsend: fix wrong memory layout assumption
Mathieu Duponchelle [Tue, 3 Apr 2018 23:48:44 +0000 (01:48 +0200)]
rtxsend: fix wrong memory layout assumption

The code responsible for creating retransmitted buffers
assumed the stored buffer had been created with
rtp_buffer_new_allocate when copying the extension data,
which isn't necessarily the case, for example when
the rtp buffers come from a udpsrc.

https://bugzilla.gnome.org/show_bug.cgi?id=794958

6 years agortpbin: new signal "get-storage"
Mathieu Duponchelle [Mon, 2 Apr 2018 21:04:06 +0000 (23:04 +0200)]
rtpbin: new signal "get-storage"

Similar to the get-session and get-internal-session signals,
we expose a get-storage signal in addition to the
get-internal-storage signal to give access to the actual
element for applications that need to set properties on the
element, in particular "size-time"

https://bugzilla.gnome.org/show_bug.cgi?id=794910

6 years agosplitmuxsink: Add new reset-muxer property
Sebastian Dröge [Thu, 29 Mar 2018 16:19:21 +0000 (19:19 +0300)]
splitmuxsink: Add new reset-muxer property

With this the muxer is not set to NULL after each segment but instead
only flush events are sent to it to reset the EOS state.

As a result, the muxer will keep stream state and e.g. mpegtsmux will
keep the packet continuity counter continuous between segments as needed
by hlssink2.

https://bugzilla.gnome.org/show_bug.cgi?id=794816

6 years agotests: remove broken and now pointless v4l2src-test
Tim-Philipp Müller [Mon, 2 Apr 2018 11:48:50 +0000 (12:48 +0100)]
tests: remove broken and now pointless v4l2src-test

This tests APIs that don't exist any longer and also doesn't
work at all, and was last touched in a meaningful way in 2006.

6 years agov4l2: Fix unknown type name ‘off_t’ error
Seungha Yang [Tue, 20 Mar 2018 15:19:37 +0000 (00:19 +0900)]
v4l2: Fix unknown type name ‘off_t’ error

Fix following build error

gstv4l2object.h:197:17: error: unknown type name ‘off_t’
       gint fd,  off_t offset);
                 ^

https://bugzilla.gnome.org/show_bug.cgi?id=794533

6 years agortspsrc: reject segment seeks
Mathieu Duponchelle [Thu, 25 May 2017 01:44:39 +0000 (03:44 +0200)]
rtspsrc: reject segment seeks

https://bugzilla.gnome.org/show_bug.cgi?id=784681

6 years agoqtdemux: Handle variant of vorbis in mp4
Edward Hervey [Tue, 13 Feb 2018 10:50:05 +0000 (11:50 +0100)]
qtdemux: Handle variant of vorbis in mp4

Comes from gpac apparently. The codec_data uses the same packing
mechanism as matroska.

https://bugzilla.gnome.org/show_bug.cgi?id=738244

6 years agoqtdemux: Check sample count is valid in PIFF parsing
Edward Hervey [Thu, 22 Mar 2018 14:20:47 +0000 (15:20 +0100)]
qtdemux: Check sample count is valid in PIFF parsing

The value stored in cenc_aux_sample_count wasn't in sync with the
parsing code that followed which checks whether all entries are
valid and present.

Only write the actual sample count when we know for sure.

CID #1427087

6 years agoqt: Get EGL native display from QPA if platform header is available
Carlos Rafael Giani [Sun, 4 Mar 2018 14:14:08 +0000 (15:14 +0100)]
qt: Get EGL native display from QPA if platform header is available

https://bugzilla.gnome.org/show_bug.cgi?id=792378

6 years agoudpsrc: switch to using a buffer pool
Petr Kulhavy [Tue, 6 Mar 2018 01:14:34 +0000 (02:14 +0100)]
udpsrc: switch to using a buffer pool

This exposes a new property, mtu, which is used to determine the
initial size of buffers from the buffer pool. If received data
exceeds this, the element gracefully handles that in a manner similar
to what we had previously: a large memory gets filled and reallocated
at the next call to "fill".

The default size is set to 1500, which should cover most use cases.

With contributions from Mathieu Duponchelle <mathieu@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=772841

6 years agoudpsrc: optimize GstUdpSrc object for cache performance
Petr Kulhavy [Tue, 15 Nov 2016 08:39:31 +0000 (09:39 +0100)]
udpsrc: optimize GstUdpSrc object for cache performance

Optimize GstUdpSrc for cache performance.

Move the hot properties, which are used by the read function, to the top:
@used_socket, @addr, @cancellable, @skip_first_bytes, @timeout,
@retrieve_sender_address.

Remove the unused property @ttl.

Where needed reorder so that holes are avoided (the 64-bit @timeout)

https://bugzilla.gnome.org/show_bug.cgi?id=772841

6 years agoqtdemux: Fix seeking on streams with frame reordering
Sebastian Dröge [Mon, 5 Mar 2018 10:48:15 +0000 (12:48 +0200)]
qtdemux: Fix seeking on streams with frame reordering

The samples table is sorted by DTS, not PTS. As such we can only get the
correct result when using a binary search on it, if we search for the
DTS.
Also if we only ever search for the frame, where the following frame is
the first one with a PTS after the search position, we will generally
stop searching too early if frames are reordered.

In forwards playback this is not really a problem (after the decoder
reordered the frames, clipping is happening), in reverse playback
it means that we can output one or more frames too few as we stop too
early and the decoder would never receive it.

https://bugzilla.gnome.org/show_bug.cgi?id=782118

6 years agortp: Fix compilation with non-C99 compilers
Sebastian Dröge [Tue, 20 Mar 2018 09:36:32 +0000 (11:36 +0200)]
rtp: Fix compilation with non-C99 compilers

By moving variable declarations out of loop headers.

6 years agoBack to development
Tim-Philipp Müller [Tue, 20 Mar 2018 09:24:19 +0000 (09:24 +0000)]
Back to development

6 years agoRelease 1.14.0
Tim-Philipp Müller [Mon, 19 Mar 2018 20:18:22 +0000 (20:18 +0000)]
Release 1.14.0

6 years agoUpdate docs
Tim-Philipp Müller [Mon, 19 Mar 2018 20:18:22 +0000 (20:18 +0000)]
Update docs

6 years agortpulpfecdec: fix build with older gcc
Tim-Philipp Müller [Mon, 19 Mar 2018 18:39:08 +0000 (18:39 +0000)]
rtpulpfecdec: fix build with older gcc

As on Ubuntu Trusty.

https://bugzilla.gnome.org/show_bug.cgi?id=794493

6 years agosplitmuxsink: Allow splitting at exactly the time/bytes threshold
Sebastian Dröge [Mon, 19 Mar 2018 08:58:28 +0000 (10:58 +0200)]
splitmuxsink: Allow splitting at exactly the time/bytes threshold

76e458a119926424e9dd5acf3210a592a314d713 changed the conditions from
"queued > threshold" to "queued >= threshold", which broke hlssink2 and
resulting in too small fragments being created although keyframes would
be at *exactly* the configured threshold.

https://bugzilla.gnome.org/show_bug.cgi?id=794440

6 years agortpulpfec: fix unconditional use of __attribute__ ((packed))
Tim-Philipp Müller [Sat, 17 Mar 2018 20:29:35 +0000 (20:29 +0000)]
rtpulpfec: fix unconditional use of __attribute__ ((packed))

Fix compilation with MSVC. We still assume that attribute
is supported by all other relevant compilers, which seems
to be the case since we haven't had any complaints about
similar code in rtpsbcpay.

6 years agortpulpfec: don't use non-portable notation for 64-bit int constants
Tim-Philipp Müller [Sat, 17 Mar 2018 13:04:47 +0000 (13:04 +0000)]
rtpulpfec: don't use non-portable notation for 64-bit int constants

Use GLib macro instead, even if it's a bit unwieldy.

6 years agortpulpfecdec: don't use __builtin_ctzll unconditionally
Tim-Philipp Müller [Sat, 17 Mar 2018 12:55:57 +0000 (12:55 +0000)]
rtpulpfecdec: don't use __builtin_ctzll unconditionally

Fixes build with MSVC, and possibly other compilers too.

6 years agoRelease 1.13.91
Tim-Philipp Müller [Tue, 13 Mar 2018 19:16:42 +0000 (19:16 +0000)]
Release 1.13.91

6 years agoUpdate docs
Tim-Philipp Müller [Tue, 13 Mar 2018 19:16:42 +0000 (19:16 +0000)]
Update docs

6 years agodocs: rtpbin: add some Since markers for new properties
Tim-Philipp Müller [Mon, 12 Mar 2018 13:21:08 +0000 (13:21 +0000)]
docs: rtpbin: add some Since markers for new properties

6 years agomeson: Add deviceprovider changes to directsoundsink
Nirbheek Chauhan [Sat, 10 Mar 2018 13:27:38 +0000 (18:57 +0530)]
meson: Add deviceprovider changes to directsoundsink

These were missed when they were added to Makefile.am

6 years agoconfigure.ac: enable largefile support if possible
Michael Tretter [Thu, 8 Mar 2018 09:12:16 +0000 (10:12 +0100)]
configure.ac: enable largefile support if possible

https://bugzilla.gnome.org/show_bug.cgi?id=793103

6 years agov4l2: Fix support for 32bit mmap
Nicolas Dufresne [Wed, 7 Mar 2018 19:16:02 +0000 (14:16 -0500)]
v4l2: Fix support for 32bit mmap

https://bugzilla.gnome.org/show_bug.cgi?id=793103

6 years agoRelease 1.13.90
Tim-Philipp Müller [Sat, 3 Mar 2018 22:19:36 +0000 (22:19 +0000)]
Release 1.13.90

6 years agoUpdate docs
Tim-Philipp Müller [Sat, 3 Mar 2018 22:19:36 +0000 (22:19 +0000)]
Update docs

6 years agoflvmux: Duration & unit tests
Olivier Crête [Thu, 1 Mar 2018 23:24:33 +0000 (18:24 -0500)]
flvmux: Duration & unit tests

The muxed buffers will not carry the duration of the
incoming buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=793457

6 years agoflvmux: Set PTS based on running time
Olivier Crête [Thu, 1 Mar 2018 22:15:02 +0000 (17:15 -0500)]
flvmux: Set PTS based on running time

https://bugzilla.gnome.org/show_bug.cgi?id=793457

6 years agortspsrc: Ignore sendonly/recvonly attributes unless a backchannel is configured
Sebastian Dröge [Thu, 1 Mar 2018 16:13:20 +0000 (18:13 +0200)]
rtspsrc: Ignore sendonly/recvonly attributes unless a backchannel is configured

This works around a bug in various ONVIF cameras that implement the
attributes the wrong way around. They still won't work with a
backchannel but at least normal playback will work for the time being.
It restores pre-1.14 behaviour where we would fail to preroll on any SDP
that lists a recvonly stream. For 1.16 a better solution should be
found.

The problem here is that the ONVIF spec has the meaning of the two
attributes the wrong way around in the examples, compared to RFC4566.

https://bugzilla.gnome.org/show_bug.cgi?id=793715

6 years agomeson: enable more warnings
Mathieu Duponchelle [Thu, 1 Mar 2018 17:16:24 +0000 (18:16 +0100)]
meson: enable more warnings

https://bugzilla.gnome.org/show_bug.cgi?id=793961

6 years agoPort to latest GstAggregator segment API
Mathieu Duponchelle [Wed, 28 Feb 2018 23:34:20 +0000 (00:34 +0100)]
Port to latest GstAggregator segment API

The aggregator segment is now exposed on the src pad

https://bugzilla.gnome.org/show_bug.cgi?id=793945

6 years agodirectsoundsink: Downgrade rank to match directsoundsrc in -bad
Nirbheek Chauhan [Thu, 1 Mar 2018 10:04:13 +0000 (15:34 +0530)]
directsoundsink: Downgrade rank to match directsoundsrc in -bad

As stated in commit c2956036b8da4b8f22a63a4f5a254be03e870aa6 in -bad,
the wasapi elements are now better than directsound, and should be
preferred if they are available.

For a later release, once the elements have more testing, we can
consider moving them to -good.

6 years agomatroskamux: Only mark new clusters as keyframe if they start on a keyframe or we...
Sebastian Dröge [Wed, 28 Feb 2018 17:21:53 +0000 (19:21 +0200)]
matroskamux: Only mark new clusters as keyframe if they start on a keyframe or we're muxing only audio

Based on a patch by Nicola Murino <nicola.murino@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=792775

6 years agomatroskamux: Clip maximum cluster duration to the maximum possible value
Sebastian Dröge [Wed, 28 Feb 2018 17:19:10 +0000 (19:19 +0200)]
matroskamux: Clip maximum cluster duration to the maximum possible value

Only up to timescale * G_MAXINT16 is possible as cluster duration, which
is already higher than our default value. Using higher values would
cause overflows and broken files.

Based on the investigation by Nicola Murino <nicola.murino@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=792775

6 years agomatroska-mux: Refuse caps changes after starting to write headers
Sebastian Dröge [Mon, 26 Feb 2018 11:03:59 +0000 (13:03 +0200)]
matroska-mux: Refuse caps changes after starting to write headers

Matroska does not support changing the stream type and stream properties
after the headers were started to be written, and for example H264
codec_data changes can't be supported.

https://bugzilla.gnome.org/show_bug.cgi?id=782949

6 years agotests: fix redenc tests
Mathieu Duponchelle [Tue, 27 Feb 2018 15:33:53 +0000 (16:33 +0100)]
tests: fix redenc tests

The default of the allow-no-red-blocks property was changed in a
previous commit, thus breaking the test assumptions

6 years agortp: fix another debug log printf format warning on 32-bit systems
Tim-Philipp Müller [Tue, 27 Feb 2018 13:13:49 +0000 (13:13 +0000)]
rtp: fix another debug log printf format warning on 32-bit systems

rtpulpfeccommon.c:432:27: error: format ‘%lx’ expects argument of type
‘long unsigned int’, but argument 10 has type ‘guint64 {aka long long unsigned int}’

https://bugzilla.gnome.org/show_bug.cgi?id=793732

6 years agortpptdemux: provide example usage for ignored-payload-types
Mathieu Duponchelle [Mon, 26 Feb 2018 16:02:52 +0000 (17:02 +0100)]
rtpptdemux: provide example usage for ignored-payload-types

6 years agortpbin, rtpptdemux: Add missing Since markers
Mathieu Duponchelle [Mon, 26 Feb 2018 15:53:08 +0000 (16:53 +0100)]
rtpbin, rtpptdemux: Add missing Since markers

6 years agoFEC elements: document, remove irrelevant properties
Mathieu Duponchelle [Mon, 26 Feb 2018 14:57:28 +0000 (15:57 +0100)]
FEC elements: document, remove irrelevant properties

The ulpfecenc "mux-seq" and "ssrc" properties were initially added
because the element did more than implement ULPFEC. As it was
decided that FLEXFEC would be implemented in a separate element,
both properties are now unneeded and confusing.

Change the default for the ulpfecenc multi-packet property,
as it is expected that most users of this element will be protecting video
streams.

Change the default property for the rtpredenc allow-no-red-blocks
property, as it should also be its default mode of operation.

https://bugzilla.gnome.org/show_bug.cgi?id=793843

6 years agortpgstdepay: do not warn when caps were not yet received
Mathieu Duponchelle [Sat, 24 Feb 2018 19:05:05 +0000 (20:05 +0100)]
rtpgstdepay: do not warn when caps were not yet received

It is expected that when connecting to a stream that has
already started, the caps will only arrive at the interval
specified on rtpgstpay, we shouldn't be warning as this is
a normal mode of operation.

https://bugzilla.gnome.org/show_bug.cgi?id=793798

6 years agortpulpfec: fix debug log printf format warning on 32-bit platforms
Arnaud Bonatti [Thu, 22 Feb 2018 20:53:40 +0000 (21:53 +0100)]
rtpulpfec: fix debug log printf format warning on 32-bit platforms

https://bugzilla.gnome.org/show_bug.cgi?id=793732

6 years agodocs: hook up new RTP FEC elements
Tim-Philipp Müller [Thu, 22 Feb 2018 14:58:12 +0000 (14:58 +0000)]
docs: hook up new RTP FEC elements

https://bugzilla.gnome.org/show_bug.cgi?id=792696

6 years agodocs: update for git master
Tim-Philipp Müller [Thu, 22 Feb 2018 14:57:58 +0000 (14:57 +0000)]
docs: update for git master

6 years ago.gitignore more test binaries
Tim-Philipp Müller [Thu, 22 Feb 2018 10:54:02 +0000 (10:54 +0000)]
.gitignore more test binaries

6 years agotests: also dist new fec test header file
Tim-Philipp Müller [Wed, 21 Feb 2018 20:46:10 +0000 (20:46 +0000)]
tests: also dist new fec test header file

6 years agortp: dist new header files
Tim-Philipp Müller [Wed, 21 Feb 2018 20:44:26 +0000 (20:44 +0000)]
rtp: dist new header files

Fixes make distcheck

6 years agortp: fec: fix build with gstreamer debug log system disabled
Tim-Philipp Müller [Wed, 21 Feb 2018 18:52:44 +0000 (18:52 +0000)]
rtp: fec: fix build with gstreamer debug log system disabled

6 years agortpptdemux: do no assume sink caps are non NULL
Mathieu Duponchelle [Wed, 21 Feb 2018 18:59:04 +0000 (19:59 +0100)]
rtpptdemux: do no assume sink caps are non NULL

6 years agocheck: Fix ulpfec test build
Mathieu Duponchelle [Wed, 21 Feb 2018 17:51:17 +0000 (18:51 +0100)]
check: Fix ulpfec test build

The test name was updated but not the build definition

6 years agortpbin: Expose FEC support signals
Mathieu Duponchelle [Tue, 28 Nov 2017 05:02:05 +0000 (06:02 +0100)]
rtpbin: Expose FEC support signals

Also slightly refactor complete_session_src

https://bugzilla.gnome.org/show_bug.cgi?id=792696

6 years agortp: Implement ULPFEC (RFC 5109)
Mikhail Fludkov [Fri, 17 Nov 2017 02:52:03 +0000 (03:52 +0100)]
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

6 years agortpptdemux: Add ignored-payload-types property
Mathieu Duponchelle [Tue, 28 Nov 2017 00:11:54 +0000 (01:11 +0100)]
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

6 years agortpptdemux: Add ssrc to output caps
Mathieu Duponchelle [Mon, 20 Nov 2017 17:08:38 +0000 (18:08 +0100)]
rtpptdemux: Add ssrc to output caps

It may be useful downstream

https://bugzilla.gnome.org/show_bug.cgi?id=792696

6 years agogtk: fix compiler warning with recent glib
Arnaud Bonatti [Wed, 21 Feb 2018 10:12:10 +0000 (11:12 +0100)]
gtk: fix compiler warning with recent glib

https://bugzilla.gnome.org/show_bug.cgi?id=793688

6 years agoqt: don't use libEGL functions when we don't link to libEGL
Matthew Waters [Wed, 21 Feb 2018 00:35:33 +0000 (11:35 +1100)]
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

6 years agomonoscope: Forward the SEGMENT event from the chain function
Sebastian Dröge [Sun, 18 Feb 2018 20:38:13 +0000 (21:38 +0100)]
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.

6 years agortspsrc: Fix missing read property of backchannel
James Stevenson [Fri, 16 Feb 2018 12:25:29 +0000 (12:25 +0000)]
rtspsrc: Fix missing read property of backchannel

Add missing read property code for backchannel

https://bugzilla.gnome.org/show_bug.cgi?id=793507