Stéphane Cerveau
4f6af9e57a
volume: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:59:00 +00:00
Stéphane Cerveau
b4905798bb
videotestsrc: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:59:00 +00:00
Stéphane Cerveau
90f640d90d
videoscale: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:59:00 +00:00
Stéphane Cerveau
328f7c0b48
videorate: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
aa230852ba
videoconvert: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
a3875c7d02
overlaycomposition: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
4e9520ab34
encoding: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
0ae61fd48d
compositor: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
a71bf2e3da
adder: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
84e575dd59
cdparanoiasrc: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
2cc37e706c
audioconvert: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
59163a107d
pango: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
d41e8c68bf
theora: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
2a8adec5f2
vorbis: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
5e728ee5b5
opus: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
cd5d4b025d
gl: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
5dcdc09077
gio: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
160ba7d0e9
app: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
f94d9f1cc5
audiomixer: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
520a682c7c
tcp: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Stéphane Cerveau
3d3831656d
rawparse: allow per feature registration
...
Split plugin into features including
dynamic types which can be indiviually
registered during a static build.
More details here:
https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/661
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:58:59 +00:00
Nicholas Jackson
ad7f7c87f0
avmux: fix segfault when a plugin's long_name is NULL
...
Some plugins register an empty long_name field. Check for this
before calling strcmp to avoid a crash.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/114 >
2021-03-16 15:44:23 +00:00
Nirbheek Chauhan
2c3d78c9a6
webrtc/signalling: Document cert exception needed for browsers
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-examples/-/issues/28
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-examples/-/merge_requests/34 >
2021-03-16 19:41:27 +05:30
Thibault Saunier
8a0224a198
wpe: Ignore 'error-cancelled' 'failures'
...
This happens when the user use the 'load-bytes' signal and nothing is wrong there
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2085 >
2021-03-16 13:06:22 +00:00
Jan Alexander Steffens (heftig)
a379e0e5f1
audioaggregator: Consider converting for equal audio formats
...
The converter might have a non-passthrough mix-matrix. The converter
can determine whether it should pass through, so let it, then remove it
if it's indeed a passthrough.
FIXME: Not converting when we need to but the config is invalid (e.g.
because the mix-matrix is not the right size) produces garbage. An
invalid config should cause a GST_FLOW_NOT_NEGOTIATED.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1070 >
2021-03-16 13:46:56 +01:00
Jan Alexander Steffens (heftig)
43449d9fb2
audioaggregator: Clean up _convert_pad_update_converter
...
No functional change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1070 >
2021-03-16 13:46:55 +01:00
Seungha Yang
3f08fcb4ff
d3d11decoder: WARNING if ID3D11VideoDevice is unavailable, not ERROR
...
gst_d3d11_decoder_new() method is also used for device capability
checking during plugin init. Although we are checking hardware
flag prior to that, it doesn't guarantee ID3D11VideoDevice interface.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2088 >
2021-03-16 12:39:23 +00:00
Seungha Yang
1d6cdbdc90
mediafoundation: Fix resource leak
...
IMFActivate would hold its internal objects unless user call ShutdownObject(),
even if we release the IMFActivate. Here internal objects may
include Direct3D objects, such as texture, device handle for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2087 >
2021-03-16 09:47:41 +00:00
Seungha Yang
58e451325b
d3d11colorconvert: Fix caps leak
...
GstBaseTransform::fixate_caps() takes ownership of passed
othercaps argument.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2086 >
2021-03-16 08:39:46 +00:00
Nirbheek Chauhan
9b01036664
rtspconnection: Consistently translate GIOError to GstRTSPResult
...
The users of this API need to be able to differentiate between EINTR
and ERROR. For example, in rtspsrc, gst_rtsp_conninfo_connect()
behaves differently when gst_rtsp_connection_connect_with_response_usec()
returns an ERROR or EINTR. The former is an element error while the
latter is simple a GST_ERROR since it was a user cancellation of the
connection attempt.
Due to this, rtspsrc was incorrectly emitting element errors while
going to NULL, which would or would not reach the application in
a racy manner.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1069 >
2021-03-16 08:18:11 +00:00
Víctor Manuel Jáquez Leal
2b37910631
va: example: multiple-vpp: test sharpen with dynamic controller
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2082 >
2021-03-16 06:30:06 +00:00
Víctor Manuel Jáquez Leal
191b6cf5d4
va: postproc: synchronize segment with stream time
...
This is required to use dynamic controllable parameters.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2082 >
2021-03-16 06:30:06 +00:00
Seungha Yang
309a940614
d3d11decoder: Do negotiation again per forward/reverse playback mode change
...
For reverse playback, we are always copying decoded
frame to downstream buffer. So the pool size can be
and need to be large enough.
In case that forward playback, however, we need to restrict
the max pool size for performance reason. Otherwise decoder
will keep copying decoded texture to downstream buffer pool
if decoding is faster than downstream throughput
performance and also there are queue element between them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2083 >
2021-03-16 05:54:41 +00:00
Jade Macho
1b81e05ab9
Hook up audio/x-xma: xmaversion: [1,2] to AV_CODEC_ID_XMA[1,2]
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/124 >
2021-03-15 20:35:35 +01:00
Nirbheek Chauhan
f37afdafff
rtspsrc: Fix state changes from PAUSED to PLAYING
...
This was accidentally broken in the last commit that touched this
because I missed the fall-through in the case immediately above this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/906 >
2021-03-16 00:10:24 +05:30
Sebastian Dröge
dcea8baa14
avcodecmap: Don't try converting channel layouts with more than 64 channels
...
We only support up to 64 channels in GStreamer with a specific layout so
it's safe to assume a NONE layout in this case.
Also the arrays of channel positions are allocated everywhere with 64
elements so don't try setting more than 64 to NONE as that will cause
stack corruptions and similar memory safety issues.
Thanks to Natalie Silvanovich for reporting this issue.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/92
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/120 >
2021-03-15 18:56:06 +02:00
Sebastian Dröge
3aba7d1e62
rmdemux: Make sure we have enough data available when parsing audio/video packets
...
Otherwise there will be out-of-bounds reads and potential crashes.
Thanks to Natalie Silvanovich for reporting.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/issues/37
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly/-/merge_requests/74 >
2021-03-15 12:36:42 +00:00
Sebastian Dröge
242f3cae6d
matroskademux: Fix extraction of multichannel WavPack
...
The old code had a couple of issues that all lead to potential memory
safety bugs.
- Use a constant for the Wavpack4Header size instead of using sizeof.
It's written out into the data and not from the struct and who knows
what special alignment/padding requirements some C compilers have.
- gst_buffer_set_size() does not realloc the buffer when setting a
bigger size than allocated, it only allows growing up to the maximum
allocated size. Instead use a GstAdapter to collect all the blocks
and take out everything at once in the end.
- Check that enough data is actually available in the input and
otherwise handle it an error in all cases instead of silently
ignoring it.
Among other things this fixes out of bounds writes because the code
assumed gst_buffer_set_size() can grow the buffer and simply wrote after
the end of the buffer.
Thanks to Natalie Silvanovich for reporting.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/859
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/902 >
2021-03-15 12:34:49 +00:00
Sebastian Dröge
6c461e90bc
matroskademux: Initialize track context out parameter to NULL before parsing
...
Various error return paths don't set it to NULL and callers are only
checking if the pointer is NULL. As it's allocated on the stack this
usually contains random stack memory, and more often than not the memory
of a previously parsed track.
This then causes all kinds of memory corruptions further down the line.
Thanks to Natalie Silvanovich for reporting.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/858
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/902 >
2021-03-15 12:34:04 +00:00
Seungha Yang
3a99517f7c
d3d11videosink: Avoid switching conversion tool during playback
...
Decoder might be able to copy decoded texture to the other buffer pool
during playback depending on context. In that case, copied one
has no D3D11_BIND_DECODER bind flag.
If we used ID3D11VideoProcessor previously for decoder texture,
and incoming texture supports ID3D11VideoProcessor as well even if it has no
D3D11_BIND_DECODER flag (having D3D11_BIND_RENDER_TARGET for example),
allow zero-copying instead of using our fallback texture.
Frequent conversion tool change (between ID3D11VideoProcessor and generic shader)
might result in inconsistent image quality.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2084 >
2021-03-15 21:00:22 +09:00
Tim-Philipp Müller
f4a1428a69
tag: id3v2: fix frame size check and potential invalid reads
...
Check the right variable when checking if there's
enough data left to read the frame size.
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/876
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1065 >
2021-03-15 11:44:22 +00:00
Nirbheek Chauhan
3b2f3939a4
design: Update states architectural documentation
...
We now have STATE_TARGET, which is subtly different from STATE_PENDING
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-docs/-/merge_requests/149 >
2021-03-15 16:11:12 +05:30
Nirbheek Chauhan
76d624b2df
rtspsrc: Do not send PAUSE command when going to GST_STATE_NULL
...
This usually doesn't matter, but it is disruptive when streaming from
a shared media since it will pause all other clients when any client
exits.
This new behaviour is opt-in and should be safe because you need to
set the NULL state on rtspsrc directly, instead of just on the
pipeline. See the updated documentation for an explanation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/901 >
2021-03-15 12:59:09 +05:30
Víctor Manuel Jáquez Leal
c74b230579
va: postproc: only drop filters if they change
...
Currently, at every frame the filters array is recreated. This is not
optimal, since it should be only rebuilt if the VA filter's related
properties change. This patches does that by using a flag.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2078 >
2021-03-15 06:10:27 +00:00
Seungha Yang
72345875b1
d3d11decoder: Refactor device open step and negotiation
...
* Remove redundant method arguments
* Don't allocate staging texture if downstream supports d3d11 memory
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079 >
2021-03-14 17:34:20 +09:00
Seungha Yang
347d9ceb4e
d3d11decoder: Move profile GUID handling into decoder object
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079 >
2021-03-14 16:31:31 +09:00
Seungha Yang
1c1cfc4ba7
d3d11decoder: Get rid of private struct
...
Completely hide member variables
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079 >
2021-03-14 16:30:19 +09:00
Seungha Yang
78e4251750
Revert "d3d11vp9dec: Add support for internal frame resizing"
...
This reverts commit 58a4c33a0e
We should use ID3D11VideoProcessor instead of shader
to avoid copy. We need to revisit this topic later
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079 >
2021-03-14 16:30:15 +09:00
Seungha Yang
615f52f2f7
d3d11device: Hold ID3D11VideoDevice and ID3D11VideoContext object
...
... instead of QueryInterface-ing per elements. Note that
ID3D11VideoDevice and ID3D11VideoContext objects might not be available
if device doesn't support video interface.
So GstD3D11Device object will create those objects only when requested.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2079 >
2021-03-14 14:44:55 +09:00
Seungha Yang
b08310f748
d3d11: Run gst-indent for all C++ code
...
Since all d3d11 plugin implementation code are C++, we need to
run gst-indent manually. This is preparation for later
"gst-indent sys/d3d11/*.cpp" run.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2077 >
2021-03-14 13:40:12 +09:00