Francisco Javier Velázquez-García
6389eef70d
videotestsrc: Add SMPTE75 RP-219 color bars conformant
...
Implement 8-bit values of SMPTE RP 2019-1:2014. The bar widths and
heights are the result of fractions as integers. The remainders of
widths are distributed in a way that they match the values in Table
C.1 (a) in the specification.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063 >
2021-07-01 18:03:14 +02:00
Jan Alexander Steffens (heftig)
7ab7a8ad7c
videotestsrc: Add a start parameter to _blend_line
...
Makes it easier to paint part of a line.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063 >
2021-07-01 18:03:14 +02:00
Jan Alexander Steffens (heftig)
96decaf7ef
videotestsrc: Keep tmpline unchanged in_convert_tmpline
...
This will allow us to repeatedly
call it to render subsequent lines.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1063 >
2021-07-01 18:03:14 +02:00
Seungha Yang
058f1e92b7
compositor: Add scaling policy to support PAR-aware scaling
...
Adding "sizing-policy" property for user to be able to specify
scaling policy (aspect-ratio for example).
At the moment, supported mode is only keep-aspect-ratio, but we might
be able to add more policies such as cropping, etc.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/696
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1156 >
2021-06-29 23:06:37 +09:00
Daniel Knobe
7641d64825
rawbaseparse: check destination format correctly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1181 >
2021-05-31 09:14:53 +02:00
Sebastian Dröge
0b6cd6862e
compositor: Consider the converter-config when deciding whether one pad obscures another
...
If the converter configuration is set to not fill any borders, or if the
border fill color is not full opaque, then the pad has to be handled
as potentially transparent and can't be considered to obscure another
one.
This prevents pads from being wrongly skipped and doing alpha-blending
with uninitialized memory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1172 >
2021-05-24 14:28:49 +03:00
Tim-Philipp Müller
a983bea1a9
overlaycomposition: fix cut-off example code in docs
...
Include everything to the end.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1164 >
2021-05-21 00:36:10 +01:00
Nicolas Dufresne
f39985f88a
compositor: Fix NV12 blend operation
...
The full src_height/width was being used instead of the remaining
width/height for the current band. As a side effect, that value would
get erroneously reset and would cause overrun.
Fixes #887
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1160 >
2021-05-19 16:39:22 -04:00
Nicolas Dufresne
3897b24f69
video: Pass component index not plane index
...
While so far it worked, we are about to introduce a format that break this
assuming. We have a format which consist of NV12 with alpha, and this format
does not have a direct mapping of the component against their plane indexes.
Fix this by using gst_video_format_info_component() introduced in 1.18 for
this purpose.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1151 >
2021-05-19 15:17:56 +00:00
Matthew Waters
f0205645b3
compositor: perform conversions in parallel
...
Improves throughput of the total convert and blend process and allows
for higher performance across slightly more threads.
Also make use of video aggregator's task pool for blending as well in
order to reduce the number of threads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1129 >
2021-05-17 19:20:57 +10:00
Thibault Saunier
3f5d580f4e
playback: Handle sources with dynamic pads and pads already present
...
In case we already have a pad but more might be added later we were
ignoring the new pads added later, we should track the element
new pads and expose them as they are added.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1120 >
2021-05-13 11:58:12 +00:00
Thibault Saunier
2e13d97dd6
playback: Stop giving "source" as name to sources
...
This makes it very hard to understand what source we are talking about
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1120 >
2021-05-13 11:58:12 +00:00
Sebastian Dröge
5a65f5f3b7
multihandlesink: Use the monotonic clock for detecting timeouts and connection durations
...
Otherwise real-time clock changes can wrongly trigger timeouts, or not
cause timeouts to happen in time.
Unfortunately real-time clock times still have to be kept track inside
the elements for the statistics. Switching those over to the monotonic
clock would cause behaviour changes from the application point of view.
The statistics are extended with fields with monotonic times though.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1137 >
2021-05-05 16:12:38 +00:00
François Laignel
ca7a964fb1
Use gst_element_request_pad_simple...
...
Instead of the deprecated gst_element_get_request_pad.
2021-05-05 11:55:54 +03:00
Nirbheek Chauhan
b14347041a
videotestsrc: Fix a leak when computing alpha caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1131 >
2021-04-30 20:46:08 +05:30
Doug Nazar
3676a2c6de
tcp: Rework client start error handling.
...
Ensure errors are cleaned up properly at the right level.
Abort connection attempts if we're cancelled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1115 >
2021-04-22 07:17:06 +00:00
Seungha Yang
e785560687
uridecodebin: Don't force floating reference for future reusable decodebin
...
uridecodebin assumes that refcount of decodebins stored in pending_decodebins
are floating but it might not be true in case that refcount of the decodebin
was touched in other places. To avoid the floating refcount issue,
hold strong reference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1113 >
2021-04-21 02:40:06 +09:00
Seungha Yang
3a1816bf3f
uridecodebin: Use gst_object_ref instead of g_object_ref
...
It's more debugging friendly (tracer for example)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/1113 >
2021-04-21 02:02:48 +09: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
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
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
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
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
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
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
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
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
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
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
Stéphane Cerveau
0ae61fd48d
compositor: 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
a71bf2e3da
adder: 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
2cc37e706c
audioconvert: 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