Jordan Petridis
df88b10c7f
gstvideoencoder: make sure the buffer is writable before modifying metadata
...
Similar to ae8d0cf3ac
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1112 >
2021-04-20 16:01:15 +00:00
Doug Nazar
dd12c9b230
tcp: Convert tcpclientsink to new helpers.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
13743353cb
tcp: Convert tcpclientsrc to new helpers.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
0fefbc932a
tcp: Convert tcpserversink to new helpers.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
9ad0566c37
tcp: Convert tcpserversrc to new helpers.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
408b2fa634
tcp: Add helper functions to lookup hostnames and create sockets.
...
Lookup will now maintain the full list of possible IP address(es).
We can now iterate over all available addresses in case certain
address families (IPv6) are disabled or try connecting to additional
addresses for the clients.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
27c392bda3
tests/tcp: Fail if unable to start pipelines.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Doug Nazar
d4bf6b36d2
tcp: cleanup files
...
consolidate gsttcp.h & gsttcpelements.h
rename gsttcpelement.c to match header
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1105 >
2021-04-20 09:49:23 +00:00
Stéphane Cerveau
ada8b07be2
videodecoder: use DTS if PTS unknown
...
The buffer should be set according to DTS if exists
when we are guessin the PTS instead of segment start.
The decoder can receive buffers which are before the segment
in case of seek for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1111 >
2021-04-19 13:28:39 +02:00
Marijn Suijten
33167573e1
Drop @
documentation references from functions and external types
...
`@` references are used to reference function parameters, struct members
or enum variants _within_ the current type/function. It cannot and
should not be used to reference to types outside that.
Since C has no notion of member functions it makes little sense to
prefix these with `@`; most of the documentation here was referencing
functions on _different_ types anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1090 >
2021-04-15 15:49:39 +02:00
Mathieu Duponchelle
c17781e1a9
playbin{2,3}: fix base_time selection when flush seeking live
...
This is a direct translation of
<https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/429 >,
as playbin{2,3} insulates its sub groups state changes from the pipeline
base class, it needs to track whether the subgroup is live itself,
and handle RESET_TIME the same way GstPipeline does.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1104 >
2021-04-12 12:43:53 +00:00
Doug Nazar
a273573d1e
overlaycomposition: Fix test for big endian.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1103 >
2021-04-12 04:39:49 -04:00
Tim-Philipp Müller
5b754c381c
gl: fix up Since markers for newly-added _get_type() functions
...
Follow-up to !999 which wasn't backported into 1.18 in the end
after all.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/857
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1101 >
2021-04-11 23:50:35 +01:00
Robin Burchell
1a1a885db4
gstgiobasesink: Handle incomplete writes in gst_gio_base_sink_render()
...
As the comment asked, yes, incomplete writes can happen.
I have encountered this with an sshfs mount, for example.
It seems like g_output_stream_write_all() is designed to handle this case,
by not returning until the requested buffer has been completely written,
or an error occurs, which seems to match up with the desired behaviour.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/885
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1100 >
2021-04-09 07:35:07 +00:00
Seungha Yang
b70e83c409
clockoverlay: Fix broken string formatting by strftime() on Windows
...
Like other foobarA variant APIs on Windows, formatted string
by strftime() is ANSI string, not unicode encoded one.
It would be problematic for non-english locale systems.
We should use unicode version API (wcsftime in this case)
whenever it's possible on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1093 >
2021-04-08 08:27:53 +00:00
Doug Nazar
1d5ad7d1da
audio/alsa: Exit write loop if underlying device is already paused.
...
If the alsasink thread starts the write loop but another thread pauses
the underlying alsa device, the sink thread will endlessly loop.
snd_pcm_writei() will return 0 if the state is SND_PCM_STATE_PAUSED
and the loop will never make any progress.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1097 >
2021-04-08 07:28:21 +00:00
Xavier Claessens
f38d2d3820
meson: Fix gstreamer-gl-prototypes-1.0.pc
...
This fix a warning because we were generating 2 pc files for gstgl
library. Also fix missing glesv2 in Requires.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1099 >
2021-04-08 06:09:36 +00:00
Matej Knopp
e0623aa03a
codec-utils: properly determine AAC Level
...
Table 1.10 – "Levels for the AAC Profile" only goes to 5 max channels
/ 7 max channel post amendmend, so I assume the number of channels
should not include LFE, otherwise there's no valid level for 5.1 resp.
7.1 (post amendmend)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/680 >
2021-04-07 23:28:22 +00:00
Binh Truong
a5e2883ff0
Fix build issue on MinGW64
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1094 >
2021-04-04 21:18:59 +07:00
Jakub Adam
50c32a8963
rtpbuffer: make sure header extension buffer is initialized
...
Based upon valgrind finding:
Conditional jump or move depends on uninitialised value(s)
at 0x4AFF589: read_rtp_header_extensions (gstrtpbasedepayload.c:1197)
by 0x4AFF9E5: gst_rtp_base_depayload_set_headers
(gstrtpbasedepayload.c:1298)
by 0x4AFFEE0: gst_rtp_base_depayload_do_push
(gstrtpbasedepayload.c:1413)
by 0x4AFFF53: gst_rtp_base_depayload_push
(gstrtpbasedepayload.c:1448)
by 0x4AFDEBA: gst_rtp_base_depayload_handle_buffer
(gstrtpbasedepayload.c:801)
by 0x4AFE41E: gst_rtp_base_depayload_chain_list
(gstrtpbasedepayload.c:899)
by 0x48F262C: gst_pad_chain_data_unchecked (gstpad.c:4414)
by 0x48F3333: gst_pad_push_data (gstpad.c:4655)
by 0x48F3DF8: gst_pad_push_list (gstpad.c:4814)
by 0x4AFAD87: gst_rtp_base_payload_push_list
(gstrtpbasepayload.c:1978)
by 0x72B3154: gst_rtp_vp8_pay_handle_buffer (gstrtpvp8pay.c:672)
by 0x4AF7031: gst_rtp_base_payload_chain (gstrtpbasepayload.c:868)
Uninitialised value was created by a heap allocation
at 0x483C77F: malloc (in
/usr/lib/x86_64-linux-gnu/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4B8BA78: g_malloc (gmem.c:106)
by 0x4BA3A9D: g_slice_alloc (gslice.c:1069)
by 0x488D777: _sysmem_new_block (gstallocator.c:413)
by 0x488DB28: default_alloc (gstallocator.c:512)
by 0x488D3E8: gst_allocator_alloc (gstallocator.c:310)
by 0x4AE97E3: gst_rtp_buffer_set_extension_data (gstrtpbuffer.c:856)
by 0x4AF9EC6: set_headers (gstrtpbasepayload.c:1757)
by 0x489FE4D: gst_buffer_list_foreach (gstbufferlist.c:287)
by 0x4AFA87A: gst_rtp_base_payload_prepare_push
(gstrtpbasepayload.c:1915)
by 0x4AFAD06: gst_rtp_base_payload_push_list
(gstrtpbasepayload.c:1970)
by 0x72B3154: gst_rtp_vp8_pay_handle_buffer (gstrtpvp8pay.c:672)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1075 >
2021-04-03 09:39:02 +00:00
Chris White
abd99b8818
typefind: use new gst_type_find_suggest_empty_simple()
...
gst_type_find_suggest_simple() now requires a NULL terminator.
Use the new, simpler API for no-parameter calls.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774#note_861492
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1092 >
2021-04-01 21:44:10 -04:00
Matthew Waters
3d9e705621
videoaggregator: allow selecting an alpha output from non-alpha inputs
...
e.g. if we have:
video-x/raw,format=I420 ! compositor ! video/x-raw,format=BGRA
This will currently produce a warning as the alpha-ness of the chosen
'best' format (I420) will be different from the value restricted by the
downstream caps filter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1059 >
2021-03-31 01:55:17 +00:00
Stéphane Cerveau
141b8c4399
xvimage: 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/1089 >
2021-03-29 15:59:53 +02:00
Stéphane Cerveau
fa416b08b7
ximage: 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/1089 >
2021-03-29 15:59:53 +02:00
Stéphane Cerveau
a176f1a70f
audiotestsrc: 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/1089 >
2021-03-29 14:07:00 +02:00
Stéphane Cerveau
51ed45ef89
audioresample: 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/1089 >
2021-03-29 14:06:30 +02:00
Stéphane Cerveau
bc75b81d7e
audiorate: 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/1089 >
2021-03-29 14:06:00 +02:00
Sebastian Dröge
6bcd6e1e66
playback: Don't special-case G_SIGNAL_RUN_CLEANUP stage in signal accumulators
...
All these signals don't run the class handler in the CLEANUP stage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1076 >
2021-03-26 09:31:30 +00:00
Luke Yelavich
0644da87d3
tools: Fix incorrect argument in gst-device-monitor-1.0 manpage
...
The --include-hidden argument was --show-hidden in a previous iteration of
commit ddf3e6669f
, and I forgot to change the
example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1080 >
2021-03-25 18:10:26 +00:00
Edward Hervey
1f863e6d6d
decodebin3: Don't insert duplicated streams in collection
...
Filter out the ones which are already present. Can happen with several input
stream which have identical collections
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1083 >
2021-03-25 13:17:58 +00:00
Edward Hervey
e39d57b374
parsebin: Put stream flags in GstStream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1082 >
2021-03-25 12:23:06 +00:00
Edward Hervey
e15531bb9b
decodebin3: Make input activation "atomic"
...
When adding inputs dynamically, we need to make sure the new parsebin are
added *and* activated by the same thread (by taking the state change lock).
The rationale for this is that the calling thread might be an upstream streaming
thread and when activating parsebin it might call back upstream. If we don't use
the same thread (ex: when the application does a state change on decodebin3
between the moment we add parsebin to decodebin3 and we synchronize the state of
parsebin) then we would end up in different threads trying to take upstream
recursive locks.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/932 >
2021-03-25 09:35:27 +00:00
Luke Yelavich
ddf3e6669f
device-monitor: Add argument to include devices from hidden providers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1077 >
2021-03-24 10:23:57 +11:00
Matthew Waters
eb06907fb4
gl/wayland: provide a dummy global_remove function
...
Even if we don't care about any global objects being removed, wayland
will still error if globals are removed without a corresponding listener
set up for them. e.g. wl_output hotplugging
Discovered by: Matthias Clasen
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1079 >
2021-03-22 14:05:27 +11:00
Jan Schmidt
0444cf8fcc
gstgiosrc: Don't leak scheme string in gst_gio_src_query()
...
Add a g_free() in the code path that forwards the query to the parent
handler.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1078 >
2021-03-21 06:14:37 +00:00
Bing Song
d7de78e554
encodebin: handle video encoder preset fail.
...
Check video encoder preset before request muxer pad as MOV/MP4 don't
support addition/removal of tracks at random times.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1064 >
2021-03-19 12:43:59 +00:00
Matthew Waters
98249a57db
gst: don't use volatile to mean atomic
...
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead. GCC 11 has started warning about using volatile
with atomic operations.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1073 >
2021-03-19 04:20:19 +00:00
Stéphane Cerveau
00a71112c0
vorbis: fix debug category init
...
During the element splitting process,
the debug category initialization has
been dropped accidently.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1074 >
2021-03-18 15:59:34 +01:00
Stéphane Cerveau
f25ceab46f
audioconvert: update doc for mix-matrix
...
No need for specific cast in mix-matrix
syntax.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1072 >
2021-03-17 14:26:54 +01:00
Stéphane Cerveau
930877b022
ogg: element_init returns void
...
no need to return boolean as it will
be always TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:59:00 +00:00
Stéphane Cerveau
a750bc8f23
playback: element_init returns void
...
no need to return boolean as it will
be always TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:59:00 +00:00
Stéphane Cerveau
d8e00a4ff9
ogg: element_init returns void
...
no need to return boolean as it will
be always TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:59:00 +00:00
Stéphane Cerveau
a06be2e81a
alsa: element_init returns void
...
no need to return boolean as it will
be always TRUE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1029 >
2021-03-16 17:59:00 +00:00
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