Ming Qian
fe56af607b
v4l2videodec : refactor the setup process of capture
...
v4l2videodec do some refactoring so that it can support
dynamic resolution change event.
1.wrap the setup process of capture as a function,
as decoder need setup the capture again when
dynamic resolution change event is received.
2.move the function "remove_padding"
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1381 >
2022-03-01 00:00:50 +00:00
Célestin Marot
cabff7a20f
video-info: encoded format can have RGB color-matrix ( Fixes #1435 )
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1435 >
2022-02-28 16:05:43 +00:00
Wu Tong
c60ac7a04b
MSDK: Add _context_query() and avoid compile error on Windows
...
To avoid compile error on Windows, macro definitions are added to suppress va
variables. In the meantime, add function _context_query() to query
context on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1693 >
2022-02-28 12:54:23 +00:00
Sebastian Dröge
5849570fe8
buffer: Clarify that the MARKER flag maps to the corresponding RTP header flag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1776 >
2022-02-28 10:13:11 +00:00
Sebastian Dröge
b0afaffc5d
rtp: In payloaders map the RTP marker flag to the corresponding buffer flag
...
This allows downstream of a payloader to know the RTP header's marker
flag without first having to map the buffer and parse the RTP header.
Especially inside RTP header extension implementations this can be
useful to decide which packet corresponds to e.g. the last packet of a
video frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1776 >
2022-02-28 10:13:11 +00:00
Joseph Donofry
630dbea94c
osxaudiosrc: Support a device as both input and output
...
osxaudiodeviceprovider now probes devices more than once to determine
if the device can function as both an input AND and output device.
Previously, if the device provider detected that a device had any output
capabilities, it was treated solely as an Audio/Sink. This causes issues
that have both input and output capabilities (for example, USB interfaces
for professional audio have both input and output channels). Such devices
are now listed as both an Audio/Sink as well as an Audio/Source.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1385 >
2022-02-28 06:51:21 +00:00
Sebastian Dröge
2fc91717cb
registry: Fix multi-line #warning
compiler warning
...
subprojects/gstreamer/gst/gstregistry.c:1593: unexpected character `"'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1802 >
2022-02-28 06:01:24 +00:00
Sebastian Dröge
6c3642da49
video-format-info: Use correct parameter name in gst_video_format_info_extrapolate_stride() docs
...
../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.c:7570: Warning: GstVideo: gst_video_format_info_extrapolate_stride: unknown parameter 'info' in documentation comment, should be 'finfo'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1803 >
2022-02-27 13:19:49 +02:00
Sanchayan Maity
cc3419daf6
rtp: ldac: Set frame count information in payload
...
The RTP payload seems to be required as it carries the frame count
information. Also, gst_rtp_base_payload_allocate_output_buffer had
the second argument incorrect.
Strangely some devices like Shanling MP4 and Sony XM3 would still
work without this while some like the Sony XM4 do not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1797 >
2022-02-26 21:09:57 +05:30
Sanchayan Maity
7c9a315578
ldac: Set eqmid in caps
...
We set the eqmid in caps to be usable downstream by rtpldacpay for
knowing the frame count.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1797 >
2022-02-26 17:05:22 +05:30
Vivia Nikolaidou
7cebd5b359
tsmux: Skip empty buffers
...
They can be created e.g. by aggregator when there is a gap. Such buffers
should not be muxed at all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1611 >
2022-02-25 21:29:43 +00:00
Xavier Claessens
3d8372cc50
devenv: Add some missing GStreamer specific env variables
...
This should make "meson devenv" closer to what "gst-env.py" sets.
- GST_VALIDATE_SCENARIOS_PATH
- GST_VALIDATE_APPS_DIR
- GST_OMX_CONFIG_DIR
- GST_ENCODING_TARGET_PATH
- GST_PRESET_PATH
- GST_PLUGIN_SCANNER
- GST_PTP_HELPER
- _GI_OVERRIDES_PATH
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768 >
2022-02-25 20:35:26 +00:00
Xavier Claessens
968a26e6f6
devenv: Prepend to GST_PLUGIN_PATH
...
Use may have their own GST_PLUGIN_PATH, or a custom user subproject
could have their own plugins too. This is also what gst-env.py does.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1768 >
2022-02-25 20:35:26 +00:00
Sebastian Dröge
3941eb7dbd
audioconvert: Add dithering-threshold property
...
By default, no dithering is applied if the target bit depth is above 20
bits. This new property allows to apply dithering nonetheless in these
cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1730 >
2022-02-25 19:32:28 +00:00
Jan Alexander Steffens (heftig)
e10bd02e1d
fdkaacdec: Support arbitrary channel configs
...
Try to match the config to GStreamer positions. If something doesn't
fit, fall back to a set of unpositioned channels.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561 >
2022-02-25 18:20:52 +00:00
Jan Alexander Steffens (heftig)
d4b4ffc944
fdkaacdec: Use predefined channel layouts
...
This limits the decoder to the layouts predefined for the encoder
(including the MPEG standard layouts) but greatly simplifies the
implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1561 >
2022-02-25 18:20:52 +00:00
Vivia Nikolaidou
e0d5e022a1
tsmux: Lock mux->tsmux, the programs hash table, and pad streams
...
They contain implementations that are not thread-safe (e.g. GList, GHashTable).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1616 >
2022-02-25 17:42:52 +00:00
Sebastian Dröge
e119cdee3b
audio-quantize: Switch dither PRNG from LCG to xorshift
...
While this is slightly more expensive (~48% slower per random number) it
does not cause any measurable difference when running through a complete
audio conversion pipeline.
On the other hand its random numbers are of much higher quality and on
spectrograms for 32 bit to 24 bit conversion the difference is clearly
visible.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1729 >
2022-02-25 12:41:18 +00:00
Jan Alexander Steffens (heftig)
d6ec88c775
deinterlace: greedyh: Stop adding 2 to cur_field_idx
...
Just a simplification.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:56 +00:00
Jan Alexander Steffens (heftig)
dc1ae0aaa0
deinterlace: greedyh: Use _plane in _packed, fix planar formats
...
This greatly reduces code duplication. It also exposed the cause for
planar formats not being properly deinterlaced:
The planar path was missing the initial offset adjustment that the
packed path did to `L2` and `L2P` in the case of an even field, which
caused it to select the wrong weave lines every other field.
Add those offsets in `_plane`.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1047
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:55 +00:00
Jan Alexander Steffens (heftig)
625cbcf70a
deinterlace: greedyh: Rename _planar_plane to _plane
...
As well as `i` to `plane`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:55 +00:00
Jan Alexander Steffens (heftig)
7e16955e4d
deinterlace: greedyh: Move code from _planar into _planar_plane
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:55 +00:00
Jan Alexander Steffens (heftig)
19ca706fe8
deinterlace: greedyh: Move _planar_plane upwards
...
In preparation of refactoring. No functional change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1790 >
2022-02-25 12:06:55 +00:00
Jan Schmidt
1726361622
gst-play: Fix trick-mode handling.
...
The instant-rate value in the TrickMode enum is a
flag, but the other values are not. Move instant-rate
to the end of the enum and give it a value large enough
for it to be used without modifying the trick-mode
setting.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1788 >
2022-02-25 08:07:25 +00:00
Sebastian Dröge
19b638debe
appsrc: Store strong references to the expected buffers in the tests
...
Otherwise the buffers might already be freed as they were only owned by
the GstSample / appsrc and potentially don't survive until the pad
probe, as observed in some CI runs of the tests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1787 >
2022-02-25 07:26:59 +00:00
Mengkejiergeli Ba
b41c70aed5
msdkdec: Fix uninitialized variables
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1731 >
2022-02-25 03:11:29 +00:00
Mengkejiergeli Ba
e1090c152c
msdk: Fix unchecked return values
...
There are several calls of gst_video_info_from_caps and gst_video_frame_copy
without checks for the returned values. This patch adds all necessary
function return checks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1738 >
2022-02-25 02:04:20 +00:00
Jordan Petridis
be2815a07a
ci: Disable windows jobs for now
...
The runner is down and under maintainance.
2022-02-24 15:34:34 +02:00
Jan Alexander Steffens (heftig)
4567d569ca
videoaggregator: Correct use of start_time/end_time
...
When 29713c5d
changed most uses of `start_time` and `end_time` to
`start_running_time` and `end_running_time`, it missed two.
Fixes: 29713c5d40
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1038
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1779 >
2022-02-22 16:00:54 +00:00
Ruben Gonzalez
302628a4bb
x264enc: Update long-name and description
...
Update x264enc long-name to be more than just the name. Then the
description also was updated to be longer than the long-name, and
similar to the plugin description.
Finally, as I am here, H264 was replaced by H.264 and x264 is only a
plugin (not plugins).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1771 >
2022-02-22 15:28:21 +00:00
Seungha Yang
ad73f73356
qsvencoder: Fix caps leak in Linux build
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769 >
2022-02-22 12:55:26 +00:00
Seungha Yang
20328914dc
qsv: Fix debug category name of qsvallocator
...
Remove gst prefix to make $env:GST_DEBUG="qsv*:6" work for qsvallocator
as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1769 >
2022-02-22 12:55:26 +00:00
Mengkejiergeli Ba
108846ed97
bad:docs: Add vaav1dec in documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1773 >
2022-02-22 11:03:28 +00:00
Tim-Philipp Müller
e3ae87a648
ci: remove jenkins files which are no longer used
...
Fixes #1031
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1763 >
2022-02-22 10:49:49 +00:00
Guillaume Desmottes
8bbdd9addb
rtpsource: fix rtp_source_get_nack_deadlines doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1775 >
2022-02-22 09:40:35 +00:00
Sebastian Dröge
2d134c0432
rtpbasepayload: Copy all buffer metadata instead of just GstMetas for the input meta buffer
...
This gives RTP header extensions some more metadata to work from.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1774 >
2022-02-22 10:54:23 +02:00
Sebastian Dröge
a10b35c011
gl: Mark GL memory GType functions as deprecated
...
They can't be used in any useful way. The type of every GstMemory is
always GST_TYPE_MEMORY and the subtyping relationship has to be
implemented on top of that via the associated allocator and mem_type
string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Dröge
bd867aea4f
gl: Add #ifndef GST_REMOVE_DEPRECATED
for existing deprecated API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Dröge
5acb8ac559
gl: Add versioned Deprecated
marker to gst_gl_display_find_window
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Dröge
5d8705437d
gl: Replace existing G_DEPRECATED_FOR usage with GST_GL_DEPRECATED_FOR
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Dröge
6d83665d7a
gl: Add GST_GL_DEPRECATED
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Sebastian Dröge
8ab1c5791b
d3d11: Remove non-existing gst_d3d11_memory_get_type() API from header
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1764 >
2022-02-21 21:26:43 +00:00
Dmitry Osipenko
248f143fa3
v4l2codecs: Support YUV420M format
...
YUV420M format of V4L essentially is I420 with separate memory planes.
It's used by NVIDIA Tegra V4L decoder. Support this format by v4l2codecs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1727 >
2022-02-21 21:58:19 +03:00
Matthew Waters
b0f72ed788
ulpfecenc: slightly safer dispose impl
...
Technically dispose can be called more than once (even if gstelement is
not actually set up to do that) so need to protect against that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1761 >
2022-02-21 09:43:33 +00:00
Matthew Waters
629b427a13
ulpfecenc: fix unmatched free() call
...
One must always match a g_slice_new with a g_slice_free and a g_new with
a g_free. This was not the case for the internal ctx struct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1761 >
2022-02-21 09:43:33 +00:00
Matthew Waters
acc9024039
rtpulpfecenc: add some debug logging
...
Like, what configuration we are using or whether a fec packet is
generated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1761 >
2022-02-21 09:43:33 +00:00
Nirbheek Chauhan
4e22ef5bd2
matroska-demux: Emit a warning when no codec data found
...
It is bad if an mkv file does not have codec data for the ProRes
variant, so we should emit a warning. ffmpeg does the same thing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1739 >
2022-02-21 08:49:28 +00:00
Sebastian Groß
6372aaa608
audiovisualizer: shader: Fix dframe out of bound write
...
shader_fade_and_move_horiz_out writes a complete stride at the end of its
dframe data
This led to SIGSEGV since the stride reached into sframe->map[0]->memory
which could not be umpapped later on.
This is due to `d` is increased twice. Once at the end of the upper loop
and at the start of the lower loop.
The corresponding dframe stride is therefore skipped.
Rewind `d` and start at the correct position.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1702
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1751 >
2022-02-21 08:20:44 +01:00
Matthew Waters
6a7f2ca819
tests/clock: avoid a race cranking
...
Scenario:
- Source 1 requesting and waiting a clock id
- Source 2 requesting and waiting on a clock id
- Test attempting to crank both sources in the same GstHarness
gst_test_clock_crank() originally dropped locks between the retrieving
of the next clock id and advancing to the next clock id. This would
mean that both sources would race each other attempting to complete
their clock waits. Sometimes the operations would be performed in the
correct order, other times they would not and a FALSE return value would
be produced.
This would lead to an assertion in gst_harness_push_from_src() expecting
that all clock cranks to succeed.
Fix by ensuring that the clock wait produced is dealt with before
processing the next by not dropping the relevant locks after retrieving
the next clock id.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1299 >
2022-02-21 03:23:23 +00:00
Seungha Yang
8ff5f10a40
d3d11screencapturesrc: Use staging buffer pool for performance
...
By using staging pool/buffer, we can avoid per frame
staging texture -> system memory copy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1756 >
2022-02-20 23:43:18 +00:00