Stéphane Cerveau
a6f82ba590
utils: improve gst_util_ceil_log2
...
According to the following comparison of algorithms, the value
for 0 and 1 was giving an incorrect result.
https://gist.github.com/ceyusa/6061b33ac109a68bcd222f6919968c9a
More information here:
https://github.com/rofrol/codeforces/blob/master/ceil_log2.c
Use a different algorithm which offers better result and keep the
performance.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429 >
2024-11-15 16:52:29 +00:00
Sebastian Dröge
bc63d85f19
idstr: Fix docs of set_static_str_with_len()
...
The passed string must be NUL-terminated because otherwise a copy would be
necessary to make it NUL-terminated, which defeats the whole purpose of the
set_static() functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7863 >
2024-11-14 17:12:27 +00:00
Edward Hervey
6923d5008c
girs: Update for fedora 40 gobject-introspection
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7455 >
2024-10-25 13:55:19 +00:00
Edward Hervey
38c07a2d01
all: Fix closure annotations
...
This was misused almost everywhere.
See
https://gi.readthedocs.io/en/latest/annotations/giannotations.html#support-for-gobject-closures
and: https://www.bassi.io/articles/2023/02/20/bindable-api-2023/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7725 >
2024-10-25 08:58:29 +00:00
François Laignel
bc5bd03723
gst: update gir file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7644 >
2024-10-16 23:14:50 +00:00
François Laignel
067fe7b9bc
gst: structure: add more GstIdStr methods
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7613 >
2024-10-04 11:19:46 +02:00
Sebastian Dröge
e758ffa2cf
girs: Update Gst-1.0.gir with new API and deprecations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7432 >
2024-09-26 19:26:18 +03:00
Sebastian Dröge
389302eb96
dynamictypefactory: Fix name of the class cast macro
...
And deprecate the old name.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3814
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7541 >
2024-09-23 15:04:31 +00:00
Sebastian Dröge
e5133033fa
clock: Use external / internal as term for the two clock bases everywhere
...
It was confusing that some functions were using master for the external time and
slave for the internal time. This is not consistently using external / internal
when talking about concrete clock times.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7456 >
2024-09-08 11:42:38 +01:00
Daniel Morin
4106ad4ae6
doc: correct delimiters documentation
...
- "<>" are delimiters for GST_TYPE_ARRAY and "{}" are delimiters for
GST_TYPE_LIST.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7419 >
2024-08-29 00:00:43 +00:00
Seungha Yang
27662d5fb8
bufferpool: Clarify GstBufferPoolClass::start() usage
...
Make it clear that chaining up to the default implementation
is optional if subclasses do not want preallocation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6328 >
2024-06-13 10:59:56 +00:00
Edward Hervey
1f4c1c18ca
gstmessage: Allow retrieving and setting details on messages
...
This was only available on warning/error/info messages creator/parsers. These
new functions make it more generic and also add a writable variant for users who
want to add/extend the details
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6929 >
2024-05-29 22:24:07 +00:00
Sebastian Dröge
a7908b05da
info: Make gst_debug_print_object() and gst_debug_print_segment() public
...
It can be useful in custom logging code to easily get string
representations of all kinds of objects or a segment.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6820 >
2024-05-27 17:08:03 +00:00
Sebastian Dröge
562cecaef4
clock: Fix 32 bit assertions in GST_TIME_TO_TIMEVAL and GST_TIME_TO_TIMESPEC
...
On various 32 bit systems, time_t is actually 64 bits while long is
still only 32 bits. The macro would wrongly trigger its assertion in
this case if a value with more than 68 years worth of seconds is
converted.
Examples are various newer 32 bit platforms and old ones that are
compiled with -D_TIME_BITS=64.
Also statically assert that time_t is either 32 or 64 bits. Other values
might need adjustments in the macro.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6869 >
2024-05-24 09:27:01 +00:00
Sebastian Dröge
1a8e7aa92d
bufferlist: get() is not actually nullable in its return value
...
Passing an out of bounds index is the only way to get a NULL buffer but
this causes an assertion so is not to be considered for the
annotations.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6884 >
2024-05-23 06:34:59 +00:00
Sebastian Dröge
0ef396359c
gst: Move GstQueueArray as GstVecDeque to core
...
And change lengths and indices from guint to gsize for a more correct type.
Also deprecate GstQueueArray and implement it in terms of GstVecDeque.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6779 >
2024-05-06 18:25:42 +00:00
Xavier Claessens
364d0ff45d
pad: gst_pad_set_offset is only reliable on source pads
...
Setting an offset on sink pads won't repush segment event which means
buffer running time won't be adjusted. Better warn about this than being
silently not working.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6464 >
2024-04-25 13:49:03 +00:00
Tim-Philipp Müller
756064b9c3
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6261 >
2024-03-05 12:58:57 +00:00
Tim-Philipp Müller
b125253cad
Release 1.24.0
2024-03-04 23:59:25 +00:00
Tim-Philipp Müller
d474de8ff0
Release 1.23.90
2024-02-23 18:20:11 +00:00
Tim-Philipp Müller
bc4f7040fa
plugin: add API for plugins to provide status info messages
...
This can be used to store informational messages, errors or
warnings which can later be shown to the user in gst-inspect-1.0,
which can be useful for plugins that expose elements dynamically
based on external libraries or hardware capabilities.
Status messages can then provide an indication as to why a
plugin doesn't have any elements listed, for example.
Plus unit test to make sure code paths are exercised a little.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3832 >
2024-02-21 00:58:19 +00:00
Tim-Philipp Müller
59c09eb029
gstobject: add CONSTRUCTED flag
...
This can be used later by base class APIs to know whether they're
called from a subclass instance init function (where the object
isn't properly constructed yet and one should only really poke
at the instance structure but not much else) or after object
construction has been finished.
Fix up GstBin unit test for CONSTRUCTED flag addition.
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2794
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6150 >
2024-02-20 19:16:54 +00:00
Edward Hervey
157471889e
meta: Skip gst_meta_info_new in gir
...
```
gstmeta.c:500: Warning: Gst: gst_meta_info_new: return value: Invalid
non-constant return of bare structure or union; register as boxed type or (skip)
```
Skip this for now
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6147 >
2024-02-20 12:30:39 +00:00
Philippe Normand
6059391e10
protection: Document original-media-type
caps field
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6142 >
2024-02-19 18:35:03 +00:00
Tim-Philipp Müller
88412ef100
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6126 >
2024-02-15 16:38:53 +00:00
Tim-Philipp Müller
88751d4110
Release 1.23.2
2024-02-15 15:37:17 +00:00
Philippe Normand
1ecabcd1c5
taglist: Register new tag for container specific track ID
...
Unique identifier for the audio, video or text track this tag is associated
with. The mappings for several container formats are defined in the [Sourcing
In-band Media Resource Tracks from Media Containers into HTML
specification](https://dev.w3.org/html5/html-sourcing-inband-tracks ).
Based on previous patch by Brendan Long.
Fixes #45
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6041 >
2024-02-12 10:37:29 +00:00
Xavier Claessens
d4de8f4b16
girs: update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5829 >
2024-02-09 15:45:33 +00:00
Tim-Philipp Müller
2111d6f015
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6066 >
2024-02-06 18:29:31 +00:00
Tim-Philipp Müller
9255e397f0
Release 1.23.1
2024-02-06 16:43:27 +00:00
Sebastian Dröge
404e4ca626
utils: Annotate gst_util_filename_compare() parameters as filenames
...
They're not UTF-8 strings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6063 >
2024-02-06 08:03:56 +00:00
Jonas K Danielsson
b0becfa46b
splitmuxsrc: Use natural ordering to find files
...
Today when using the `splitmuxsrc` on a collection of files named as:
```
item0.mkv
item1.mkv
item2.mkv
[...]
item10.mkv
item11.mkv
[...]
```
You will get a continuous stream made in the order of:
```
item0.mkv -> item1.mkv -> item10.mkv -> item11.mkv -> [...]
```
You can fix this by having smarter names of the items:
```
item000.mkv
item001.mkv
item002.mkv
[...]
item010.mkv
item011.mkv
[...]
```
Will get you:
```
item000.mkv -> item001.mkv -> item003.mkv -> item004.mkv -> [...]
```
But, we could also "fix" the former case by using natural ordering when
comparing the files in gstsplitutils.c.
Fixes #2523
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4491 >
2024-01-24 20:15:19 +00:00
Guillaume Desmottes
c9c7e83a78
core: pipeline: add gst_pipeline_get_configured_latency()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472 >
2024-01-18 20:17:04 +01:00
Guillaume Desmottes
ba4ab9dc16
core: pipeline: add gst_pipeline_is_live()
...
Convenient API for applications wanting to check if a pipeline is live
or not. Save them from checking the change_state return value or sending
latency queries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4472 >
2024-01-18 20:17:04 +01:00
Xavier Claessens
68bddca7c3
girs: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4300 >
2024-01-11 17:20:23 +00:00
Stéphane Cerveau
97ebaa0bc1
gstutils: add gst_util_ceil_log2
...
Move ceil_log2 from nalutils.* to gstutils.*
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5888 >
2024-01-09 15:34:10 +00:00
Olivier Crête
f5d5f2cf1a
meta: Add API to register metas in two steps
...
And also remove the specific registration APIs for
serializable meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830 >
2023-12-19 22:41:31 +00:00
Olivier Crête
2a9c4e3270
meta: Move the clear operation to its own vfunc
...
Some transforms always assumed that the transformation was some kind
of copy. So adding a "clear" operation didn't work out in practice.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5830 >
2023-12-19 22:41:31 +00:00
Xavier Claessens
6d71605508
girs: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5355 >
2023-12-17 16:13:26 +00:00
Jordan Yelloz
4ec5de8784
gstcontext: Added gst_clear_context()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756 >
2023-12-02 09:03:47 +00:00
Jordan Yelloz
ac6952e936
gstpromise: Added gst_clear_promise()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5756 >
2023-12-02 09:03:47 +00:00
Jordan Yelloz
e33d5303f7
gstpromise: Added GST_IS_PROMISE() macro
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5728 >
2023-11-28 15:41:49 -07:00
Daniel Morin
d23a90cb16
analytics: base class for analytics meta
...
- GstAnalyticRelationMeta is a base class for analytics
meta. It's able to store analytics results (GstAnalyticRelatableMtd)
and describe the relation between each analysis results.
- GstAnalysisRelationMeta also contain an algorithm able to explore
analysis results relation using a bfs.
- Relation(edge) between analysis results (vertice) are stored in an adjacency-matrix
that allow to quickly identify if two analysis results are related and by
which relation they related. It also work for indirect relation
and can provide the path of analysis results by which two
analysis results are related.
- One allocation per buffer to store analysis results. Here we rely on
the application to guess how much space will be required to store all
analysis results. This is something that could be improved
significantly but it's a starting point.
- Define common analysis results, classification, object-detection,
tracking that are subclass of GstAnalyticRelatableMtd. The also
provide exemple of how to extend GstAnalyticRelatableMtd to have them
benefit for the mechanim to express relation with other analysis
results.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4962 >
2023-11-21 18:04:53 +00:00
Philippe Normand
18fcd14fb8
streamcollection: Fixup doc blurbs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5605 >
2023-11-10 00:28:42 +00:00
Xavier Claessens
ceb686a32b
GstShmAllocator: Update gir files
...
Sponsored-by: Netflix Inc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5328 >
2023-11-03 18:22:00 +00:00
Jordan Petridis
88e6dd0555
ci: switch the Fedora base image to f34
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1060 >
2023-10-22 05:23:28 +03:00
Xavier Claessens
452ab184cb
GstCustomMeta: simplify API
...
Move the GstStructure field into public struct for direct access, that's
easier than having to call a function to get it. It is not an API/ABI
breakage to extend the public structure of a GstMeta because they are
always allocated by inside GStreamer. The structure is exposed already
by gst_custom_meta_get_structure() which does not return a copy/ref, so
it is locked into holding a GstStructure forever anyway.
Also add gst_meta_register_custom_simple() because most of the time only
a name is required, tags and transform functions are more niche
use-case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5385 >
2023-09-27 18:46:34 +00:00
Víctor Manuel Jáquez Leal
e5d524b338
caps: Fix documentation
...
Fix gst_caps_filter_and_map_in_place() documentation, aiming to
gst_caps_maps_in_place() to express their difference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4933 >
2023-06-26 19:56:55 +02:00
Philippe Normand
56b9c4772f
utils: Fix doc warnings in gst_utils_simplify_fraction
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4793 >
2023-06-08 02:38:54 +00:00
Nirbheek Chauhan
5fed707553
docs: Use backticks to escape * in markdown
...
Otherwise it's interpreted as emphasis.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4753 >
2023-06-02 13:25:23 +00:00