Edward Hervey
d9b1e1e99f
tsdemux: Improve gap detection
...
We should also take into account whether data is currently pending when checking
for gap on streams. It could very well be that some streams have very low
bitrate (and spread out) data. For those we don't want to push out a gap event.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179 >
2021-10-18 11:23:25 +00:00
Edward Hervey
0ff569d408
tsdemux: Handle "negative" timestamps
...
This is only enabled in push time mode. Furthermore it's only enabled for now if
PCR is to be ignored.
The problem is dealing with streams where the initial PTS/DTS observation might
be greater than following ones (from other PID for example). Before this patch,
this would result in sending buffers without any timestamp which would cause a
wide variety of issues.
Instead, pad segment and buffer timestamps with an extra
value (packetizer->extra_shift, default to 2s), to ensure that we can get valid
timestamps on outgoing buffers (even if that means they are before the segment
start).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179 >
2021-10-18 11:23:25 +00:00
Edward Hervey
74e9d44db3
tsdemux: Handle streams with bogus PTS vs DTS
...
PTS and DTS should be within a reasonable distance of each other.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179 >
2021-10-18 11:23:25 +00:00
Edward Hervey
6efa9dc00e
tsdemux: Handle PTS->TS at wraparound
...
This has been a FIXME for ages.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1179 >
2021-10-18 11:23:25 +00:00
Rob Agar
66a24023c0
webrtcbin: fix prevention of webrtcbin deletion due to ref held by probe callback
...
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/810
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1150 >
2021-10-18 10:42:12 +01:00
Seungha Yang
be9cf6c9cd
d3d11: d3d11{convert,scale}: Add add-borders property
...
Functionally identical to that of videoscale element.
When disabled, d3d11convert or d3d11scale element will scale
image without adding borders, meaning that display aspect ratio
will not be preserved.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1170 >
2021-10-17 12:36:28 +00:00
Víctor Manuel Jáquez Leal
ff0fae50af
vapostproc: Add add-borders property to keep dar
...
Just as videoscale, it enables add-borders property (FALSE by default)
in vapostproc to add border, if necessary, to keep the display aspect
ratio from the original image.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1169 >
2021-10-17 11:24:26 +00:00
Víctor Manuel Jáquez Leal
52c09778b7
vapostproc: Fix early fixation.
...
First copy missing fields and then fixate all remaining fields.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1169 >
2021-10-17 11:24:26 +00:00
Tim-Philipp Müller
e7c8b23b71
ofa: remove ofa audio fingerprinting plugin
...
I think the MusicIP database for this has been defunct for years,
so I can't imagine this plugin is particularly useful or still
used by anyone.
See https://musicbrainz.org/doc/Fingerprinting#PUID
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1153 >
2021-10-17 10:17:00 +00:00
Nirbheek Chauhan
40fb39502e
meson: Define cpp_std in the top-level project()
...
Due to a bug, meson ignores ${lang}_std settings in default_options
for subprojects: https://github.com/mesonbuild/meson/issues/1889
This causes build failures when a subproject requires c++11 or c++14,
etc. Compilers that support those cpp_stds are very common, and all
the toolchains that we support include c++ compilers, so we can
add cpp_std=c++14 to the top-level.
This fixes the webrtc-audio-processing build on Linux, and harfbuzz on
macOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1133 >
2021-10-17 09:36:09 +00:00
Seungha Yang
47a53f5063
meson: wasapi2,mediafoundation: Work around Windows SDK header issue
...
Some SDK headers are not standard compliant, so MSVC will
complain when such headers are in use with "/permissive-" compile
option. Use "/Zc:twoPhase-" to work around the issue as documented in
https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-160#windows-header-issues
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1174 >
2021-10-17 08:01:47 +00:00
Thibault Saunier
e94e60c342
lame:meson: Avoid using fallback when we could use system install
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1176 >
2021-10-17 01:59:35 -03:00
Tim-Philipp Müller
116bc128c1
subprojects: update vorbis wrap to 1.3.7 and add fallback url
...
The Windows CI runners complain about self-signed certificates
with the download.xiph.org urls.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1175 >
2021-10-16 23:53:04 +01:00
Tim-Philipp Müller
8954d84025
subprojects: update ogg wrap to 1.3.5 and add fallback url
...
The windows ci runners complain about a self-signed certificate
with the download.xiph.org urls.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1175 >
2021-10-16 23:51:18 +01:00
Thibault Saunier
12bd0f5907
validate:known_issues:rtsp: Mark error message on bus as known
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/814
And reindent file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1171 >
2021-10-16 11:43:13 -03:00
Thibault Saunier
a75382eaff
meson: Mark newly fdkaac/ogg/vorbis as allow fallback
...
This way when the dep is `auto` we will fallback if the system
dependency is not available.
And use https to get libvorbis
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1171 >
2021-10-16 09:52:23 -03:00
Seungha Yang
d0c86365d2
mediafoundation: Use GetProcAddress() for OS version dependent symbols
...
We are using some symbols which are not available on Windows 7,
specifically D3D11 interop related ones
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1167 >
2021-10-16 18:07:06 +09:00
Víctor Manuel Jáquez Leal
ee7af02c3e
vapostproc: Transfer colorimetry at fixate if possible.
...
Taken from videoconvert element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1110 >
2021-10-16 05:17:19 +00:00
Thibault Saunier
08eac09c12
meson: Fix warning building GstGLEGL
...
We forgot to add the `GstGL` gir as a dependency which was properly
done for GstGLWayland and GstGLX11.
And document why we use a list for `all_libraries`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1168 >
2021-10-16 01:24:45 +00:00
Thibault Saunier
f60af61bb7
meson: Support building lame as subproject
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1068 >
2021-10-16 00:43:10 +00:00
Thibault Saunier
cdf1e24121
meson: Add wrap for libvorbis and libogg
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1068 >
2021-10-16 00:43:10 +00:00
Thibault Saunier
d5da4b84f7
meson: Add wrap for fdkaac
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1068 >
2021-10-16 00:43:10 +00:00
Thibault Saunier
81ab28e588
python:meson: Do not build plugin when statically built
...
It is not supported yet
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 20:27:35 -03:00
Thibault Saunier
4c8ebd5d73
python: Add an option to disable tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 20:27:35 -03:00
Thibault Saunier
e73fc26cf6
ci: Build introspection support on static builds
...
But disable python in GES as it is not supported on static builds
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 20:27:35 -03:00
Thibault Saunier
ba37e0aa2f
ges:docs: Ignore GESImageSource as it is plain useless now
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:28:29 -03:00
Thibault Saunier
e436bf66e1
meson: Add info about 'gstreamer-full'
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:28:29 -03:00
Thibault Saunier
8b7b068d53
meson: Streamline the way we detect when to build documentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:28:29 -03:00
Thibault Saunier
8d3c1317b3
tests: Simple test to use gst-full in python
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:28:14 -03:00
Thibault Saunier
2fd461a032
validate:build: Disable static building validate tracer
...
It introduce duplication of symbols and we need to rework the way we implement it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00
Thibault Saunier
6b2c333093
build: Expose ges symbols in gst-full
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00
Thibault Saunier
a7fd2762a6
ges:build: Disable python modules when statically building
...
Introspection fails otherwise
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00
Thibault Saunier
4210ac43ec
Use new libraries
subprojects variables to statically link then
...
And also build the girs against `gstreamer-full` when possible. Also
making `gst_init_static_plugins` available from the bindings.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00
Thibault Saunier
6e79932ad9
meson: List libraries and their corresponding gir definition
...
Introduces a `libraries` variable that contains all libraries in a
list with the following format:
``` meson
libraries = [
[pkg_name, {
'lib': library_object
'gir': [ {full gir definition in a dict } ]
],
....
]
```
It therefore refactors the way we build the gir so that we can reuse the
same information to build them against 'gstreamer-full' in gst-build
when linking statically
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00
Thibault Saunier
e2dd28a753
meson: Mark files as files()
...
Making it more robust and future proof
And fix issues that it creates
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00
Thibault Saunier
0e576127a5
bad:audio: Add generated files sources in declare_dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1093 >
2021-10-15 19:27:30 -03:00
Thibault Saunier
1babccfe50
python: Fix using overrides when not building PyGObject
...
Since 547570cd79
we do not always build
PyGObject and our development environment is broken when trying to use
GStreamer python when built against system PyGObject with the following
error importing Gst in there:
```
12345678** (gst-plugin-scanner:710617): CRITICAL **: 11:45:02.343: can't find gi.repository.Gst
Traceback (most recent call last):
File "/usr/lib/python3.9/site-packages/gi/repository/__init__.py", line 23, in <module>
from ..importer import DynamicImporter
File "/usr/lib64/python3.9/site-packages/gi/importer.py", line 33, in <module>
from .overrides import load_overrides
ImportError: cannot import name 'load_overrides' from 'gi.overrides' (/var/home/thiblahute/devel/gstreamer/gstreamer/subprojects/gst-editing-services/bindings/python/gi/overrides/__init__.py)
Factory Details:
```
The approach to fixing it is to implement override `gi` in
`gst-python/gi/` which we add to `PYTHONPATH`) and in there reset the
`gi` module to the right place and we get overrides from paths from
`_GI_OVERRIDES_PATH` we set in `gst-env.py` which points to all the
overrides that will be installed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1155 >
2021-10-15 20:51:41 +00:00
Seungha Yang
ba79339d56
mediafoundation: Fix various string constness handling
...
... with fixing typo (g_strup -> g_strdup)
Constness needs to be explicit in C++ world otherwise compiler
would complain about that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1164 >
2021-10-15 23:38:48 +09:00
Veronika Kremneva
1fdcbae677
gstreamer/gst/gstconfig.h.in: Add support for ARC64 architecture
...
Signed-off-by: Veronika Kremneva <kremneva@synopsys.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1161 >
2021-10-15 10:22:56 +00:00
Rob Agar
f48c8f4d17
missing transceiver unref in WebRTC renegotiation example
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1160 >
2021-10-15 10:03:46 +01:00
He Junyan
18f97d703d
Docs: Fix a typo for Intel's vaapi driver name.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1151 >
2021-10-15 07:57:37 +00:00
Thibault Saunier
a1dc45b654
wraps:ffmpeg: Move to 4.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1156 >
2021-10-15 02:32:40 +00:00
Mengkejiergeli Ba
b57df4cfd1
tests:va: Fix null ptr dereference in multi-vpp
...
Dereference the pointer err before null check, which raised a null
pointer dereference issue by Coverity. Modify it to do the null check
of err first, then dereference it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1143 >
2021-10-15 00:45:45 +00:00
Mengkejiergeli Ba
4a6cc431d2
va: Fix null ptr dereference for vadeocder
...
Making a null check in gst_va_decode_picture_free () indicates pic->buffers or pic->slices
can be null, then in _destroy_buffers () the pointers are dereferenced, which is detected
as dereference after null check by Coverity. Thus, modify the code to do null check in
_detroy_buffers ().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1143 >
2021-10-15 00:45:44 +00:00
Xavier Claessens
d477c9e903
Pin all wrap files to closest tag or commit sha1
...
Tracking branches, especially master, can cause regressions at any time.
We should try to use as much stable release tags as possible in the
future.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1152 >
2021-10-14 22:34:49 +00:00
Vivia Nikolaidou
23bf9f75b6
tsdemux: Handle delayed seek events
...
Store the event in case it cannot be processed immediately and process
it after the first segment has been produced.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/980 >
2021-10-14 21:45:00 +00:00
Vivia Nikolaidou
5800ffea0f
tsdemux: Protect demux->segment_event with a mutex
...
Would otherwise cause weird issues when processing a delayed seek event
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/980 >
2021-10-14 21:45:00 +00:00
Piotrek Brzeziński
a102444c90
video-converter: Fix v210->I420 last line conversion
...
Last line would not be converted correctly if height was an odd number.
Fixed by accounting for data type (8bit vs. 16bit) differences between
respective packing and unpacking functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973 >
2021-10-14 21:03:58 +00:00
Piotrek Brzeziński
33ccabd206
video-format: Clean up v210 packing code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973 >
2021-10-14 21:03:58 +00:00
Piotrek Brzeziński
35a7b19381
video-converter: Add fast paths from I420/YV12, UYVY, Y42B and YUY2 to v210
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/973 >
2021-10-14 21:03:58 +00:00