Mathieu Duponchelle [Tue, 8 Aug 2017 11:11:58 +0000 (13:11 +0200)]
rtpstats: fix unsigned integer comparisons.
Callers of the API (rtpsource, rtpjitterbuffer) pass clock_rate
as a signed integer, and the comparison "<= 0" is used against
it, leading me to think the intention was to have the field
be typed as gint32, not guint32.
This led to situations where we could call scale_int with
a MAX_UINT32 (-1) guint32 as the denom, thus raising an
assertion.
https://bugzilla.gnome.org/show_bug.cgi?id=785991
Tim-Philipp Müller [Thu, 10 Aug 2017 13:44:35 +0000 (14:44 +0100)]
taglib: use -fvisibility=hidden with this C++ plugin in meson too
Also pass args as cpp_args.
Michael Olbrich [Wed, 22 Mar 2017 14:25:17 +0000 (15:25 +0100)]
qtdemux: allow larger files
For really long files such as contiguous recordings of a whole day, the
50MB limit is not sufficient.
https://bugzilla.gnome.org/show_bug.cgi?id=781458
Sebastian Dröge [Thu, 10 Aug 2017 13:08:06 +0000 (16:08 +0300)]
qtdemux: Fix offsets for reading lpcm specific fields
We were reading at the completely wrong positions, 16 bytes later in the
data.
Also add support for high-aligned samples.
Tim-Philipp Müller [Thu, 10 Aug 2017 13:01:09 +0000 (14:01 +0100)]
meson: don't export symbols by default
Only plugin entry points should be exported.
Currently plugins might export more symbols with
the meson build, as we don't have the exports
regexp there that we pass to libtool.
Deepak Srivastava [Thu, 10 Aug 2017 09:44:31 +0000 (15:14 +0530)]
wavparse: Fix memory leak in wavparse element
Fixing of leaking the text field of the GstWavParseNote and
GstWavParseLabl structure.
https://bugzilla.gnome.org/show_bug.cgi?id=785429
Cyril Lashkevich [Tue, 8 Aug 2017 10:37:12 +0000 (10:37 +0000)]
v4l2bufferpool: Don't mark jpeg frames as deltas
JPEG formats are encoded, but they never have keyframe flag. But in
fact they are keyframes
https://bugzilla.gnome.org/show_bug.cgi?id=785990
Philippe Normand [Sun, 6 Aug 2017 12:06:45 +0000 (13:06 +0100)]
osxvideo: rename library according to the plugin name
https://bugzilla.gnome.org/show_bug.cgi?id=785880
Nicolas Dufresne [Wed, 2 Aug 2017 21:16:21 +0000 (17:16 -0400)]
v4l2bufferpool: Don't drop buffer ref on qbuf
This function no longer take ownership of the buffer.
CID 1414800
Nicolas Dufresne [Wed, 2 Aug 2017 21:13:55 +0000 (17:13 -0400)]
v4l2: Enable VP9 format
This was missing, preventing the encoder and decoder to work
properly. This also adds support for camera that would produce
VP9 (if that exists).
Nicolas Dufresne [Wed, 2 Aug 2017 16:28:38 +0000 (12:28 -0400)]
v4l2: Remove spurious CATEGORY_EXTERN
These have been copy pasted all over the place and are not used anymore.
All object have it's own category now. This fixes build warning since
the VP9 decoder had vp8 category declared.
Nicolas Dufresne [Wed, 2 Aug 2017 14:39:46 +0000 (10:39 -0400)]
v4l2videoenc: Move the profile/level negotation in the base class
This removes duplicated code across different codec.
Nicolas Dufresne [Wed, 2 Aug 2017 13:36:08 +0000 (09:36 -0400)]
v4l2videoenc: Turn gst_v4l2_is_video_enc into a helper
This reduces the amount of code needed in each codec class.
Nicolas Dufresne [Tue, 1 Aug 2017 20:01:11 +0000 (16:01 -0400)]
v4l2: Add VP8/9 encoder support
Nicolas Dufresne [Mon, 31 Jul 2017 15:56:05 +0000 (11:56 -0400)]
v4l2object: Use mmap64 to match libv4l2 signature
https://bugzilla.gnome.org/show_bug.cgi?id=785628
Nicolas Dufresne [Tue, 1 Aug 2017 13:22:43 +0000 (09:22 -0400)]
v4l2bufferpool: Copy flags and timestamp when importing
Whenever we import from downstream pool (userptr or dmabuf-import), we
should copy over the flags and timestamp, otherwise downstream will not
get proper synchronization or will not be able to notice frames that has
corruption in it.
https://bugzilla.gnome.org/show_bug.cgi?id=785680
Nicolas Dufresne [Mon, 31 Jul 2017 20:09:30 +0000 (16:09 -0400)]
v4l2: Add H263 Encoder support
Nicolas Dufresne [Thu, 27 Jul 2017 17:51:25 +0000 (13:51 -0400)]
v4l2: Add missing no-inst header
Nicolas Dufresne [Wed, 26 Jul 2017 19:18:01 +0000 (15:18 -0400)]
v4l2: Add interface for MPEG4 encoding
Nicolas Dufresne [Thu, 27 Jul 2017 14:51:07 +0000 (10:51 -0400)]
v4l2: Ignore register issue and keep probing
Don't stop registering the other dynamic plugins if one registration
fails.
Sebastian Dröge [Thu, 27 Jul 2017 11:21:34 +0000 (14:21 +0300)]
mulawdec: Unmap input buffer if failing to map the output buffer
Satya Prakash Gupta [Thu, 27 Jul 2017 03:52:25 +0000 (09:22 +0530)]
alawdec: Fix Memory leak in error case
https://bugzilla.gnome.org/show_bug.cgi?id=785435
Nicolas Dufresne [Thu, 27 Jul 2017 00:36:15 +0000 (20:36 -0400)]
v4l2: Update external files with latest
This is copied from the linux kernel with only some include changes so
it works outside the kernel headers.
Sebastian Dröge [Tue, 18 Jul 2017 07:41:40 +0000 (10:41 +0300)]
matroskamux: For audio tracks, take the default duration from the first buffer
... if we don't have any better idea from the caps. This allows writing
SimpleBlocks for a majority of audio streams where the duration of
frames is usually fixed. And as a side effect, allows VLC to play
streams with Opus as it only works with SimpleBlocks currently:
https://trac.videolan.org/vlc/ticket/18545
https://bugzilla.gnome.org/show_bug.cgi?id=784969
Nicolas Dufresne [Mon, 24 Jul 2017 20:45:40 +0000 (16:45 -0400)]
v4l2: Fix compilation without libv4l2
Nicolas Dufresne [Mon, 24 Jul 2017 20:13:56 +0000 (16:13 -0400)]
v4l2: Keep ref to element in allocator/pool
Removes the FIXME/Question in the buffer pool and add a ref to the
element in the GstAllocator too. This ref is strictly required to keep
the GstV4l2Object structure around.
Nicolas Dufresne [Mon, 24 Jul 2017 18:27:05 +0000 (14:27 -0400)]
v4l2object: Removed unused members
Nicolas Dufresne [Mon, 24 Jul 2017 18:19:02 +0000 (14:19 -0400)]
v4l2: Add run-time environment to enable libv4l2
The library has started preventing a lot of interesting use cases,
like CREATE_BUFS, DMABuf, usage of TRY_FMT. As the libv4l2 is totally
inactive and not maintained, we decided to disable it. As a convenience
we added a run-time environment that let you enable it for testing.
GST_V4L2_USE_LIBV4L2=1
This of course only works if you have enabled libv4l2 at build time.
Nicola Murino [Mon, 17 Jul 2017 08:04:02 +0000 (10:04 +0200)]
jpegenc: declare quality property changeable in PLAYING state
https://bugzilla.gnome.org/show_bug.cgi?id=785012
Nicolas Dufresne [Sat, 22 Jul 2017 03:34:59 +0000 (23:34 -0400)]
v4l2object: Fix colorimetry validation
While not documented, gst_video_colorimetry_matches() only accepts well
known names. Looking at the code and unit test, this seems to be on
purpose, so fixing by parsing the string and compating the colorimetry
structures.
Nicolas Dufresne [Fri, 21 Jul 2017 19:40:24 +0000 (15:40 -0400)]
v4l2encoder: Fix negotiation error handling
The subclass negotiated function will call set_format, if that fails the
pool will not be created. We ended up with an assertion.
GStreamer-CRITICAL **: gst_buffer_pool_set_active: assertion 'GST_IS_BUFFER_POOL (pool)' failed
Nicolas Dufresne [Thu, 20 Jul 2017 02:25:49 +0000 (22:25 -0400)]
v4l2src: Speedup camera startup by skipping try_fmt
In this commit, we enabled skip_try_fmt_probes quirk in order to speed
up the start which is known to be disastrously slow with certain USB
cameras.
This has the side effect that we needed to rewrite the entire
negotiation process in a way that we iterate over the possible caps
until we find one that works.
The new negotiation method consist of extracting a preferred structure
from the peer caps and using this to fixate and sort the caps. To
reflect the old behaviour, we sort all resolution strictly bigger
to the preferred one with the closes one first. The rest is appended,
keeping the same order. We then normalize the caps in case there was
some list of interlace-mode or colorimetry left. We finally iterate
over all fixed caps and try it. 99% of the time, the first or the
second one should work, whit the result of a single S_FMT being issues.
From there, it will be relatively easy to introduce new negotiation
algorithm. The current algorithm is made for optimal image quality
with a scaling sink that sets it's window resolution as preference.
This the case if for:
v4l2src ! videoconvert ! videoscale ! ximagesink
Other strategy would be needed to optimize for non-scaling sink like
ximagesink or kmssink when the driver does not scale.
https://bugzilla.gnome.org/show_bug.cgi?id=785156
Nicolas Dufresne [Thu, 20 Jul 2017 02:09:38 +0000 (22:09 -0400)]
v4l2object: Introduce quirk to skip slow probes
skip_try_fmt_probes quirk is set, V4L2 object will not probe for
interlace-mode and colorimetry to avoid relying on try_fmt. This quirk
will be used by v4l2src to avoid desastrous startup time with slow
USB webcams.
When this quirk is enabled, caller will have to iterate over the
negotiated caps as it may contains unsupported formats. If the peer
didn't choose a specific interlace-mode, or colorimetry, the value
chosen by the driver is set into the caps. For this reason, when this
mode is enabled, gst_v4l2_object_set_format() will require writable
caps.
https://bugzilla.gnome.org/show_bug.cgi?id=785156
Nicolas Dufresne [Thu, 20 Jul 2017 02:07:32 +0000 (22:07 -0400)]
v4l2object: always set the GstV4l2Error on error
Some of the error case were conditional to using try_fmt or not.
This is slightly unexpected, always set the error so the caller
can decide.
https://bugzilla.gnome.org/show_bug.cgi?id=785156
Nicolas Dufresne [Thu, 20 Jul 2017 02:05:49 +0000 (22:05 -0400)]
v4l2object: Minor style fix and useful trace
https://bugzilla.gnome.org/show_bug.cgi?id=785156
Nicolas Dufresne [Thu, 20 Jul 2017 02:03:29 +0000 (22:03 -0400)]
v4l2object: Fix try/s_fmt errors
According to the spec,TRY_FMT cannot return EBUSY, though it can
return EINVAL if it was not possible to update the format to
something supported.
https://bugzilla.gnome.org/show_bug.cgi?id=785156
Nicolas Dufresne [Thu, 20 Jul 2017 02:01:26 +0000 (22:01 -0400)]
v4l2object: Validate colorimetry in S/TRY_FMT
This is in preparation for removing slow TRY_FMT probes for
colorimetry. As we won't have tried that colorimetry we cannot
assume the driver will accept it.
https://bugzilla.gnome.org/show_bug.cgi?id=785156
Nicolas Dufresne [Thu, 20 Jul 2017 01:56:14 +0000 (21:56 -0400)]
v4l2object: Validate field in S/TRY_FMT
This is in preparation from removing the slow TRY_FMT probes for
interlacing. As we won't have tried that interlace-mode already
we need to validate that the driver isn't refusing it.
https://bugzilla.gnome.org/show_bug.cgi?id=785156
Tim-Philipp Müller [Fri, 21 Jul 2017 18:01:19 +0000 (19:01 +0100)]
tests: icles: fix build
Can't do additions/subtractions on void* pointers.
Thibault Saunier [Fri, 21 Jul 2017 15:04:17 +0000 (11:04 -0400)]
tests:icles: Fix previous patch by implementing our memmem
Using the string version of it will fail on '\0'.
Thibault Saunier [Fri, 21 Jul 2017 14:17:00 +0000 (10:17 -0400)]
tests:icles: Do not use memmem GNU extension function
As it is not avalaible on windows/msvc and we can use pure GLib for that
Nicolas Dufresne [Thu, 20 Jul 2017 21:21:05 +0000 (17:21 -0400)]
directsound: Fix .c file name in Makefile
This was broken by accident, bad search and replace.
Nicolas Dufresne [Thu, 20 Jul 2017 15:02:10 +0000 (11:02 -0400)]
waveform: Fix DLL name to match plugin name
https://bugzilla.gnome.org/show_bug.cgi?id=785168
Nicolas Dufresne [Thu, 20 Jul 2017 14:38:32 +0000 (10:38 -0400)]
directsound: Fix DLL name to match plugin name
https://bugzilla.gnome.org/show_bug.cgi?id=785168
Mark Nauwelaerts [Wed, 19 Jul 2017 10:38:03 +0000 (12:38 +0200)]
qtdemux: preferably send open-ended segment rather than repeated segment events
Mark Nauwelaerts [Wed, 19 Jul 2017 09:27:32 +0000 (11:27 +0200)]
qtdemux: fix seeking in fragmented file without mfra random access info
... which no longer worked due to unconditionally clearing sample info and
ending up in inconsistent state. Let's tread a bit more carefully and also
allow for the old seek handling that resorts to scanning if no mfra info
is available.
Nicolas Dechesne [Wed, 19 Jul 2017 08:42:46 +0000 (10:42 +0200)]
v4l2videodec: add some useful debug messages
Add a couple of useful debug traces , they happened to be useful to
debug/investigate a 4K video playback issue with v4l2, so let's make these
changes more permanent.
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
https://bugzilla.gnome.org/show_bug.cgi?id=785109
Nicolas Dufresne [Tue, 18 Jul 2017 15:28:37 +0000 (11:28 -0400)]
v4l2: Fix 4K colorimetry
Since 1.6, the transfer function for BT2020 has been changed from BT709
to BT2020_12. It's the same function, but with more precision. As a side
effect, the V4L2 colorpsace didn't match GStreamer colorspace. When
GStreamer ended up making a guess, it would not match anything supported
by V4L2 anymore. This this by using BT2020_12 for BT2020 colorspace and
BT2020 transfer function in replacement of BT709 whenever a 4K
resolution is detected.
Nicolas Dufresne [Fri, 14 Jul 2017 20:21:38 +0000 (16:21 -0400)]
v4l2object: Only check CROPCAP for par once
The pixel aspect ratio is documented to not change unless the TV
Standard is changed. So this mean that this will be uniform across all
possible format and resolutions.
https://bugzilla.gnome.org/show_bug.cgi?id=784674
Sebastian Dröge [Tue, 18 Jul 2017 07:01:13 +0000 (10:01 +0300)]
Revert "matroskamux: adjust unit test to modified behaviour"
This reverts commit
8fe478c8a7746cd2c63f20d23e97e26e1a0e6192.
We're back to previous behaviour
Nicola Murino [Mon, 17 Jul 2017 22:26:11 +0000 (00:26 +0200)]
matroskamux: add properties to control cluster duration
https://bugzilla.gnome.org/show_bug.cgi?id=784971
Nicolas Dufresne [Tue, 18 Jul 2017 00:47:26 +0000 (20:47 -0400)]
v4l2: UVC driver is named uvcvideo these days
The quirk to avoid probing interlacing didn't work anymore as the driver
is now name uvcvideo. This should slightly speed up camera startup.
Nicolas Dufresne [Thu, 13 Jul 2017 01:02:39 +0000 (21:02 -0400)]
v4l2object: Remove unused defines
Nicolas Dufresne [Thu, 13 Jul 2017 00:53:51 +0000 (20:53 -0400)]
v4l2: Make gst_v4l2_get_capabilities static
It's not used outside of v4l2_calls.c
Nicolas Dufresne [Thu, 13 Jul 2017 00:49:47 +0000 (20:49 -0400)]
v4l2: Merge v4l2_calls.h into gstv4l2object.h
First step of a larger cleanup, all function from v4l2_calls are in fact
methods on GstV4l2Object. This split makes the code really confusing.
This also remove no longer unused macros.
Tim-Philipp Müller [Sat, 15 Jul 2017 11:48:19 +0000 (12:48 +0100)]
meson: po: use glib preset and read language list from LINGUAS
Supported since meson 0.37, so we can use it now.
Nicolas Dufresne [Fri, 14 Jul 2017 16:12:56 +0000 (12:12 -0400)]
v4l2object: Trace unknown fourcc as text
This makes it easier to find out what is not supported.
Nicolas Dufresne [Fri, 14 Jul 2017 15:54:57 +0000 (11:54 -0400)]
v4l2: Don't probe for unneeded format
For v4l2videodec/enc, we generate elements per formats, and in
this case we can speed up the start up by only probing the format
we care about.
Nicolas Dufresne [Thu, 13 Jul 2017 16:32:00 +0000 (12:32 -0400)]
v4l2videodec: Implement stable element names
Before that, each m2m node would be wrapped as a single, multi-format
decoder element. As a unique name was needed, we where using the device
name, which changes between re-boots. This led to unpredictable element
names. In this patch, we generate an element per codec, using
v4l2<codec>dec name. If there is multiple decoder for the same format,
the following elements will be named v4l2<node><codec>dec.
https://bugzilla.gnome.org/show_bug.cgi?id=784908
Sebastian Dröge [Thu, 13 Jul 2017 11:50:44 +0000 (14:50 +0300)]
souphttpsrc: Post an element message with the HTTP headers on the bus too
Instead of just sending a sticky event with them downstream. This allows
getting the HTTP headers easily in the application, and especially also
on errors.
Sebastian Dröge [Thu, 13 Jul 2017 09:47:02 +0000 (12:47 +0300)]
qtdemux: Fix parsing of RLE depth
Regression introduced by
86b427dc70562f891a551ffc9f96cefe1cafcddd
https://bugzilla.gnome.org/show_bug.cgi?id=784812
Philippe Renon [Mon, 10 Jul 2017 16:57:11 +0000 (18:57 +0200)]
shout2: use gint and guint in place of int and uint
this fixes a compilation error with gcc 7.1.0 on mys2 where uint is not defined
https://bugzilla.gnome.org/show_bug.cgi?id=784758
Yasushi SHOJI [Fri, 7 Jul 2017 12:15:57 +0000 (21:15 +0900)]
rtpgsmpay: fix accidental garbage data before actual payload
Do not allocate payload size outbuf if appending payload buffer.
The commit
137672ff1824948bda4b1b1967de8c24a0055b67 attached payload
to the output buffer but forgot to remove payload allocation. That
effectively doubled payload size and add zero'ed or random bytes.
Makes the following pipeline work again:
gst-launch-1.0 -v audiotestsrc wave=2 ! gsmenc ! rtpgsmpay ! rtpgsmdepay ! gsmdec ! autoaudiosink
https://bugzilla.gnome.org/show_bug.cgi?id=784616
Mark Nauwelaerts [Sat, 1 Jul 2017 16:57:47 +0000 (18:57 +0200)]
matroskademux: segment seek position is expressed in buffer time
... so it need not be corrected again for stream start
Mark Nauwelaerts [Sun, 9 Jul 2017 08:54:27 +0000 (10:54 +0200)]
avidemux: provide average bitrate tag
Reynaldo H. Verdejo Pinochet [Sat, 8 Jul 2017 06:49:44 +0000 (23:49 -0700)]
examples: v4l2: fix wrong initializations brought by
4e8ad583022671c5
https://bugzilla.gnome.org/show_bug.cgi?id=682770
Nicolas Dufresne [Fri, 27 Feb 2015 16:03:42 +0000 (13:03 -0300)]
examples: v4l2: add example for v4l2src renegotiation
Based on work from Thiago Santos <thiagoss@osg.samsung.com>
https://bugzilla.gnome.org/show_bug.cgi?id=682770
Tim-Philipp Müller [Fri, 7 Jul 2017 10:58:10 +0000 (11:58 +0100)]
meson: find python3 via python3 module
https://bugzilla.gnome.org/show_bug.cgi?id=783198
Tim-Philipp Müller [Wed, 5 Jul 2017 13:44:41 +0000 (14:44 +0100)]
tests: rtpbin: fix build in uninstalled setup
Olivier Crête [Tue, 4 Jul 2017 21:42:25 +0000 (17:42 -0400)]
rtpsession: Send EOS if all internal sources sent bye
The ones which are not internal should not matter, and we should
wait for all sources to have sent their BYEs.
And add unit test
https://bugzilla.gnome.org/show_bug.cgi?id=773218
Olivier Crête [Tue, 4 Jul 2017 16:24:41 +0000 (12:24 -0400)]
rtpsession: Only send EOS if all sources have been marked bye
Now that multiple sender RTPSource can share the same RTPSession, we
must not send an EOS unless they're all marked bye.
Thibault Saunier [Tue, 4 Jul 2017 15:49:29 +0000 (11:49 -0400)]
caca: Do not include, unused, sys/time.h
Which moreover makes building on windows (mingw/msvc) fail:
https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5
Nicolas Dufresne [Mon, 3 Jul 2017 15:47:13 +0000 (11:47 -0400)]
rtprtxreceive: Add memory and boudary checks
This element was not checking if mapping the RTP buffer and the payload
worked, and was not checking if the RTX payload was large enough.
https://bugzilla.gnome.org/show_bug.cgi?id=784484
Seungha Yang [Tue, 4 Jul 2017 05:58:00 +0000 (14:58 +0900)]
souphttpsrc: Unset limit on the number of connection if soup session sharing is used
Soup allows only up to two connections per host in a session,
if we use default value. When session sharing is used, however,
more connections might be required in a session.
(e.g., multi-audio adaptive streaming case)
https://bugzilla.gnome.org/show_bug.cgi?id=784495
Tim-Philipp Müller [Mon, 3 Jul 2017 19:27:29 +0000 (20:27 +0100)]
imagefreeze: fix use-after-free on seek event
Get seqnum before unreffing the seek event.
https://bugzilla.gnome.org/show_bug.cgi?id=784486
Mark Nauwelaerts [Sat, 1 Jul 2017 16:59:14 +0000 (18:59 +0200)]
qtmux: robustify time tracking for sparse subtitle stream
Mark Nauwelaerts [Sat, 1 Jul 2017 16:59:07 +0000 (18:59 +0200)]
qtmux: correctly track chunk size of subtitle stream
... thereby ensuring correct chunk offset tracking for all streams.
Julien Isorce [Tue, 27 Jun 2017 14:59:18 +0000 (15:59 +0100)]
rtpstats: fix assertion 'denom > 0' failed
gst_util_uint64_scale_int takes a gint as denom parameter
whereas ctx->clock_rate is a guint32.
It happens when gst_rtp_packet_rate_ctx_reset set clock_rate
to -1.
So just define clock_rate as gint like it is done in rtpsource.h
https://bugzilla.gnome.org/show_bug.cgi?id=784250
Matt Fischer [Wed, 28 Jun 2017 19:05:27 +0000 (14:05 -0500)]
v4l2: Block recursive calls to resurect_buffer
When resurrecting a buffer, the subsequent free call can result
in the group-released handler being called again, which causes
a recursive loop. This patch blocks the signal handler during
the time that it executes, ensuring that the loop will not occur.
https://bugzilla.gnome.org/show_bug.cgi?id=759292
Jan Alexander Steffens (heftig) [Tue, 20 Jun 2017 14:39:36 +0000 (16:39 +0200)]
tests: souphttpsrc: Avoid deprecated ssl-ca-file property
SoupSession's ssl-ca-file property is deprecated. Use the recommended
tls-database property.
This is a bit more complex as it requires creating a GTlsFileDatabase
object for an absolute (!) path to the CA certificates file.
https://bugzilla.gnome.org/show_bug.cgi?id=784005
Jan Alexander Steffens (heftig) [Tue, 20 Jun 2017 14:37:55 +0000 (16:37 +0200)]
tests: souphttpsrc: Avoid deprecated server ssl properties
The ssl-cert-file and ssl-key-file properties are deprecated. Use the
soup_server_set_ssl_cert_file function to load the files.
https://bugzilla.gnome.org/show_bug.cgi?id=784005
Jan Alexander Steffens (heftig) [Tue, 20 Jun 2017 14:34:41 +0000 (16:34 +0200)]
tests: souphttpsrc: Make ssl_cert/key_file static
Just a bit of cleanup.
https://bugzilla.gnome.org/show_bug.cgi?id=784005
Jan Alexander Steffens (heftig) [Tue, 20 Jun 2017 14:28:35 +0000 (16:28 +0200)]
tests: souphttpsrc: Update test-cert.pem
Recent GnuTLS disregards the Common Name and only looks at the Subject
Alternative Name extension. Since our test-cert has no SAN extension,
validation fails.
Generate a new certificate with SAN. In addition to 127.0.0.1, for good
measure make it valid for localhost and ::1, too.
https://bugzilla.gnome.org/show_bug.cgi?id=784005
Nicolas Dufresne [Thu, 29 Jun 2017 19:22:39 +0000 (15:22 -0400)]
souphttpsrc: Allow any type of proxy
Currently we only allowed HTTP proxy. Don't filter for the scheme, just check
if it looks like an URI. Soup will warn if the URI is invalid or if
proxy protocol is not supported. This enables using SOCKS 4/5 which is
directly implemented into GIO.
https://bugzilla.gnome.org/show_bug.cgi?id=783012
Guillaume Desmottes [Wed, 24 May 2017 13:07:51 +0000 (15:07 +0200)]
v4l2: increase by one the number of allocated buffers
Increasing this number fix a buffer starvation problem I'm hitting
with a "v4l2src ! kmssink" pipeline.
kmssink requests 2 buffer as it keeps a reference on the last rendered
one. So we were allocating 3 buffers for the pipeline.
Once the first 2 buffers have been pushed we ended up with:
- one buffer queued in v4l2
- one being pushed
- one kept as last rendered
If this 3rd buffer is released after that v4l2 used the first one to
capture we end up with a buffer starvation problem as no buffer is currently
queued in v4l2 for capture.
Fixing this by adding one extra buffer to the pipeline so when one
buffer is being pushed downstream the other can already be queued to
capture the next frame.
We were already adding 3 buffers if downstream didn't reply to the
allocation query. I reduced this number to 2 to compensate the extra
buffer which is now always added.
https://bugzilla.gnome.org/show_bug.cgi?id=783049
Sebastian Dröge [Thu, 29 Jun 2017 15:59:58 +0000 (18:59 +0300)]
rtspsrc: Create send/recv mutexes once, not on every connect()
Also fixes a crash caused by freeing an uninitialized mutex in an error
case.
https://bugzilla.gnome.org//show_bug.cgi?id=784282
Matt Fischer [Tue, 27 Jun 2017 23:20:17 +0000 (18:20 -0500)]
v4l2allocator: Fix memory leak with dmabuf
This patch fixes a memory leak that is caused if the dmabuf file
descriptor dup fails. Previously, _cleanup_failed_alloc() would
not unref the memory because mems_allocated had not yet been
incremented.
https://bugzilla.gnome.org/show_bug.cgi?id=784302
Mark Nauwelaerts [Wed, 28 Jun 2017 17:46:04 +0000 (19:46 +0200)]
qtdemux: specify '_swr' atom as a container atom
... so it is parsed as an mp4 style metadata atom as written by muxer
Mark Nauwelaerts [Tue, 27 Jun 2017 18:14:57 +0000 (20:14 +0200)]
qtmux: initialize mdhd language code as undefined
Nicolas Dufresne [Thu, 22 Jun 2017 19:34:42 +0000 (15:34 -0400)]
rtpjitterbuffer: Add a faststart-min-packets property
When set this property will allow the jitterbuffer to start delivering
packets as soon as N most recent packets have consecutive seqnum. A
faststart-min-packets of zero disables this feature. This heuristic is
also used in rtpsource which implements the probation mechanism and a
similar heuristic is used to handle long gaps.
https://bugzilla.gnome.org/show_bug.cgi?id=769536
Thibault Saunier [Fri, 23 Jun 2017 20:18:57 +0000 (16:18 -0400)]
meson: Allow using glib as a subproject
Tim-Philipp Müller [Mon, 26 Jun 2017 10:09:48 +0000 (11:09 +0100)]
meson: build examples
https://bugzilla.gnome.org/show_bug.cgi?id=784134
Tim-Philipp Müller [Mon, 26 Jun 2017 08:47:55 +0000 (09:47 +0100)]
meson: fix with-package-name option
https://bugzilla.gnome.org/show_bug.cgi?id=784082
Tim-Philipp Müller [Mon, 26 Jun 2017 08:38:46 +0000 (09:38 +0100)]
meson: tests: icles: simplify build file
Tim-Philipp Müller [Sun, 25 Jun 2017 23:22:05 +0000 (00:22 +0100)]
meson: build tests/icles/
https://bugzilla.gnome.org/show_bug.cgi?id=784134
Mark Nauwelaerts [Mon, 19 Jun 2017 19:13:42 +0000 (21:13 +0200)]
qtmux: correctly calculate overall first_ts to ensure stream sync
... by minding and compensating for the dts_adjustment that may have
been introduced in the PTS timeline.
Mark Nauwelaerts [Sat, 10 Jun 2017 13:14:41 +0000 (15:14 +0200)]
matroskademux: track highest known cluster position and time
... to use as a fallback initial duration estimate and to provide for
interpolation when scanning for position.
Mark Nauwelaerts [Sat, 10 Jun 2017 11:46:20 +0000 (13:46 +0200)]
matroskademux: improve and simplify searching for cluster and position
... avoiding inefficiency proportional to file size
Mark Nauwelaerts [Thu, 8 Jun 2017 14:55:29 +0000 (16:55 +0200)]
matroskademux: increase chunk size when scanning for cluster
Mark Nauwelaerts [Thu, 8 Jun 2017 14:39:06 +0000 (16:39 +0200)]
matroskademux: maintain variable state when searching for position
... so skipping to next cluster happens efficiently