Doug Nazar
61d4dd0b9b
rtpsbcpay: remove use of packed struct for payload
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/950 >
2021-04-15 07:29:09 -04:00
Doug Nazar
850a6f5f6f
dtmf: convert to bit accessors
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/949 >
2021-04-14 11:13:45 -04:00
Seungha Yang
41879b20c2
d3d11: pluginutils: Fix wrong gst_memory_unmap() on _map() failure
...
It was obvious typo
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2164 >
2021-04-15 00:05:03 +09:00
Doug Nazar
edbf0a6622
tests/avtp: increase timeout of test_depayloader_fragmented_big
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2160 >
2021-04-14 07:05:13 +00:00
Seungha Yang
1327f428d2
framepositioner: Fix runtime warning
...
GstCaps is not a GObject!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-editing-services/-/merge_requests/238 >
2021-04-14 15:38:32 +09:00
Doug Nazar
6faff99596
check: fix dash_mpdparser_check_mpd_client_set_methods test.
...
Setting guint64 valist properties without type specifier fails
on 32bit archs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2161 >
2021-04-14 06:35:25 +00:00
Tim-Philipp Müller
672f1caf85
avviddec: deprecated debug-mv property to match deprecation in FFmpeg
...
This has been unimplemented and non-functional for years
and was deprecated with FFmpeg 4.4.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/126 >
2021-04-13 22:53:36 +00:00
Doug Nazar
63b5ae0ffe
line21enc: fix remove-caption-meta property test
...
It's possible for the same address to be allocated to the decoded
metadata. Switch test to actual detect if it was removed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2159 >
2021-04-13 16:34:15 -04:00
Nirbheek Chauhan
c071cbbe30
rtspsrc: Remove some dead code
...
stop is not used after this point, nor do we create a new segment
here since 84725d62b5
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/940 >
2021-04-13 14:30:54 +00:00
Nirbheek Chauhan
fb97ca9458
rtspsrc: Do not overwrite the known duration after a seek
...
This breaks the duration query and also the seeking query.
Broke in 5f1a732bc7
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/940 >
2021-04-13 14:30:54 +00:00
Nirbheek Chauhan
99ee5fb2d9
rtspsrc: Just assign the segment instead of memcpy
...
Assignments copy by value, we don't need to memcpy...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/940 >
2021-04-13 14:30:54 +00:00
Sebastian Dröge
52ead086d9
rtpjitterbuffer: Check srcresult before waiting on the condition variable too
...
It might've been set to FLUSHING between the last check and the waiting,
and in that case we'd be waiting here forever now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/944 >
2021-04-13 12:30:49 +00:00
Doug Nazar
a1535a4dc3
tests: fix shm test deadlock
...
Stopping the consumer first would occasionally allow the producer
to fill the shm segment causing it to block in send() and unable
to be stopped.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2158 >
2021-04-13 11:59:35 +00:00
Doug Nazar
b289cc6788
rtp: fix test_twcc_header_and_run to support big endian.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/942 >
2021-04-13 11:35:15 +00:00
Doug Nazar
b5deff7b64
rtp: fix rtptwcc to support big endian.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/942 >
2021-04-13 11:35:15 +00:00
Doug Nazar
7918f80a43
rtp: fix rtphdrextrfc6464 to support big endian.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/942 >
2021-04-13 11:35:15 +00:00
Doug Nazar
a930b62afc
check: Fix test dash_mpdparser_xlink_period
...
Test used http://404/ERROR/XML.period as an invalid url. Curl now
interprets that as an 32bit int and tries an actual connect which
timesout. Use .invalid as an IANA reserved domain for invalid DNS.
curl -v http://404/ERROR/XML.period
* Trying 0.0.1.148:80...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2157 >
2021-04-13 10:17:47 +00:00
Doug Nazar
f5f94695f2
tests: Fix alpha test on big endian machines.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/943 >
2021-04-13 08:20:45 +00:00
He Junyan
9bcb18ebce
va: allocator: Fix an unmap typo in _va_copy.
...
No need to unmap the the src memory when failing to allocate the
dst mem. It has not been mapped yet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2156 >
2021-04-13 15:46:17 +08:00
Haihao Xiang
39538adfd6
msdk: don't fall back to the default device
...
Ohterwise when user set a wrong device, the warning message doesn't get
printed if user doesn't set a right debug level in the environment, this
behavior might mislead user that the wrong device is being used.
This fixed https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1567
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2138 >
2021-04-13 01:23:43 +00:00
Tim-Philipp Müller
07b43c727c
avdemux: fix build with FFmpeg 4.4
...
Direct access to avstream->index_entries was removed
in favour of the newly added avformat_index_get_entry()
and friends.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/85
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-libav/-/merge_requests/127 >
2021-04-13 01:14:52 +01:00
Olivier Crête
d67dcb2227
webrtcbin: Simplify answer_caps intersection code a little
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
474c4bf08f
webrtcbin test: Wait for set-local-desc & set-remote-desc to continue
...
To avoid racing betwen the SDPs being set and the next step of the
test, let's wait for setting the SDP both locally and remotely to succeed.
of the test
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
12ab469ad3
webrtcbin: Move GstPromise reply to operation framework
...
This makes it possible to reply to all promises in a consistent way
without having to do a unlock/relock that is always risky.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
38ef12063d
webrtcbin: Make sure PC_LOCK is release when replying to promise
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
913383166b
webrtcbin: Take PC lock around all entry points
...
All of those action signals change the internal state, so
protect it by using the PC_LOCK
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
572c2b6783
webrtcbin: Take PC_LOCK when requesting new pad
...
This is needed to avoid having the state change under us.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
4a48e291ff
webrtcbin test: Add for the case where a second m-line is renegotiated
...
This is for the case where there answerer forces a specific media type
for a m-line, but he origin offer only has the other media type. In this
case, we will create a second transceiver on receiving the offer and add
the desired media type using renegotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
c7107fd940
webrtcbin: Ensure that query caps method returns valid caps
...
This means rejecting any caps that aren't fixed. Also, use a filter
that will create unfixed caps if the other side just returns ANY.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
09c65fe534
webrtcbin: Associate the stream with a new transceiver
...
Otherwise, this newly created transceiver has no stream and it
aborts later when it tries to connect the input pad.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
83e546f935
webrtcbin: Match unassociated transceiver by kind too
...
When a new m-line comes in that doesn't have a transceiver, only match
existing transceivers of the same kind.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
7db5848376
webrtcbin: Fix typoe in name of error GstStructure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
2bd647e999
webrtc test: Verify that forcing different kinds on peers fails
...
If the offer contains an audio kind and a video kind, forcing them both
at m-line zero will fail.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
8df5b9f974
webrtc tests: Verify that create-offer is rejected when needed
...
Verify that it gets rejected if a m-line at index 1 is requested but
there is no m-line 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 18:37:27 -04:00
Olivier Crête
913d308e22
webrtcbin test: Add test for various cases where get_request_pad is meant to fail
...
This should ensure that the recently added code works.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
7f29486ba4
webrtcbin: Enforce direction on request sink pad with a specific name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
5971a96109
webrtcbin: Try to match an existing transceiver on pad request
...
This should avoid creating extra transceivers that are duplicated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
2ca4cea538
webrtcbin: Validate locked m-lines in set*Description
...
Verify that the remote description match the locked m-lines, otherwise
just reject the SDP.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
be84cc2c54
webrtcbin: Remove unused session_mid_map
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
08dd305a20
webrtcbin: Enforce m-line restrictions when creating offer
...
First fail the offer creation if the mid of an existing offer doesn't
match a forced m-mline.
Then, for all newly added mlines, first look for a transceiver that
forces this m-line, then add a "floating" one, then the data channel.
And repeat this until we're out of transceivers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
ed1f0f33a2
webrtcbin: Remember if a transceiver had a forced m-line
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
92d356d4b0
webrtcbin: Enforce same-kind on request sink pad with a specific name
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
249b2d54d7
webrtcbin: Enforce compatible caps on pad request
...
If a pad is requested with certain caps and there is already a
transceiver, reject the pad request if the caps don't match.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
902e40cae2
webrtcbin: Reject pad request for a specific m-line if it already exists
...
This way, the app developer is in control.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
0e2d128bec
webrtcbin: Make request-pad validation an early return
...
This reduces the indendation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
0f758a1730
webrtcbin: Add document for webrtcbin itself to generated doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
d49e664c84
webrtcbin test: Test adding a stream to a stream+datachannel
...
This use-case was previously broken by the expectation of having
a 1-1 match between the pad id and the m-line index
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
3be72a6c86
webrtc: Reset received_caps when releasing pad
...
This is to work around a race where the pad is accessed in the
webrtc main thread while being released.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:07 -04:00
Olivier Crête
b6114a7fed
webrtcbin: Split pad name from mline
...
The simple case where this breaks is if you add a
datachannel and want to add a new pad (a new media) after). Another
case where this is broken is if the order of the media is forced to
something different by the peer.
It's more simple to just split both things completely. In practice, the
pads will be named in the order in which they are allocated, so it
shouldn't change the current behaviour, just enable new ones.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104 >
2021-04-12 17:55:06 -04:00
Jan Schmidt
bd9f675318
switchbin: When collecting srcpad caps, don't intersect with path caps.
...
The path caps describe the input caps that will select each path, don't
intersect those with the srcpad caps, which could be completely
different. Instead, when querying allowed caps for the srcpad, just
construct the union of all possible output caps from all path srcpads.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2018 >
2021-04-12 14:27:00 +00:00