Bastien Nocera
32633a9a14
gtk: Fix rotation not being applied when paused
...
The video wouldn't be redrawn immediately when a rotation was applied
but the pipeline was paused, as no new buffers were scheduled to be
displayed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1618 >
2022-02-10 23:33:02 +00:00
Bastien Nocera
ec77a1aac8
gtk: Add a way to queue redrawing the base GTK widget
...
This will be used to request a redraw of the GTK widget should the
display be changed using properties not directly handled by the base GTK
widget, but by one of its descendants.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1618 >
2022-02-10 23:33:02 +00:00
Robert Rosengren
265878c4ba
rtpbin: Safer ts-offset-smoothing-factor calculation
...
Protect the ts-offset-smoothing-factor calculation from overflow. Output
warning and fallback to ts-offset if it is detected.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1409 >
2022-02-08 11:11:35 +00:00
Robert Rosengren
31dd9226ce
rtpbin: add ts-offset-smoothing-factor property
...
Add property to set the TS offset smoothing factor and set default value
to not use it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1409 >
2022-02-08 11:11:35 +00:00
Danny Smith
bc964141c8
rtpbin: applied smoothing to jittery sender time-stamps
...
Applying a moving average filter to the timestamp offsets
for smoothing jittery and preventing aggressive skew handling.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1409 >
2022-02-08 11:11:34 +00:00
Danny Smith
d5e257afd1
rtpbin: added option for setting min_ts_offset in ntp-sync mode
...
Constantly updating the ts_offset results in audiable glitches
when streaming audio using ntp-sync=true. By requiring a minimum
offset before updating ts_offset this can be mitigated. Added a
parameter which can be used to set min_ts_offset in ntp-sync mode.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1409 >
2022-02-08 11:11:34 +00:00
Tim-Philipp Müller
701ed92d27
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1635 >
2022-02-04 22:59:41 +00:00
Tim-Philipp Müller
f0b045a69b
Release 1.20.0
2022-02-03 20:03:15 +00:00
Tim-Philipp Müller
463bafdd23
Update ChangeLogs for 1.20.0
2022-02-03 19:53:18 +00:00
Nirbheek Chauhan
67656c5eeb
docs: Add objc and objcpp files to hotdoc gst_c_sources
...
Hotdoc should be able to extract and parse comments out of these. Just
need to be careful to only add the glob in directories that actually
contain *.m (objc) and *.mm (objcpp) files.
Also fix some doc comments and remove redundant ones.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1614 >
2022-02-01 05:25:42 +05:30
Nirbheek Chauhan
f1449ac116
docs: Rename "OS X" to "macOS" in some documentation
...
No one uses the term "Mac OS X" anymore, it's "macOS". "OS X" is even
worse, because people will usually start the search with "mac".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1607 >
2022-01-30 19:17:18 +05:30
Nirbheek Chauhan
bc5cbc86d8
osxaudio: Document GstOsxAudioElement interface
...
This is listed as a public interface implemented by osxaudio, so we
need to mark it as a plugin API so that it's listed in the
documentation correctly.
This is an ancient symbol, so add it to the symbol index too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1601 >
2022-01-30 03:58:42 +05:30
Nirbheek Chauhan
d05fcadf4e
applemedia: Document vtenc / vtdec elements
...
Also preserve-alpha property should only be exposed on the
vtenc_prores element since h264 does not support transparency.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/94
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1601 >
2022-01-30 02:17:24 +05:30
Sebastian Dröge
4ae3685ac4
soup: Don't store a strong reference to the logging object
...
Otherwise this causes a reference cycle between the session, the logger
and the logging object (i.e. the sink element or session wrapper).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1603 >
2022-01-29 16:22:48 +00:00
Sebastian Dröge
bd6e1a9f70
souphttpsrc: Always abort the session once its last user is gone
...
And wait until there are no pending GSources on the main context anymore
afterwards.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1603 >
2022-01-29 16:22:48 +00:00
Sebastian Dröge
1db95a61c0
souphttpsrc: Post context message after setting up the context from the source's thread
...
This simplifies the code and especially the locking a bit, and makes
sure we only export the session after it is fully set up.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1603 >
2022-01-29 16:22:48 +00:00
Tim-Philipp Müller
31b5243e1d
Release 1.19.90
2022-01-28 14:28:42 +00:00
Tim-Philipp Müller
12fe353a31
Update ChangeLogs for 1.19.90
2022-01-28 14:28:28 +00:00
Sebastian Dröge
0b068c9015
souphttpsink: Protect against spurious wakeups during startup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594 >
2022-01-28 15:47:44 +02:00
Sebastian Dröge
42f5873eeb
souphttpsrc: Don't use the source element after setup from the session thread
...
The source element might be gone already if the session is shared with
other source elements.
As a consequence, do all logging via the session object instead of using
the source element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594 >
2022-01-28 15:41:54 +02:00
Sebastian Dröge
080d85b19a
souphttpsrc: Don't abort all pending operations on the session if shutting down a source with a shared session
...
Only do it for a non-shared session. Other sources would otherwise get
their requests cancelled unexpectedly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594 >
2022-01-28 15:31:55 +02:00
Sebastian Dröge
499e0acd43
souphttpsrc: Don't set boolean to FALSE right after checking that it is FALSE
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594 >
2022-01-28 15:31:25 +02:00
Sebastian Dröge
165be69017
souphttpsrc: soup_session_new_with_options() can't fail with NULL
...
So don't check for it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1594 >
2022-01-28 15:30:56 +02:00
Stéphane Cerveau
d191180061
autodetect: fix debug init category
...
Since the split of elements, the debug category
was default for autodetect.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1590 >
2022-01-28 10:35:35 +00:00
Daniel Kolesa
0bcefa7350
soup: move libsoup session into its own thread
...
Starting with libsoup3, there is no attempt to handle thread safety
inside the library, and it was never considered fully safe before
either. Therefore, move all session handling into its own thread.
The libsoup thread has its own context and main loop. When some
request is made or a response needs to be read, an idle source
is created to issue that; the gstreamer thread issuing that waits
for that to be complete. There is a per-src condition variable to
deal with that.
Since the thread/loop needs to be longer-lived than the soup
session itself, a wrapper object is provided to contain them. The
soup session only has a single reference, owned by the wrapper
object.
It is no longer possible to force an external session, since this
does not seem to be used anywhere within gstreamer and would be
tricky to implement; this is because one would not have to provide
just a session, but also the complete thread arrangement made in
the same way as the system currently does internally, in order to
be safe.
Messages are still built gstreamer-side. It is safe to do so until
the message is sent on the session. Headers are also processed on
the gstreamer side, which should likewise be safe.
All requests as well as reads on the libsoup thread are issued
asynchronously. That allows libsoup to schedule things with as
little blocking as possible, and means that concurrent access
to the session is possible, when sharing the session.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/947
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1555 >
2022-01-28 08:49:09 +00:00
Tim-Philipp Müller
b8f3b44b60
gst-plugins-good: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1579 >
2022-01-27 01:38:39 +00:00
Nirbheek Chauhan
980925a6a3
rtspsrc: Fix critical while serializing timeout element message
...
The "cause" field wasn't registered as a GEnumValue, so do that.
Fixes this critical in gst_structure_to_string():
`gst_value_serialize: assertion 'G_IS_VALUE (value)' failed`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1573 >
2022-01-26 11:07:07 +00:00
Sebastian Dröge
241a26631d
splitmuxsink: Warn when calculating the next fragment time in timecode mode fails
...
But only if timecode mode is enabled as it will fail all the time
otherwise.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1557 >
2022-01-25 12:08:20 +00:00
Nirbheek Chauhan
4f7e881fcc
qt: Retain compatibility with Qt 5.9
...
QSharedPointer.get() was added in Qt 5.11, and it does the same thing
as .data()
https://doc.qt.io/qt-5/qsharedpointer.html#get
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/867
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1565 >
2022-01-25 09:51:16 +00:00
Nicolas Dufresne
ecfbd33dbe
video4linux2: Sync kernel headers against 5.16.0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/965 >
2022-01-21 19:32:30 +00:00
Nicolas Dufresne
01857d7941
v4l2videdec: Fix race condition between drain and state changes
...
This is due to an unsafe usage of the pad task. We didn't ensure proper
ownership of the task. That race involved the task being released too early,
and was detected, luckily, by the glib mutex implementationt that
reported the mutex being disposed while being locked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1478 >
2022-01-21 16:36:50 +00:00
Philippe Normand
0b6df00606
soup: Reintroduce compile-time libsoup dependency for static builds
...
On Android (especially) and for static builds in general it is safer to link
against libsoup and have the dynamic custom loading disabled. For those cases we
can safely assume the application will use either libsoup2 or libsoup3 and not
both.
Fixes #939
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536 >
2022-01-21 07:23:33 +00:00
Philippe Normand
a44a1bf193
soup: Initialize debug category before use
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536 >
2022-01-21 07:23:33 +00:00
Philippe Normand
d764b6c4f2
soup: Fix return types for a couple VTable functions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1536 >
2022-01-21 07:23:33 +00:00
Nirbheek Chauhan
23cc02d7c3
meson: Build cairo subproject when unavailable on the system
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/952
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1523 >
2022-01-21 06:34:33 +00:00
Aleksandar Topic
002c5ae7ef
imagefreeze: Fix example launch line format issue
...
The currently shown example launch line will not run, because it
cannot handle png images.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1547 >
2022-01-20 18:12:39 +00:00
Bastien Nocera
c63365c80f
gtk: Add "video-aspect-ratio-override" property
...
Allow front-ends to override the pixel aspect ratio found inside the
video file itself, or most likely, missing from the video file.
This is a long-standing feature of totem.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137 >
2022-01-12 13:27:31 +00:00
Bastien Nocera
522be6cf7c
gtk: Remove _update_par() forward declaration
...
No functional changes.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137/diffs#note_1102782
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137 >
2022-01-12 13:27:31 +00:00
Bastien Nocera
6f677a8993
gtk: Mark properties as changeable in the PLAYING state
...
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137#note_1102789
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137 >
2022-01-12 13:27:31 +00:00
Bastien Nocera
5dfe92a579
gtk: Fix "pixel-aspect-ratio" property range
...
Fix the arguments passed to gst_param_spec_fraction in the incorrect
order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137 >
2022-01-12 13:27:31 +00:00
Bastien Nocera
488d29eb41
gtk: Rename display pixel aspect ratio related constants
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137 >
2022-01-12 13:27:31 +00:00
Bastien Nocera
17130de754
gtk: Make "pixel-aspect-ratio" changes immediate
...
Schedule a resize when the display's pixel aspect ratio has changed, if
one isn't already scheduled.
Closes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/883
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1137 >
2022-01-12 13:27:31 +00:00
Nirbheek Chauhan
1be6d6ccf5
meson: Add explicit check: kwarg to all run_command() calls
...
This is required since Meson 0.61.0, and causes a warning to be
emitted otherwise:
2c079d855e
https://github.com/mesonbuild/meson/issues/9300
This exposed a bunch of places where we had broken run_command()
calls, unnecessary run_command() calls, and places where check: true
should be used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1507 >
2022-01-09 18:12:47 +05:30
Heinrich Kruger
6dd15acf2d
rtp-hdrext-colorspace: Fix color range encoding
...
The color space RTP header extension encodes color range as specified in
https://www.webmproject.org/docs/container/#Range . In other words:
0: Unspecified,
1: Broadcast Range,
2: Full range,
3: Defined by matrix coefficients and transfer characteristic.
This does not match the values of GstVideoColorRange, so it is not
correct to just write the colorimetry.range value to the header
extension.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1482 >
2021-12-30 16:31:33 +00:00
Jeongki Kim
04f6fbc237
rtpg726depay: fix endian conversion
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1469 >
2021-12-24 14:52:38 +09:00
Corentin Damman
31f4444724
rtpjitterbuffer: fix typo in tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1466 >
2021-12-23 14:31:27 +00:00
Florian Zwoch
3e680d8d5d
aatv: Fixes for rain-mode
...
Some rain-mode properties tried to read float from int value.
Initialize rain after setting rain-mode. Rain was non-functional if
width/height were left at default values.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1459 >
2021-12-20 09:28:50 +00:00
Mathieu Duponchelle
d12d45db77
reddec: implement support for the BUNDLE case
...
When multiple streams are bundled together, there may be more
than one red payload type to handle.
In addition, as the red decoder works by filling in gaps in
the seqnums, there needs to be one rtp_history queue per sequence
domain.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429 >
2021-12-14 17:34:53 +00:00
Mathieu Duponchelle
a09b8ded30
rtpbin: add new request-fec-decoder-full signal for BUNDLE
...
When multiple streams are bundled together, the application needs
to know about the payload type in order to instantiate the appropriate
FEC decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1429 >
2021-12-14 17:34:53 +00:00
Mathieu Duponchelle
5dc280de9f
rtp/redenc|ulpfecenc: add support for TWCC
...
In redenc, when input buffers have a header for the TWCC extension,
we now add one to our wrapper buffers.
In ulpfecenc we add one in that case to our protection buffers.
This makes TWCC functional when UlpRed is used in webrtcbin.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1414 >
2021-12-14 03:26:56 +00:00