Commit graph

18201 commits

Author SHA1 Message Date
Guillaume Desmottes 1e321eb51f poll: stop treating on POLLPRI as 'read'
Current code was considering "can read" as having either POLLIN or POLLPRI being
set.
This may lead to client being awaken because of POLLPRI, starting a blocking
read and getting stuck because there is actually nothing to read.

This patch removes POLLPRI handling in read code and I'll add specific
API to wait for POLLPRI.

https://bugzilla.gnome.org/show_bug.cgi?id=794977
2018-06-08 11:53:55 -04:00
Edward Hervey d34f046029 baseparse: Ensure seqnum consistency
We need all relevant events of a segment to have consistent seqnum:
* GST_EVENT_SEGMENT
* GST_EVENT_EOS

If we are push-based and create a new segment, use the same seqnum
as the upstream event.

If we are pull-based, use the seqnum of that newly created segment
event everywhere
2018-06-05 17:02:18 +02:00
Edward Hervey 52d4ae7680 message: Only allow setting valid seqnum on messages
If we want to make sure we never end up with invalid seqnum on
messages let's forbid setting them.
2018-06-05 17:01:05 +02:00
Edward Hervey 14e849927d event: Only allow setting valid seqnum on events
If we want to make sure we never end up with invalid seqnum on
events let's forbid setting them.
2018-06-05 16:59:50 +02:00
Edward Hervey 5b0fe8d174 bin: Make sure we don't use invalid seqnums on messages
There is a possibility that the accumlation functions don't set
a seqnum. Make sure we only set/override the seqnum of the new
messages if we *have* a valid upstream seqnum to use
2018-06-05 16:58:21 +02:00
Dimitrios Katsaros ac7f8b6337 queue2: use GstQueueArray
When using queue2 as a queue it was using GQueue with
individually allocated queue items, so two allocs for
each item. With GstQueueArray we can avoid those.

https://bugzilla.gnome.org/show_bug.cgi?id=796483
2018-06-04 11:10:05 +01:00
Mike Wey 51b97d7403 dataqueue: add some missing introspection annotations
https://bugzilla.gnome.org/show_bug.cgi?id=796488
2018-06-03 19:42:17 +01:00
Edward Hervey dfe5467209 baseparse: Documentation improvements
* Remove references to old functions and methods
* Use proper #ClassName.vmethod() decorator for vmethod
2018-05-30 14:06:06 +02:00
Thibault Saunier cc869065a5 meson: Add an option to activate extra checks
And activate them by default as with autotools
2018-05-22 16:31:21 +02:00
Tim-Philipp Müller 724cc53b28 meson: rename gtkdoc option to gtk_doc 2018-05-21 23:10:21 +01:00
Edward Hervey dea69f4c1e datetime: Update/fix documentation 2018-05-21 11:37:00 +02:00
Edward Hervey 438c1c116d sample: Update documentation 2018-05-21 11:36:42 +02:00
Edward Hervey 580f94ee97 gst: Add an example to GST_STATIC_PAD_TEMPLATE macro 2018-05-21 11:17:30 +02:00
Mark Nauwelaerts a7456eec0d gst: add some GIR array annotations 2018-05-21 09:15:09 +02:00
Tim-Philipp Müller 661490d60d meson: add 'nls' option to disable translations
And enable by default. Was implicitly disabled because
ENABLE_NLS was not defined.
2018-05-20 14:07:39 +01:00
Tim-Philipp Müller 09dee79774 win32: update for new aggregator API
Fixes make distcheck.
2018-05-16 23:25:26 +01:00
Olivier Crête 05298b3093 aggregator: Add get_next_time function for live streams
Add a function to do the right thing for live streams.

https://bugzilla.gnome.org/show_bug.cgi?id=795486
2018-05-16 18:13:04 +02:00
Sebastian Dröge 13d5957fd7 pad: Fix race condition causing the same probe to be called multiple times
Probes were remembering a cookie that was used to check if the probe was
already called this time before the probes list changed. However the
same probes could've been called by another thread in between and thus
gotten a new cookie, and would then be called a second time.

https://bugzilla.gnome.org/show_bug.cgi?id=795987
2018-05-11 18:54:55 +03:00
Edward Hervey 80dfb7bb3f gst: Use memcpy() instead of strncpy() where appropriate
strncpy() is assumed to be for strings so the compiler assumes that
it will need an extra byte for the string-terminaning NULL.

For cases where we know it's actually "binary" data, just copy it
with memcpy.

https://bugzilla.gnome.org/show_bug.cgi?id=795756
2018-05-07 17:05:36 +02:00
Seungha Yang 69ddcc175f bitwriter: Fix build error
Fix implicit-function-declaration warning for meemst and memcpy

gstbitwriter.h:166:3: error: implicit declaration of function ‘memset’
   memset (bitwriter->data + clear_pos, 0, (new_bit_size >> 3) - clear_pos);
   ^

https://bugzilla.gnome.org/show_bug.cgi?id=795867
2018-05-07 08:35:47 +02:00
Jan Schmidt 273d0a05e8 gstevent: Add some FIXME: 2.0 about removing the timestamp
The timestamp field isn't valuable or used well anywhere. We
should remove it for GStreamer 2.0

https://bugzilla.gnome.org/show_bug.cgi?id=761462
2018-05-07 01:33:16 +10:00
Sreerenj Balachandran 9ad634029a bitwriter: Add unit tests
https://bugzilla.gnome.org/show_bug.cgi?id=707543
2018-05-06 17:05:27 +02:00
Wind Yuan fb4fc8fc09 bitwriter: Add a generic bit writer
GstBitWriter provides a bit writer that can write any number of
bits into a memory buffer. It provides functions for writing any
number of bits into 8, 16, 32 and 64 bit variables.

https://bugzilla.gnome.org/show_bug.cgi?id=707543
2018-05-06 17:05:21 +02:00
Nirbheek Chauhan 4fb02fc85b meson: Update option names to omit disable_ and with- prefixes
Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually.
2018-05-05 20:30:43 +05:30
Tim-Philipp Müller a5ecb465a9 bufferlist: fix abort due to underflow when creating 0-sized list
gst_buffer_list_new_sized(0) will cause an underflow in a calculation
which then makes it try to allocate huge amounts of memory, which
may lead to aborts.

https://bugzilla.gnome.org/show_bug.cgi?id=795758
2018-05-05 16:20:05 +02:00
Tim-Philipp Müller d06895ce5d scripts: create-uninstalled-setup: remove dead wiki link, mention gst-build
https://bugzilla.gnome.org/show_bug.cgi?id=795734
2018-05-05 12:16:07 +02:00
Tim-Philipp Müller 583a4677af aggregator: since marker for new API
Was also backported.

https://bugzilla.gnome.org/show_bug.cgi?id=795332
2018-05-05 12:10:39 +02:00
Francisco Velazquez 554f604d37 debugutils: Update configure option in documentation
Update documentation on non existent option `gst-enable-gst-debug'.  Instead,
one has to make sure that the `--disable-gst-debug' option was not used when
compiling GStreamer (i.e., `./configure --disable-gst-debug').

https://bugzilla.gnome.org/show_bug.cgi?id=795801
2018-05-04 15:25:24 +03:00
luz.paz 98200ddd8d Source code typo fixes
https://bugzilla.gnome.org/show_bug.cgi?id=795610
2018-05-01 11:25:21 +01:00
luz.paz 4a402c1c7d Fix typos in comments and docs
Found via `codespell`

https://bugzilla.gnome.org/show_bug.cgi?id=795610
2018-05-01 11:18:03 +01:00
Tim-Philipp Müller bad751b22f win32: add new symbol 2018-04-25 19:47:11 +01:00
Olivier Crête 96c3a635ce aggregator: Improve doc for gst_aggregator_pad_has_buffer 2018-04-25 14:30:04 -04:00
Olivier Crête dda9a99989 aggregator: Add API to check if a pad has a new buffer
https://bugzilla.gnome.org/show_bug.cgi?id=795332
2018-04-25 14:20:19 -04:00
Tim-Philipp Müller 0691278377 buffer: don't over-allocate internal GstMeta items
We would allocate space for two GstMeta structs even though
there is only one in the end (the one in GstMetaItem and in
GstFooMeta overlap).
2018-04-25 18:28:00 +01:00
Xavier Claessens b00b1d5361 Meson: Use library() to build both static and shared libs
Meson supports building both static and shared libraries in a single
library() call. It has the advantage of reusing the same .o objects and
thus avoid double compilation.

https://bugzilla.gnome.org/show_bug.cgi?id=794627
2018-04-25 00:40:30 +01:00
Xavier Claessens ca3698b9c1 Meson: Fix check for linker args
https://bugzilla.gnome.org/show_bug.cgi?id=795513
2018-04-25 00:40:30 +01:00
Tim-Philipp Müller 2cb6ca2e0e pkgconfig: set pluginsdir to plugins/ sub-directory for uninstalled .pc file
So we don't unnecessarily scan directories that have no plugins
(or try to open libs). Matches how we limit the search space for
plugin modules to gst/ ext/ sys/ subdirs.
2018-04-22 19:23:50 +01:00
Tim-Philipp Müller a7aeaca772 meson: fix invalid keyword argument warnings
cc.compiles() doesn't have a 'prefix' argument (yet) and the
prefix has already been prepended to the source code snippets.

https://github.com/mesonbuild/meson/issues/2364
2018-04-20 12:30:24 +01:00
Thibault Saunier 121cfe3575 Revert "docs: Minor fix in event_new_select_streams"
This reverts commit f218917d02.
2018-04-18 11:35:20 -03:00
Thibault Saunier f218917d02 docs: Minor fix in event_new_select_streams 2018-04-17 20:03:37 -03:00
Tim-Philipp Müller 21decc643b multiqueue, inputselector: show pad properties in gst-inspect-1.0 2018-04-17 18:57:20 +01:00
Tim-Philipp Müller 65e0907798 inputselector, outputselector: add guards for wrong pads being set as active pads
Catch users wrongly setting foreign pads or wrong pads as
the selector's active pad, which leads to all kinds of
other issues. It's a programming error so handle it just
like we would if we had direct API.

https://bugzilla.gnome.org/show_bug.cgi?id=795309
2018-04-17 18:57:17 +01:00
Thibault Saunier b27ee943c2 caps: Add a macro based variant of gst_caps_copy
This way we do not hit the performance overhead of having the method
not inlined but still can use it from bindings.
2018-04-17 14:00:20 -03:00
Thibault Saunier 11e0f451eb pad: Handle changing sticky events in pad probes
In the case where the user sets a new padprobeinfo->data in a probe
where the data is a sticky event, the new sticky event should be automatically
sticked on the probed pad.

https://bugzilla.gnome.org/show_bug.cgi?id=795330
2018-04-17 13:36:26 -03:00
Thibault Saunier 588e054e6d debug: Make PADS debug background blue
Red on red was... suboptimal!

https://bugzilla.gnome.org/show_bug.cgi?id=795330
2018-04-17 13:36:26 -03:00
Tim-Philipp Müller 8a7b52c53a win32: update defs for new exports 2018-04-17 17:00:53 +01:00
Thibault Saunier 0b86481adf harness: Handle harness->element not being a GstBin
It is totally valid but in gst_harness_find_element we were not
handling that case.

https://bugzilla.gnome.org/show_bug.cgi?id=795308
2018-04-17 10:15:06 -03:00
Thibault Saunier d1b2d3429c gst: Stop inlining gst_caps_copy
This way it gets exposed to bindings through GObject Introspection.
2018-04-17 10:15:06 -03:00
Tim-Philipp Müller a431837db2 Automatic update of common submodule
From f0c2dc9 to ed78bee
2018-04-16 10:52:46 +01:00
Aurelien Jarno 8a156d1725 gstconfig.h.in: initial RISC-V support
RISC-V supports unaligned accesses, but these might run extremely slowly
depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS
to 0 on this architecture.

https://bugzilla.gnome.org/show_bug.cgi?id=795271
2018-04-15 11:22:48 +03:00