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
Thibault Saunier
14d6773aba
ges: framepositioner: Expose positioning properties as doubles
...
Making it possible to properly handle compositors that have those
properties as doubles and handle antialiasing.
Internally we were handling those values as doubles in framepositioner,
so expose new properties so user can set values as doubles also.
This changes the GESFramePositionMeta API but we are still on time for 1.24
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6241 >
2024-02-29 00:56:30 +00:00
Edward Hervey
a3980f4838
docs: Use Discourse and Matrix as prefered communication channels
...
Part of: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6220
2024-02-27 09:35:47 +01:00
Tim-Philipp Müller
d474de8ff0
Release 1.23.90
2024-02-23 18:20:11 +00:00
Nirbheek Chauhan
768aeb739a
meson: Use cdata.set_quoted() for configuration data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Nirbheek Chauhan
64fdded13a
ges, gst-python: Fix libpython dlopen on macOS
...
First encountered at https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1171#note_2290789
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Nirbheek Chauhan
2cc9a181f9
ges, gst-python: Rework libpython loading to be relocatable
...
If we don't specify a path for loading, the runtime linker will search
for the library instead, which will use the usual mechanisms: RPATHs,
LD_LIBRARY_PATH, PATH (on Windows), etc.
Also try harder to load a non-devel libpython using INSTSONAME, if
available.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +00:00
Nirbheek Chauhan
ad8ea38e0a
meson: Use host_system for the host_machine system
...
This is a convention everywhere else in gstreamer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6159 >
2024-02-21 21:47:12 +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
Xavier Claessens
561f8b71ee
structure: Allow STRICT flag only in _serialize_full()
...
The STRICT flag makes _serialize() nullable which is an API break for
bindings. Forbid it and add _serialize_full() that accepts it and is
properly annotated.
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
Thibault Saunier
5051a34318
nlecomposition: Do not forward QoS event while setting up the new stack
...
Otherwise we might end up dropping buffers even before prerolling the sources
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6032 >
2024-01-31 19:43:06 +00:00
Thibault Saunier
b684ce33b7
timeline: forward element messages we do not know
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
1627a944e7
nlecomposition: Use a bus message to retrieve pipeline position
...
Instead of recursing up, as this will allow to have nested composition
run inside auxiliary pipelines. It is a bit cleaner also.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
79c211a5fb
nlecomposition: Use a message to check if we need an initialization seek
...
Subtimeline might be in an auxiliary pipeline which make the current
recurse up approach not working.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
37602d1d02
ges: Keep internal stream selection messages internally
...
Timeline StreamCollection are very specific to inner working of nested
timelines and should not interfere with the usual stream selection
process and are now handled as element messages.
Stream selection inside `nleobject` need to be handled internally by the
application or GES itself so we should just drop all those as they would
interfere and fail if they are exposed to other elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
b14207cc9e
nle: Use a message based mechanism to detect parent nleobject duration
...
Recursing up is pretty ugly and will fail when we start using ancillary
pipelines for sources in nle, using a message/event based mechanism is
a common pattern that is much cleaner.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5983 >
2024-01-31 17:37:41 +00:00
Thibault Saunier
e7803d1582
ges: clip: doc: Add a reference for more information about effect index
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6009 >
2024-01-30 11:09:00 +00:00
Tim-Philipp Müller
c84285d44d
meson: bump Meson requirement to >= 1.1 for all modules
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6002 >
2024-01-29 01:11:55 +00:00
Philippe Normand
20340e71f2
gesbasebin: Fix a couple leaks
...
Also clean-up unused queue when we failed to link a track to it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Thibault Saunier
ff9fec521b
ges: track-element: Fix FIXME about handling NULL factories to add properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Thibault Saunier
4c8396da8e
ges: launch: Enhance the way we detect explicitly added track
...
When using subtimeline serialized with the command line formatter
syntax, we had a false positive when detecting if the user had explicitly
specified tracks with the `+track` syntax. Verifying the presence of
`+track` explicitly in the `args` array ensure the `+track` is not for
a subtimeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Thibault Saunier
8d58d2b43b
ges: Minor debug enhancements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Thibault Saunier
f205b357bd
ges: Minor typo fix
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Thibault Saunier
bc42175fd3
nlecomposition: Pass object to debug messages in more places
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Philippe Normand
2de5984300
ges: effect: Report asset request errors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:19 +00:00
Philippe Normand
49fec0726f
ges-asset: Fix typo in warning message
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Philippe Normand
b2c790783d
ges-asset: Log asset ids in ges_asset_request
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Philippe Normand
a5e8dedff0
ges-asset: Propagate errors from GInitable
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Philippe Normand
86ab695e8d
ges-effect: Chain-up to parent constructed vfunc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Philippe Normand
fa8a2ec55e
ges: uri-clip: Set error on invalid URI's in check_id
...
The _check_id function signature was incomplete and the last GError
argument was ignored instead of being properly used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5981 >
2024-01-25 09:54:18 +00:00
Thibault Saunier
4aaca2cc02
ges: launch: Print the timeline after we set its state to READY
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5974 >
2024-01-24 23:12:56 +00:00
Thibault Saunier
0a292b8246
ges: discoverer-manager: Use a recursive mutex to protect the discoverers
...
So we can have subtimelines specified in `ges-launch` without
deadlocking
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5973 >
2024-01-24 18:48:22 +00:00
Thibault Saunier
bf420a3a20
ges: launcher: Commit timeline before setting state
...
Ensuring that all operations related to commit are properly performed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5859 >
2024-01-19 11:10:13 +00:00
Thibault Saunier
5575d9cb02
ges: launcher: Make +effect stack effects from source to last effect added
...
Until now when doing `+test-clip blue +effect effect1 + effect effect2`
leaded to the following pseudo pipeline
videotestsrc ! effect2 ! effect1
given the `ges-launch` syntax this is quite unexpected and this needed
fixing
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
8cf17e5d0d
ges: Add scaler in the 'gap filling' clip on too short nested timelines
...
So we can respect user request on source that can scale
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
90218243d2
ges: track-element: Set the nleobject as soon as possible
...
Some subclasses might need to have access to it when configuring their
element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
30cc16d670
ges: composition-meta: Enhance documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
bad6b7e60a
ges: Implement a gesvideoscale
bin
...
This allows user to be in control of when scaling happens in the pipeline.
It can be plugged as an effect and scaling will be forced to happen in
the effect instead of in the compositor.
Without this, it would not be possible for users to, for example,
crop a video source before scaling to the target source size.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5735 >
2024-01-16 20:13:23 +00:00
Thibault Saunier
b75b17cf73
ges: pipeline: Port to encodebin2
...
This way we can use muxing sinks
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5915 >
2024-01-12 12:02:00 +00:00
Thibault Saunier
e3be7e3162
nlecomposition: Simplify the way we ensure stream-start is sent
...
stream-start should always be sent once at the beginning of the stream,
so we should make sure it is pushed at the very beginning and after
resets (going back to READY).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5858 >
2024-01-06 13:22:19 +00:00
Thibault Saunier
b85a9454e5
ges: Expose audioconvert mix-matrix property in audio sources
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5853 >
2024-01-04 12:02:41 +00:00
Guillaume Desmottes
56e72889c1
meson: update PACKAGE_BUGREPORT
...
Some were still using pre-monorepo links.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5762 >
2023-12-05 11:47:51 +01:00
Thibault Saunier
96cf1f8c8e
ges: asset: Avoid trying to load twice the same asset
...
When requesting an asset from different threads we had no
guarantee that during the time we lookup an asset (which didn't exist)
and the time we create the asset with the same type/ID another thread
could not end up doing the same thing. In turns we could end up with
2 different threads loading the exact same asset and the cache
basically forgetting about one of the entries meaning that the user
would never get notified about one of those being ready to be used.
There was also the case when requesting "sync" where the user was
requesting an asset while another thread is creating it so it was
still in "ASSET_INITIALIZING" state, meaning that the returned asset
would be NULL which would be considered as an error in apps.
Since the cache lock is recursive we can just take it during the whole
ges_asset_request_async call and have other method still hold it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5732 >
2023-12-01 21:51:57 +00:00
Philippe Normand
d6c425fc58
ges: Expose FrameCompositionMeta in public API
...
Knowing the positioning and size of each frame in the composition can help
applications optimize their rendering pipeline.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5652 >
2023-11-16 11:45:40 +00:00
Thibault Saunier
23c5025619
ges: Include ges-discoverer-manager.h in ges.h
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5665 >
2023-11-14 22:01:04 +00:00
Jordan Petridis
bbdf6d4653
meson: Workaround python 3.12 warning
...
When we are building againt python 3.12, ignore redundant-decls warning
that will come from the python headers.
```
/usr/include/python3.12/longobject.h:10:26: warning: redundant redeclaration of ‘PyLong_Type’ [-Wredundant-decls]
10 | PyAPI_DATA(PyTypeObject) PyLong_Type;
| ^~~~~~~~~~~
```
https://github.com/python/cpython/issues/106560
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5541 >
2023-11-11 12:47:11 +00:00