Thibault Saunier
156f2543ca
smartencoder: Force reencoding of vp9 for profiles can't support
...
If the input file is in a profile we won't be able to output (1 or 3 in BGR
format), simply reencode everything for now.
Once we add support for that case we can remove that code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062 >
2021-10-18 10:11:08 -03:00
Thibault Saunier
fec6270205
encoding-profile: ignore more fields when creating for discover info
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062 >
2021-10-18 10:11:08 -03:00
Thibault Saunier
e9fdfade61
smartencoder: Always plug a vp9parse when encoding vp9
...
This way we know that all relevant fields about video format are
added and we avoid renegotiation issues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062 >
2021-10-18 10:11:08 -03:00
Thibault Saunier
32d36d0e89
smartencoder: Fix renegotiating when reencoding parts of the stream with vpx
...
In the encoded streams we might not have all the information about the
raw video stream, but when reencoding they end up being specified, even
if those are default values.
As vp8 decoders always output frames in some YUV color space we can
ensure that when upstream doesn't specify any value in its caps we
use the default one which is what we end up doing when decoding/reencoding
anyway, so this way downstream (matroskamux in that case) doesn't need
to be able to renegotiate (which it doesn't).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1062 >
2021-10-18 10:10:24 -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
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
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
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
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
Matthew Waters
ee1255079b
gl/dmabuf: add some debug logging about why things may fail to be uploaded
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1145 >
2021-10-14 07:41:44 +00:00
Matthew Waters
42597181e2
playbin2/3: autoplug/caps: don't expand caps to ANY
...
Retrieving the pad template caps from a ghost pad returns ANY which when
merged with any other caps will return ANY. ANY is not very specific
and may cause suboptimal code paths in e.g. decoders that assume the
lowest common denominator when presented with ANY caps.
Fixes negotiating dma-buf with vaapidecodebin between glupload in the
video sink element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1144 >
2021-10-14 17:04:26 +11:00
Seungha Yang
0a94da9611
examples: playback-test: Fix for UI resize scenario on Windows
...
Application needs to notify videosink element of video widget resize
via gst_video_overlay_set_render_rectangle() since WM_SIZE event
wouldn't be notified.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1115 >
2021-10-13 07:04:08 +00:00
Olivier Crête
4d3a200358
audio: Merge simd libs into the main one
...
Actually extract the .o objects from the convience libraries and put
them into the main one. Without this, they will just be referenced by
the .pc file, but it will be unusable because they are not installed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1122 >
2021-10-13 01:28:16 +00:00
Olivier Crête
fdd7f9be23
glutils: Export affine transformation functions for gtkglsink
...
Also remove duplicated copy of those functions from the gl plugin
With contributions from Bastien Nocera
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088 >
2021-10-12 20:27:34 +00:00
Olivier Crête
9b75628101
glvideoflip: Replace GstVideoFlipMethod -> GstVideoOrientationMethod
...
It's the same enum, just drop the renamed copy. But keep the registered
GEnum as it is part of the API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088 >
2021-10-12 20:27:34 +00:00
Olivier Crête
b4ca5f386a
glvideoflip: Use the API to parse the image orientation
...
This will reduce the code duplication a little.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088 >
2021-10-12 20:27:34 +00:00
Olivier Crête
d191e27aca
glimagesink: Use the API to parse the image orientation
...
This will reduce the code duplication a little.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088 >
2021-10-12 20:27:34 +00:00
Olivier Crête
c898ffceeb
video: Add API to parse the image orientation from a GstTagList
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088 >
2021-10-12 20:27:34 +00:00
Olivier Crête
a51509c6e7
glimagesink: Replace GstGLRotateMethod with GstVideoOrientationMethod
...
It's the same enum, just drop the renamed copy. But keep the registered
GEnum as it is part of the API.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088 >
2021-10-12 20:27:34 +00:00
Olivier Crête
ad495089cb
video: Put nicer documentation in GstVideoOrientationMethod
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088 >
2021-10-12 20:27:34 +00:00
Tim-Philipp Müller
078f7874fd
gst-play: pick up minus and plus also from navigation events
...
Makes it easier to test playback rate changes with the video
window being in focus.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/928 >
2021-10-12 11:19:22 +00:00
Jan Schmidt
71c3141672
uridecodebin3/urisourcebin: Reusability fixes
...
Improvements to uridecodebin3 and urisourcebin so that they are
reusable across a PAUSED->READY->PAUSED transition.
Disconnect and release decodebin3 request pads when urisourcebin
removes src pads.
In urisourcebin, make sure to remove src pads that are exposed
directly (raw pads and static typefind srcpads) when
cleaning up.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/768
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1100 >
2021-10-10 11:55:19 +00:00
Jan Schmidt
e06ac494b8
playbin3: Always register 'playbin3' element.
...
If the USE_PLAYBIN3=1 env var is set, we want to replace
playbin with playbin3, but separate to that, we always
want to register the 'playbin3' element so that applications
which explicitly use playbin3 work regardless of the env var.
This fixes `USE_PLAYBIN3=1 gst-validate-launcher`, for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1102 >
2021-10-10 07:28:17 +00:00
Jan Schmidt
33ad1cdc5e
playbin3: Avoid group deactivation deadlock.
...
Change locking around group deactivation to avoid deadlocks
when shutting down exactly as a buffering message arrives.
The PLAYBIN3_LOCK now protects the active field of the
source group. Everything else is still protected by the
source-group-lock.
Also properly protect group switching operations with
the PLAYBIN3_LOCK everywhere.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1049 >
2021-10-08 15:49:41 +00:00
Ludvig Rappe
b099ba649e
pbutils: Remove sample entry code "raw"
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1045 >
2021-10-05 09:00:23 +00:00
Stéphane Cerveau
84b357dd5f
typefindfunctions: differentiate h265 from h264
...
in some cases, the algo gives the same probability
to h264 and h265 for h26x stream resulting in a h265
stream detected as a h264.
if sps/pps/vps detected, increase the probabilty.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/957 >
2021-10-02 10:03:21 +00:00
Tim-Philipp Müller
b8d6962c9b
video: make GST_VIDEO_FORMAT_INFO_IS_*() macros booleans
...
Spotted by Stirling Westrup.
Fixes #726
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/926 >
2021-09-29 23:53:12 +00:00
Tim-Philipp Müller
43ed0df54c
audio: make GST_AUDIO_INFO_IS_UNPOSITIONED return a boolean
...
Luckily this worked right since the flag we check is the
only flag and its vale is 1, but feels more correct to
actually check for non-zeroness.
Spotted by Stirling Westrup.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/926 >
2021-09-29 23:53:12 +00:00
Olivier Crête
7abd83dfea
rtphdrext: Give "inherited" direction in set_attributes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
6cd483d17a
rtphdrext: Use NULL-safe case insensitive comparison
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
2dd740c0c3
rtphdrext: Print warnings when trying to parse caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
5ec82c1c4e
rtphdrext: Pass just the attributes to the subclass
...
Since the base class now does the parsing, there is no need
to reproduce that code in all the subclasses, just pass the attributes
which are the only relevant bit anyway.
Also, only store the direction if the subclass accepted the caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
e65053a477
rtphdrext: Use fail_unless_equals_string() to make tests easier to debug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
674611c851
rtphdrext test: Use helper function for caps
...
Also, let the base class parse the direction for us.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
87a91d1387
rtphdrext: Add helper function to set fields in caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
e76dce3c6e
rtphdrext: Parse direction from the caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
34a6b2b890
rtphdrext: Set the direction in the caps from the property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
63d669e0bf
rtphdrext: Store the direction in the base class
...
Store the direction associated wit the RTP header extension in the
base class so it can use it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
ba328fb98d
rtphdrext: Set caps without attributes as the default
...
Most subclasses just use the simple function, so just let the base class
do it. It makes less code in subclasses.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Olivier Crête
498740fe57
rtphdrext: Put simple caps generation as the base class default
...
Instead of having a helper function that gets called by almost every
subclass, just let the base class set the caps fields automatically.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/906 >
2021-09-28 20:04:55 +00:00
Brad Hards
ef05946837
doc: update IRC links to OFTC
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/945 >
2021-09-28 10:11:15 +10:00
Havard Graff
6d4d4edfcc
videodecoder: request sync-points regularly on error
...
If we are not receiving a sync-point for a very long time, we need to
keep asking for them. The request-sync-point logic keeps track of how
many keyunitrequests we are allowed to send, but that would not matter
if we don't keep asking.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/930 >
2021-09-27 07:02:43 +00:00
Tim-Philipp Müller
f1a169f39d
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/925 >
2021-09-26 01:07:02 +01:00
Nicolas Dufresne
3037fde5eb
Move commit gst-indent hook to the root
...
This renable at meson setup time the installation of the gst-indent
commit hook. The hooks were kept from gst-devtools as this set supports
both C checks and Python checks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/904 >
2021-09-24 17:47:01 -03:00
Thibault Saunier
c6b9c81fdd
ci: Remove now useless .gitlab-ci.yml files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/891 >
2021-09-24 16:21:18 -03:00
Thibault Saunier
e0d3a211d9
base: Fix a suppression that has a slightly different trace
...
For some reason making a monorepo lead to some minor stack changes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/891 >
2021-09-24 16:21:18 -03:00
Thibault Saunier
2fd28195ca
Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir
2021-09-24 16:13:26 -03:00