Commit graph

18508 commits

Author SHA1 Message Date
Sebastian Dröge
8f496b7392 event: Unset SNAP flags when creating a new seek event without KEY_UNIT flag
The SNAP flags only make sense in combination with the KEY_UNIT flag,
and without they expose all kinds of unexpected behaviour in various
elements that don't expect this from happening.

Also warn if this ever happens.

https://bugzilla.gnome.org/show_bug.cgi?id=796558
2018-06-18 10:31:16 +03:00
Sebastian Dröge
1908daf29c event: Require writable events for setting the running-time-offset and sequence number
Otherwise multiple code paths with the same event could change the
values on each other.

https://bugzilla.gnome.org/show_bug.cgi?id=796615
2018-06-18 10:30:51 +03:00
Guillaume Desmottes
6dba0d91ed gst_structure_to_string: display actual value of pointers
We used to always display "NULL" which was pretty confusing when
debugging.

https://bugzilla.gnome.org/show_bug.cgi?id=794355
2018-06-15 11:37:24 +02:00
Thibault Saunier
8833ca942e stream: Add some missing API safe guards 2018-06-13 16:27:24 -04:00
Tim-Philipp Müller
b0777476ff poll: minor docs clarification
'Not implemented' could be misinterpreted to mean that
the API doesn't even exist there.
2018-06-08 17:58:43 +01:00
Tim-Philipp Müller
c441f75595 win32: update for new API 2018-06-08 17:57:01 +01:00
Guillaume Desmottes
b2593133b5 poll: add API to watch for POLLPRI
Windows doesn't seem to have an equivalent of POLLPRI so disabled those
functions on this platform.

This API can be used, for example, to wait for video4linux events which
are using POLLPRI.

https://bugzilla.gnome.org/show_bug.cgi?id=794977
2018-06-08 11:53:55 -04:00
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