Thibault Saunier
2fd28195ca
Move files from gst-plugins-base into the "subprojects/gst-plugins-base/" subdir
2021-09-24 16:13:26 -03:00
Thibault Saunier
d2822d09ea
Merging gst-plugins-base
2021-09-24 16:13:17 -03:00
Thibault Saunier
6c364d9626
Move files from gstreamer into the "subprojects/gstreamer/" subdir
2021-09-24 16:13:07 -03:00
Tim-Philipp Müller
ce937bcb21
Release 1.19.2
2021-09-23 01:33:09 +01:00
Tim-Philipp Müller
b4ca58df76
Release 1.19.2
2021-09-23 01:32:33 +01:00
Sebastian Dröge
55ca21edae
clocksync: Add some debug output to the clock waiting code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/841 >
2021-09-22 12:04:44 +00:00
Tim-Philipp Müller
cc50672d29
pbutils: codec-utils: fix g-ir-scanner warning
...
Warning: GstPbutils: gst_codec_utils_h264_get_profile_flags_level:
unknown parameter 'codec_data' in documentation comment, should be 'codecs_data
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1279 >
2021-09-21 22:39:46 +01:00
Nicolas Dufresne
3607c617a5
alsasink: Allow stop() function to happen during failing writes
...
In ALSA, there is possible temporary failures that may require a retry,
though in certain situation, this may leak to the write() function
holding on a lock forever preventing the pipeline from going to pause
or stop. Fix this by shortly dropping the lock between retries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1261 >
2021-09-20 18:06:44 +00:00
Nicolas Dufresne
7b76c97de9
alsasink: Improve logging in write() function
...
This moves the "written X frames" lower so that we don't trace
confusing negative values on errors and add the error code in the
"Write error" log.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1261 >
2021-09-20 18:06:44 +00:00
Sebastian Dröge
fea7f02a1d
gst: Initialize optional event/message fields when parsing
...
These might not exist inside the structure and then we would potentially
keep around uninitialized memory from the caller in the out parameter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/887 >
2021-09-20 13:12:12 +03:00
Sebastian Dröge
f3601164d2
videodecoder: Add properties to automatically request sync points and vfunc to allow subclasses to handle packet loss / missing data
...
Subclasses could use the new vfunc to activate packet loss concealment,
for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1274 >
2021-09-20 13:06:38 +03:00
He Junyan
9289df4291
test: bitwriter: Add a test for reset_and_get_data when not byte unaligned.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/886 >
2021-09-19 22:43:11 +08:00
He Junyan
25dbae6e73
bitwriter: Fix a memory leak in reset_and_get_buffer.
...
We should record the ownership of the data before we reset the bitwriter.
Or we will always dup the buffer data and leak the memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/886 >
2021-09-19 22:43:06 +08:00
He Junyan
81cf9754e3
bitwriter: Fix the trailing bits lost when getting its data.
...
In reset_and_get_data and reset_and_get_buffer, it fails to include
the trailing bits less than 8. So, when the bit_size is not byte
aligned, the trailing bits are lost in the return buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/886 >
2021-09-19 20:41:59 +08:00
Havard Graff
e0811f890f
videodecoder: Fix min-force-key-unit-interval logic and logging
...
The new keyframe is needed when the deadline of the buffer has exeeded
the waiting time, not while it is within it.
Also, since we look at the deadline of the frame, log that instead of PTS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1278 >
2021-09-16 17:00:14 +03:00
Olivier Crête
fd93c1ac19
rtphdrext: Make write function return a signed value
...
Since the return value is documented to possibly be smaller than 0,
then it needs to be signed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1258 >
2021-09-15 16:35:09 +00:00
Olivier Crête
98f2a84a28
videorate: Add unit test for closing a segment and opening a separate one
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767 >
2021-09-15 15:35:43 +00:00
Olivier Crête
24fd80344d
videorate: Drop incoming buffers that are outside of the segment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767 >
2021-09-15 15:35:43 +00:00
Olivier Crête
6f7922b4db
videorate: Only "close" the segment if it is discontinous
...
Otherwise, it will drop valid buffers on a simple segment update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767 >
2021-09-15 15:35:43 +00:00
Olivier Crête
a76f38b2c7
videorate: Add test for segment update
...
Continue as-is on segment update.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767 >
2021-09-15 15:35:43 +00:00
Olivier Crête
75b4809ebc
videorate: Update the base time on segment updates
...
Dropping it to 0 makes videorate push buffers from timestamp 0 again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/767 >
2021-09-15 15:35:43 +00:00
Mathieu Duponchelle
c6acee201e
multiqueue: fix obsolete comment re initial flow status
...
The initial single queue srcresult is OK, it hasn't been
NOT_LINKED since 2007.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/885 >
2021-09-13 14:16:06 +00:00
Mathieu Duponchelle
67eb70bb9c
multiqueue: never consider a queue that is not waiting
...
.. when computing the high id.
After a flush for instance, sq->srcresult is reset to OK,
yet it doesn't make sense to pick a non-existing position
id as the high id when a queue doesn't contain any items
in that situation either.
It is in any case completely OK to let the not-linked stream
get consumed without throttling at this stage, as any
first packet arriving on other single queues will get assigned
a higher position id.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/885 >
2021-09-13 14:16:06 +00:00
Philippe Normand
a55dafe341
discoverer: Prevent stream tags from leaking in global tags
...
The PrivateStream should keep track of stream tags only. Likewise, the
GstDiscovererInfo should keep track of global tags only.
This patch fixes the issue where the discoverer would report duplicated tag
titles, especially for Matroska media files. The Matroska demuxer emits
correctly-scoped tags, but downstream was making no distinction of them.
Fixes #598 , #836 , https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/827
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1275 >
2021-09-12 10:20:05 +01:00
Matthew Waters
f6aea043f9
gl/buffer_storage: re-enable GL_ARB_buffer_storage
...
The extension version doesn't have the ARB suffix.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1273 >
2021-09-09 07:29:37 +00:00
Tobias Ronge
3ec9795a28
rtspconnection: Only reset timeout when socket is unused
...
After sending or retrieving data, gstrtspconnection resets the socket's
timeout to 0 (infinite). This could cause problems if sending and
receiving at the same time. For example, if RTCP data is sent from the
streaming thread while gstrtspsrc is already retrieving data.
With this patch, timeout is only reset to 0 if there is no other
thread using the socket.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1260 >
2021-09-09 06:45:04 +00:00
Andika Triwidada
b6147e6037
add missing space
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/884 >
2021-09-09 04:08:22 +00:00
Ludvig Rappe
92338e3d80
pbutils: Add mjpg to MIME codecs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1270 >
2021-09-07 14:49:52 +00:00
Jan Schmidt
5eba408071
multiqueue: Use running time of gap events for wakeups.
...
Use gap events to update the next_time of a queue the same
as buffers or segment events. Fixes problems where a group
consisting only of sparse streams primarily driven by
gap events would stall with a full multiqueue because
unlinked streams in the group were not being woken to
push data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/879 >
2021-09-06 01:43:57 +10:00
Mathieu Duponchelle
f5cdb2d002
decodebin3: fix unblocking on input gap events
...
Initial gap events should not be discarded on the input streams,
but instead cause unblocking just as buffers do.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1239 >
2021-09-03 13:46:19 +00:00
Philippe Normand
8ad1ea0297
parsebin: Guess subtitle/ caps as text streams
...
The subtitles in ogg/kate are identified using subtitle/ caps names.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1213 >
2021-09-02 17:29:51 +00:00
Matthew Waters
e43bbaf3d9
rtp: add some additional rtcp sdes values
...
Matches the current list at
https://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml#rtp-parameters-5
as of 2021-September.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1267 >
2021-08-31 06:09:47 +00:00
Ludvig Rappe
75c44583ee
pbutils: Add function to convert caps to MIME codec
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1265 >
2021-08-30 08:49:33 +00:00
Ludvig Rappe
4a1d8eac31
pbutils: Add function for parsing H.264 extradata
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1265 >
2021-08-30 08:49:33 +00:00
Matthew Waters
c906ccb79f
element: NULL the lists of contexts in dispose()
...
If dispose() is called more than once, we may double unref the list of
GstContext's.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/875 >
2021-08-27 05:40:55 +00:00
Olivier Blin
3823f94311
eglimage: fix redefinition of EGLuint64KHR
...
It is already defined in gst/gl/egl/gstegl.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1262 >
2021-08-25 09:20:09 +02:00
Jan Alexander Steffens (heftig)
148ac71a1f
pad: Keep IDLE probe hook alive during immediate callback
...
When the probe returns GST_PAD_PROBE_REMOVE and gets called concurrently
from the streaming thread while we're in the callback here, the hook has
already been destroyed by the time we've reacquired the object lock.
Consequently, cleanup_hook gets passed an invalid pointer.
Keep another reference to the hook alive to avoid this situation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/873 >
2021-08-24 15:13:19 +02:00
Seungha Yang
c654f86859
video-converter: Add support for A420 to RGB fast path
...
Add fast path for A420 -> RGB format conversion
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1245 >
2021-08-24 11:09:28 +00:00
Seungha Yang
f5a79ce05f
compositor: Fix crash while drawing background and/or blending for subsampled YUV
...
Fix crash caused by out-of-bounds memory accesses when drawing
background and/or blending. This fix is conceptually identical to the
approach as the commit of 8ff5079e5e
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1229 >
2021-08-21 01:19:06 +09:00
Edward Hervey
637b0d8dc2
concat: Properly propagate seqnum of segment events
...
Was broken by https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/819
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/871 >
2021-08-20 16:35:53 +02:00
Mathieu Duponchelle
ebb6b9778a
encoding-profile: ignore more encoding private fields
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1249 >
2021-08-20 14:20:25 +00:00
Thibault Saunier
acf98372a3
smartencoder: Respect user stream-format
when specified
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1249 >
2021-08-20 14:20:25 +00:00
Mathieu Duponchelle
4aa72cea4f
smartencoder: clean up and extend accepted formats
...
* Add support for H265
* Don't overwrite original codec_data / streamheader in the output
caps, but instead allow them to change and send them to the
combiner at the right moment: encoder caps, reencoded GOP,
original caps, original GOP(s), and potentially encoder caps
and rencoded last GOP.
* For H264 / H265, force usage of a format with inband SPS / PPS
(avc3 / hev1), this is cleaner than misadvertising avc1, hvc1 and
some muxers like mp4mux will actually advertise both differently.
Unfortunately, while mp4 supports updating the codec_data and using
avc1 with no in-band SPS / PPS updates, it turns out some decoders
(eg chrome / firefox) don't handle this particularly well and stop
decoding after the reencoded GOP. We could expose a switch to
force usage of avc1 / hvc1 nevertheless, but for now stick to
requiring that the parser output SPS / PPS in-band with
config-interval=-1 (that has not changed)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1249 >
2021-08-20 14:20:25 +00:00
Seungha Yang
1ae8b61ec0
compositor: Add "max-threads" property
...
Adding new property for user to be able to set expected the maximum
number of blend task threads. This can be useful in case that user
wants to restrict the number of parallel task runners for system
resource management or debugging/development purpose.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1242 >
2021-08-20 18:43:26 +09:00
Théo MAILLART
adc565ff4a
tests: elementfactory: add element creation tests
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/736 >
2021-08-20 01:41:30 +00:00
Théo MAILLART
aadf84837b
elementfactory: enable construct only property passing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/736 >
2021-08-20 01:41:30 +00:00
Olivier Crête
a4a1782872
tracer: Add new tracer to list loaded elements and other features
...
This new tracer will list loaded elements and plugins. This should
make it easier to generate minimal builds of GStreamer.
This also traces other features such as typefind functions, device
providers and dynamic types.
The format of the output of gst-stats should match the parameters
expected by the meson based gst-build system.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/782 >
2021-08-18 17:01:27 -04:00
Olivier Crête
8332b44a2a
tracers: Add tracepoint when a plugin feature it loaded
...
This makes it possible to trace which ones are loaded in a specific
program to make nice statistics.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/782 >
2021-08-18 17:01:27 -04:00
Sebastian Dröge
bf71ef17e3
pbutils: Expose functions for getting a file extension for caps and flags for describing the format of the caps
...
This information was available internally already but not available from
the outside.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1221 >
2021-08-18 12:06:16 +00:00
Sebastian Dröge
52bca104e4
playbin/uridecodebin: Emit source-setup signal early before doing the scheduling query
...
Some elements will require the source to be set up properly before the
scheduling query returns useful results, e.g. appsrc and giostreamsrc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1241 >
2021-08-18 09:07:07 +00:00