Aleksandr Slobodeniuk
89fc20931b
decodebin3: allow to call "dispose" multiple times
...
https://docs.gtk.org/gobject/concepts.html#reference-counts-and-cycles
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3135 >
2022-10-10 10:24:52 +00:00
Aleksandr Slobodeniuk
67caa45a4c
decodebin3: fix mutex leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3126 >
2022-10-06 14:25:27 +00:00
Thibault Saunier
31acfcd875
decodebin3: Do not try to plug a decoder on raw formats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3123 >
2022-10-06 08:41:49 +00:00
Seungha Yang
c9f12b5086
videosink: Don't return unknown end-time from get_times()
...
... in case of reverse playback. Otherwise basesink will not
wait for clock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3121 >
2022-10-06 06:36:42 +00:00
Haihao Xiang
8f5399b156
eglimage: fix Y412_LE DMABuf import support
...
This fixed the error below:
GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp !
"video/x-raw(memory:DMABuf),format=Y412_LE" ! glimagesink
0:00:00.063737691 576978 0x557c11266920 ERROR gleglimage
gsteglimage.c:577:_drm_rgba_fourcc_from_info: Unsupported format for
DMABuf.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389 >
2022-10-05 04:21:03 +00:00
Haihao Xiang
fbbf44c48c
eglimage: add Y410 DMABuf import support
...
This fixed the error below:
GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! \
"video/x-raw(memory:DMABuf),format=Y410" ! glimagesink
0:00:00.040553883 576732 0x55be9b35f920 ERROR gleglimage
gsteglimage.c:577:_drm_rgba_fourcc_from_info: Unsupported format for
DMABuf.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389 >
2022-10-05 04:21:03 +00:00
Haihao Xiang
2d1496bc70
eglimage: add Y212_LE / Y212_BE DMABuf import support
...
This fixed the error below:
GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp \
! "video/x-raw(memory:DMABuf),format=Y212_LE" ! glimagesink
0:00:00.148086281 575148 0x562a6d36d920 ERROR gleglimage
gsteglimage.c:555:_drm_rgba_fourcc_from_info: Unsupported format for
DMABuf.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389 >
2022-10-05 04:21:03 +00:00
Haihao Xiang
18215dcd3b
eglimage: add Y210 DMABuf import support
...
This fixed the error below:
GST_GL_PLATFORM=egl gst-launch-1.0 videotestsrc ! msdkvpp ! \
"video/x-raw(memory:DMABuf),format=Y210" ! glimagesink
0:00:00.039881627 571365 0x56245eba6920 ERROR gleglimage
gsteglimage.c:549:_drm_rgba_fourcc_from_info: Unsupported format for
DMABuf
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1389 >
2022-10-05 04:21:03 +00:00
Tim-Philipp Müller
99bbb1ef35
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3115 >
2022-10-04 03:57:31 +01:00
Tim-Philipp Müller
9820e58be6
Release 1.21.1
2022-10-04 01:18:20 +01:00
Tim-Philipp Müller
c376d80e9b
Update ChangeLogs for 1.21.1
2022-10-04 01:13:59 +01:00
Jan Schmidt
e36440e7bb
playsink: Hold a reference to the soft volume element
...
Always hold a reference to the soft volume element
provided by the playsinkaudioconvert bin helper, the
same as when volume is provided by a sink element,
or the soft volume element gets unreffed too soon.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3108 >
2022-10-03 18:56:41 +00:00
Jan Schmidt
eef76a9491
xvimagesink: Don't leak XvShmImage
...
If allocating an XvShmImage generates an X error, but
still returns some allocated memory, make sure to free it
so it doesn't leak.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100 >
2022-10-03 17:30:51 +00:00
Jan Schmidt
6b7d4f74f2
xvimagesink: Zero initialize mask array
...
Clear the stack array before setting bits to pass to
XISelectEvents(). Fixes spurious crash from an X error:
X Error of failed request: BadValue (integer parameter out of range for operation)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100 >
2022-10-03 17:30:51 +00:00
Jan Schmidt
c8cf714d37
xvimagesink: Don't leak temporary
...
Use a stack variable instead of a temporarily
malloced variable that wasn't being freed
properly. Fixes a small leak of a GstXvTouchDevice
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3100 >
2022-10-03 17:30:51 +00:00
Jan Schmidt
aae7b5416c
decodebin3: Make sure event is writable before modifying
...
Make sure we're operating on a private copy of an event when
modifying it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107 >
2022-10-03 16:40:49 +00:00
Jan Schmidt
bf6d30ed79
urisourcebin: Make sure event is writable before modifying.
...
Make sure we're operating on a private copy of an event before
modifying it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107 >
2022-10-03 16:40:49 +00:00
Jan Schmidt
e5828c8295
decodebin3: Don't lose a ref on EOS event
...
Make sure not to give away the ref on the final EOS
event for which the probe handler is returning GST_PAD_PROBE_REMOVE
when pushing the event manually.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3107 >
2022-10-03 16:40:49 +00:00
Tim-Philipp Müller
4c8a621809
pbutils: descriptions: add meta/x-klv
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094 >
2022-09-30 11:08:45 +03:00
Tim-Philipp Müller
2d53f9f97c
pbutils: descriptions: fix gst_pb_utils_get_caps_description_flags()
...
And add a little unit test.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3094 >
2022-09-30 11:08:45 +03:00
James Cowgill
4edfc86c2a
xmptag: Call gst_tag_register_musicbrainz_tags during init
...
We need to call this to register the MusixBrainz tags before we use
them in an XMP schema.
Fixes this critical when attempting to run jpegparse on a JPEG
containing MusicBrainz XMP tags:
GStreamer-CRITICAL **: 20:41:07.885: gst_tag_get_type: assertion 'info != NULL' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3092 >
2022-09-29 23:29:20 +00:00
Sebastian Dröge
d2c13f0c26
test-effect-switch: Fix some memory leaks and make effect element ownership clearer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3091 >
2022-09-29 22:34:37 +00:00
Philipp Zabel
3b900e1fa4
buffer: drop parent meta in deep copy/foreach_metadata
...
The purpose of a deep buffer copy is to be able to release the source
buffer and all its dependencies. Attaching the parent buffer meta to
the newly created deep copy needlessly keeps holding a reference to the
parent buffer.
The issue this solves is the fact you need to allocate more
buffers, as you have free buffers being held for no reason. In the good
cases it will use more memory, in the bad case it will stall your
pipeline (since codecs often need a minimum number of buffers to
actually work).
Fixes #283
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2928 >
2022-09-28 12:34:44 -06:00
Edward Hervey
c22ddbc187
decodebin3: Fix memory issues with active selection list
...
This had a couple of issues:
* The backing strings (from GstStream) could disappear
* The actual list wasn't properly reset/freed when decodebin3 was re-used
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3083 >
2022-09-27 16:21:25 +02:00
Nirbheek Chauhan
a0e6278dba
meson: Use implicit builtin dirs in pkgconfig generation
...
Starting with Meson 0.62, meson automatically populates the variables
list in the pkgconfig file if you reference builtin directories in the
pkgconfig file (whether via a custom pkgconfig variable or elsewhere).
We need this, because ${prefix}/libexec is a hard-coded value which is
incorrect on, for example, Debian.
Bump requirement to 0.62, and remove version compares that retained
support for older Meson versions.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1245
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061 >
2022-09-21 21:08:11 +05:30
Thibault Saunier
bb840bd116
videorate: Add a max-closing-segment-duplication-duration
property
...
This allows users to let videorate fully fill the segments when received
EOS or on new segment, removing an arbitrary limit of 25 duplicates which
might not be what the user wants (for example on low FPS stream in GES,
that sometimes leaded to broken behavior)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3000 >
2022-09-20 13:23:02 +00:00
Xavier Claessens
5f0493d33a
meson: Set install_tag on some targets
...
Trying to follow recommendation from Meson documentation:
https://mesonbuild.com/Installing.html#installation-tags
Move tools into 'bin' or 'bin-devel' categories to keep only libs and
plugins in the default 'runtime' category. This simplifies distribution
of GStreamer application skipping parts that are not needed, similarly
to what Cerbero does by hardcoding huge list of files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3017 >
2022-09-20 10:08:15 +00:00
Edward Hervey
8c49fcbc83
video-converter: Fix doc
...
Argument names weren't correct
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3043 >
2022-09-19 08:54:48 +02:00
Thibault Saunier
e866c1d967
decodebin2: Do not fail if one of the decoders isn't able to output the requested format
...
when expose-all=False
When trying to find an decoder in that case, we loop over the different
decoder factories, and check that it outputs a format that matches the
requested one (through the :caps property), but if we find a decoder
that do match but later on some other don't we end up failing
autopluging. This patch ensures that we still plug the decoder that can
work.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3011 >
2022-09-15 21:03:14 +00:00
Thibault Saunier
a75f74d2cd
gl:meson: Minor typo fix
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954 >
2022-09-15 20:11:46 +00:00
Thibault Saunier
ebcaf35839
doc: Do not build plugins to build the doc
...
It is not actually necessary
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2954 >
2022-09-15 20:11:46 +00:00
Thibault Saunier
1c4950718f
discoverer: Fix discovering source that expose raw audio/video
...
Exposes a "uridecodebin:post-stream-topology" property as the discoverer
needs to have topology information about all streams so we need
`uridecodebin` to always plug decodebins for that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009 >
2022-09-15 19:25:01 +00:00
Thibault Saunier
71eda6e2e6
uridecodebin: Fix some property documentation syntax
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009 >
2022-09-15 19:25:01 +00:00
Thibault Saunier
1c6adcab89
uridecodebin: Ensure that pads caps are set before exposing them
...
We are supposed to guarantee that pads that are exposed have the caps
set, but for sources that have pad with "all raw caps" templates, we end
up exposing pads that don't have caps set yet, which can break code (in
GES for example).
To avoid that we let uridecodebin plug a `decodebin` after such pads and
let decodebin to handle that for us. In the end the only thing that
decodebin does in those cases is to wait for pads to be ready and expose
them, after that `uridecodebin` will expose those pads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3009 >
2022-09-15 19:25:01 +00:00
Zebediah Figura
c4681ac428
meson: Build with -Wl,-z,nodelete to prevent unloading of dynamic libraries and plugins
...
GLib made the unfortunate decision to prevent libgobject from ever being
unloaded, which means that now any library which registers a static type
can't ever be unloaded either (and any library that depends on those,
ad nauseam).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/778 >
2022-09-13 15:48:52 +00:00
Seungha Yang
11e4eb5490
video-format: Workaround MSVC build error
...
../gst-libs/gst/video/video-format.c(6779): error C2219: syntax error:
type qualifier must be after '*'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2719 >
2022-09-08 21:01:37 +00:00
Matthew Waters
1e269a3c6d
subparse: fix crash when parsing invalid timestamps in mpl2
...
Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=49245
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2989 >
2022-09-07 07:20:53 +00:00
Thibault Saunier
6a4425e46a
meson: Call pkgconfig.generate in the loop where we declare plugins dependencies
...
Removing some copy pasted code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Thibault Saunier
bc9c1e3956
meson: Namespace the plugins_doc_dep/libraries variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Thibault Saunier
b5e90fe579
meson: Rename plugins list and make them "dependency" objects
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2970 >
2022-09-01 21:17:35 +00:00
Ádám Balázs
55716ac21c
gstaudioconvert: doc: Fix mix-matrix example
...
mix-matrix should contain float elements, modify the example to do so
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2966 >
2022-08-31 17:24:51 +00:00
8648f5f7d2
audiovisualizer: fix buffer mapping to not increase refcount
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2953 >
2022-08-30 15:22:42 +00:00
Sebastian Dröge
65b15f72b5
x(v)imagesink: Don't create invalid GstNavigationModifierType by simply passing through X11 event states
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2931 >
2022-08-25 14:57:22 +00:00
Mathieu Duponchelle
8756f523d1
playback: add onvif metadata caps to raw caps
...
+ remove encoding from x-onvif-metadata caps output by qtdemux
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2889 >
2022-08-24 12:21:18 +03:00
Mathieu Duponchelle
31c1e586c3
videoconvert: fix passthrough on equivalent transfer
...
When the input info and output info are equal, except for the
transfer functions that are *not* equivalent, we need to set up
a converter as we won't be passthrough.
Fixes an assertion in that case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2929 >
2022-08-23 16:02:31 +02:00
Guillaume Desmottes
cb1dc5c9ac
base: video-converter: add accessors for input and output formats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2905 >
2022-08-17 12:33:54 +00:00
Seungha Yang
dbc8a7ab18
videoconvert,videoscale: Do conversion in videoconvert and scaling in videoscale
...
Keep behaving the same as before videoconvertscale port
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778 >
2022-08-16 12:08:36 +00:00
Seungha Yang
0d5c937642
Revert "videoconvertscale: Add properties to disable scaling/converting in videoconvert/videoscale"
...
This reverts commit cd7a91cef1
.
Reverting properties, scaling in videoconvert and converting in
videoscale will be disabled by the other commit
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2778 >
2022-08-16 12:08:36 +00:00
Khem Raj
ce1f1c9eff
ssaparse: include required system headers for isspace() and sscanf() functions
...
Newer compilers ( clang 15 ) have turned stricter and errors out instead
of warning on implicit function declations
Fixes
gstssaparse.c:297:12: error: call to undeclared library function 'isspace' with type 'int (int)'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
while (isspace(*t))
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2879 >
2022-08-14 08:32:05 +00:00
Sebastian Dröge
edb0e47074
rtspurl: Use gst_uri_join_strings() in gst_rtsp_url_get_request_uri_with_control() instead of a hand-crafted, wrong version
...
For example the query string of the base must not be taken over to the
request URL unless there is no control path, and control paths can be
absolute and must not be considered relative if they start with a /.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/971
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2868 >
2022-08-12 18:52:29 +00:00