Commit graph

3096 commits

Author SHA1 Message Date
Thibault Saunier
7a2d32abda multiqueue: Fix possible NULL pointer dereferencing
In the hotdoc inspector for example, pads are instantiated with
g_object_new, other code paths to get/set properties already make
that check.

And update doc cache
2019-07-02 17:27:32 -04:00
Mathieu Duponchelle
b22a0c3873 docs: unprefix subproject paths 2019-06-01 02:37:26 +02:00
Thibault Saunier
f040102d45 docs: Add tracers support 2019-05-31 18:53:43 -04:00
Thibault Saunier
3635a6a98b docs: Document pad types
And update the plugins doc cache
2019-05-25 10:56:50 -04:00
Matthew Waters
29557fe623 docs: add coretracers to the list of plugins 2019-05-18 02:41:43 +00:00
Thibault Saunier
0faab7d9b8 docs: Stop building the doc cache by default
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
2019-05-16 18:22:20 +00:00
Thibault Saunier
042f6d5def docs: Update diplayed plugins filename something stable 2019-05-16 18:22:20 +00:00
Thibault Saunier
6009b82d65 hotdoc: Let the the registry inspect in forks
So that the whole process doesn't segfault if something bad happens while inspecting
2019-05-16 18:22:20 +00:00
Thibault Saunier
816710d17c docs: Use the MESON_BUILD_ROOT env variable in the plugins cache generator 2019-05-16 18:22:20 +00:00
Thibault Saunier
56d01406bc docs: Do not pass the json through stdout
Unicode encoding breaks on windows when doing so
2019-05-16 18:22:20 +00:00
Thibault Saunier
ea12e67cc2 docs: Do not inspect internal files 2019-05-16 18:22:20 +00:00
Seungha Yang
bb34bd4575 docs: Always follow Unix style newline
The 'open()' follows default behavior of OS (CRLF in case of Windows).
So it results in a bunch of git diff on Windows.
2019-05-16 18:22:20 +00:00
Thibault Saunier
5a7db17caf docs: Update plugins cache 2019-05-13 22:47:38 -04:00
Thibault Saunier
039bbb99a6 docs: Fix cache invalidation status
The dictionnary is updated in place so we were checking the same twice
2019-05-13 22:47:05 -04:00
Thibault Saunier
21428feac7 docs: Use the new GstPluginsPath.json to have the right plugin path
When inspecting plugins to generate the json cache file. Otherwise
when we are not in the uninstalled env and using `gst-build` plugins
with dependency might fail/throw warning, etc..
2019-05-13 17:00:00 -04:00
Thibault Saunier
36e516d6a0 doc: Update the README 2019-05-13 16:34:09 -04:00
Thibault Saunier
949fba4b1f doc: Fix hotdoc warnings
* Making sure that `static inline` function are in the GIR (by first
  defining them, and make sure to mark as skiped)
* Do not try to link to unexisting symbols
* Also generate GIR information about gst_tracers
2019-05-13 16:34:09 -04:00
Thibault Saunier
a0c65067e0 Port to hotdoc 2019-05-13 16:34:09 -04:00
Thibault Saunier
781ad55f68 doc: Remove gtk-doc support 2019-05-13 11:33:49 -04:00
Aaron Boxer
fa99a88558 gstbasesink: add stats getter method
fixes #355
2019-05-08 14:45:42 -04:00
Robert Rosengren
3b5933eadd netutils: make gst_net_utils_set_socket_dscp external
Internal gst_net_utils_set_socket_dscp renamed and turned into external
function. Similar functionality exists in e.g. multidupsink, which could
instead use this one.
2019-04-22 09:01:14 +00:00
Tim-Philipp Müller
e54261c7eb docs: add index for new symbols in 1.16 2019-04-19 12:31:22 +01:00
Tim-Philipp Müller
3124cd602e Back to development 2019-04-19 11:00:06 +01:00
Tim-Philipp Müller
7a391b42ae Update docs 2019-04-19 00:15:21 +01:00
Tim-Philipp Müller
de0ef22afe Update docs 2019-04-11 00:19:11 +01:00
Mathieu Duponchelle
2fa15d5371 event: add new seek parameter, "trickmode-interval"
When performing a key unit trickmode seek, it may be useful to
specify a minimum interval between the output frames, either
in very high rate cases, or as a protection against streams
that may contain an overly large amount of key frames.

One use case is ONVIF Section 6.5.3:

<https://www.onvif.org/specs/stream/ONVIF-Streaming-Spec.pdf>
2019-04-01 17:13:32 +00:00
Tim-Philipp Müller
673ccfde8b Back to development 2019-03-04 09:01:07 +00:00
Tim-Philipp Müller
b6ee888c5d Update docs 2019-02-26 11:38:00 +00:00
Tim-Philipp Müller
f62ee97592 buffer: store sequence number for metas
For metas where order might be significant if multiple metas are
attached to the same buffer, so store a sequence number with the
meta when adding it to the buffer. This allows users of the meta
to make sure metas are processed in the right order.

We need a 64-bit integer for the sequence number here in the API,
a 32-bit one might overflow too easily with high packet/buffer
rates. We could do it rtp-seqnum style of course, but that's a
bit of a pain.

We could also make it so that gst_buffer_add_meta() just keeps metas in
order or rely on the order we add the metas in, but that seems too
fragile overall, when buffers (incl. metas) get merged or split.

Also add a compare function for easier sorting.

We store the seqnum in the MetaItem struct here and not in the
GstMeta struct since there's no padding in the GstMeta struct.
We could add a private struct to GstMeta before the start of
GstMeta, but that's what MetaItem effectively is implementation-
wise. We can still change this later if we want, since it's all
private.

Fixes #262
2019-02-12 17:53:08 +00:00
Thibault Saunier
97aa82387f device-provider: Allow notifying application of device changes
Thi introduces new APIs to post a `DEVICE_CHANGED` message on the
bus so the application is notifies when a device is modified. For
example, if the "defaultness" of a device was changed or any property
that can be changed at any time. Atomically changing the device
object notifying that way allow us to abtract away the internal threads.

New APIS:
  - gst_message_new_device_changed
  - gst_message_parse_device_changed
  - gst_device_provider_device_changed
2019-02-08 13:44:02 -03:00
Tim-Philipp Müller
db7f634327 Update docs 2019-01-17 01:38:59 +00:00
Guillaume Desmottes
e03f086fae gstcaps: add gst_caps_set_features_simple()
Convenient helper setting a caps feature on all the structures of a
caps.
2018-12-11 16:39:30 +01:00
Matthew Waters
4fc4ad87d5 query: add a new bitrate query
Allows determining from downstream what the expected bitrate of a stream
may be which is useful in queue2 for setting time based limits when
upstream does not provide timing information.

Implement bitrate query handling in queue2

https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60
2018-11-07 15:04:14 +00:00
Havard Graff
8a8f2cebf4 docs: add new GstTestClock API 2018-11-06 15:02:21 +01:00
Matthew Waters
ddfcc28c8b gst/buffer: add a new function for wrapping GBytes
One restriction on the GBytes is that the data cannot be NULL as this is
explicitly forbidden by GstMemory.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/318
2018-11-06 16:12:42 +11:00
Niels De Graef
8410490727 docs: update gstreamer-sections.txt with new API 2018-11-05 11:06:30 +00:00
Sebastian Dröge
4de89865d4 clock: Add new functions to the documentation 2018-11-03 19:00:35 +02:00
Sebastian Dröge
c3214e8deb harness: Add API for proposing meta APIs from the allocation query
https://bugzilla.gnome.org/show_bug.cgi?id=797350
2018-10-28 17:05:27 +00:00
Philippe Normand
a2832689ad gstelementfactory: Remove MEDIA_HARDWARE FactoryType
Using the MEDIA_ classifier prefix was inappropriate. It is sufficient to
specify the additional klass name that element can set in their metadata.

(follow-up of commit ca4b61c555)

https://bugzilla.gnome.org/show_bug.cgi?id=796921
2018-10-12 17:20:02 +01:00
Philippe Normand
ca4b61c555 gstelementfactory: Add MEDIA_HARDWARE klass classifier
The Harware factory type classifier allows elements (decoders and encoders,
mostly) to advertize they rely on hardware devices to perform encoding or
decoding operations. This classifier can be used by applications to filter and
select only the elements that use hardware devices, for instance to ensure
zero-copy support is enabled for a specific pipeline.

https://bugzilla.gnome.org/show_bug.cgi?id=796921
2018-10-12 10:08:47 +01:00
Yacine Bandou
05a3da347b protection: Add a new definition for unspecified system protection
In some cases the system protection ID is not present in the contents
or in their metadata.
This define is used to set the value of the "system_id" field in GstProtectionEvent,
with this value, the application will use an external information to choose which
protection system to use.

Example: The matroskademux uses this value in the case of encrypted WebM,
the application will choose the appropriate protection system based on the information
received through EME API.

https://bugzilla.gnome.org/show_bug.cgi?id=797231
2018-10-03 17:05:45 +02:00
Vivia Nikolaidou
22d0f40716 queuearray: Add set_clear_func and clear functions
gst_queue_array_clear will clear the GstQueueArray,
gst_queue_array_set_clear_func will set a clear function for each
element to be called on _clear and on _free.

https://bugzilla.gnome.org/show_bug.cgi?id=797218
2018-09-27 19:32:54 +03:00
Tim-Philipp Müller
da8afaeeea docs: gst: default to single include also for protection meta API
https://bugzilla.gnome.org/show_bug.cgi?id=797165
2018-09-19 15:42:34 +01:00
Tim-Philipp Müller
4aef0fca96 docs: libs: move all includes to canonical single header includes
And fix up bogus libs/ prefix for controller lib includes.

https://bugzilla.gnome.org/show_bug.cgi?id=797165
2018-09-19 15:08:34 +01:00
Linus Svensson
2e6089f0c5 docs: Update include directive for gstreamer-base components
Change to always include gst/libs/base.h in order to also
include base-prelude.h, but also because it's the right
thing for people to include anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=797165
2018-09-19 14:56:42 +01:00
Nirbheek Chauhan
415e0e68af meson: Use copy: true for configure_file()
Fixes a warning.
2018-07-25 14:25:59 +05:30
Sebastian Dröge
d196b0b904 typefind: Add _with_extension() variants for typefinding data or a buffer
And make use of that in the typefind element to also be able to make use
of the extension in push mode. It previously only did that in pull mode
and this potentially speeds up typefinding and might also prevent false
positives.

https://bugzilla.gnome.org/show_bug.cgi?id=796865
2018-07-25 01:12:11 +03:00
Sebastian Dröge
6fa351407a miniobject: Add parent pointers to the miniobject to influence writability
Every container of miniobjects now needs to store itself as parent in
the child object, and remove itself again at a later time.

A miniobject is only writable if there is at most one parent, and that
parent is writable itself, and if the reference count of the miniobject
is 1.

GstBuffer (for memories), GstBufferList (for buffers) and GstSample (for
caps, buffer, bufferlist) was updated accordingly.

Without this it was possible to have e.g. a bufferlist with refcount 2
in two places, modifying the same buffer with refcount 1 at the same
time.

https://bugzilla.gnome.org/show_bug.cgi?id=796692
2018-07-09 09:45:45 +02:00
Edward Hervey
438c1c116d sample: Update documentation 2018-05-21 11:36:42 +02: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