Jakub Adam
b9ed5c7fa0
rtpopuspay: support libwebrtc-compatible multichannel payload
...
When the audio has more than 2 channels, add optional fields to output
caps from which webrtcbin can generate SDP in the syntax recognized by
"multiopus" codec present in libwebrtc [1].
e.g. for 5.1 audio:
a=rtpmap:96 multiopus/48000/6
a=fmtp:96 num_streams=4;coupled_streams=2;channel_mapping=0,4,1,2,3,5
[1] https://webrtc-review.googlesource.com/c/src/+/129768
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832 >
2021-02-11 07:46:04 +00:00
Jakub Adam
8b4147c757
rtpopuspay: make use of gst_rtp_base_payload_set_outcaps_structure()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/832 >
2021-02-11 07:46:04 +00:00
Olivier Crête
45d105bea2
effectv: Remove redundant license file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/869 >
2021-02-09 19:31:28 -05:00
Kevin Song
c63ff9c06c
Apply 1 suggestion(s) to 1 file(s)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/868 >
2021-02-05 00:55:49 +00:00
Kevin Song
fd6c296021
Apply 1 suggestion(s) to 1 file(s)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/868 >
2021-02-05 00:55:49 +00:00
Bing Song
025b43e512
v4l2videoenc: support resolution change stream encode.
...
Resolution change stream transcoding will drain before send new video
frame buffer. Need encode video frame after process EOS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/868 >
2021-02-05 00:55:49 +00:00
Xabier Rodriguez Calvar
61d204ab22
qtdemux: added support for cbcs encryption scheme
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/865 >
2021-02-04 12:30:22 +01:00
Guillaume Desmottes
7b7e49de31
rtp: add rtphdrextrfc6464
...
Header Extension for Client-to-Mixer Audio Level Indication as
defined in RFC 6464.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/630 >
2021-02-04 11:12:51 +01:00
Guillaume Desmottes
4b6c3c9a1b
level: add GstRTPAudioLevelMeta on buffers
...
This meta can be used by a RTP payloader to send the level information
to the peer.
Part of https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/446
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/630 >
2021-02-04 11:12:47 +01:00
Robert Swain
25f98ab134
deinterlace: Provide documentation for GST_DEINTERLACE_BUFFER_STATE
...
More information available in
https://gstconf.ubicast.tv/videos/interlacing-and-telecine-in-gstreamer/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/866 >
2021-02-03 17:10:20 +02:00
Vivia Nikolaidou
c7b11482d0
deinterlace: Fix telecine/onefield mixup
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/838
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/866 >
2021-02-03 16:30:15 +02:00
Vivia Nikolaidou
4c4e1b580e
deinterlace: Better alternate support
...
Improve line offset halving based on whether this field is top or
bottom.
Also handle the buffer state the same as mixed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/866 >
2021-02-03 16:30:15 +02:00
Bing Song
5f00810ee0
v4l2h265codec: fix HEVC profile string issue.
...
Keep HEVC profile compatible with other module.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/850 >
2021-01-27 01:22:41 +00:00
Bing Song
b87db31fbe
v4l2object: Need keep same transfer as input caps.
...
GST_VIDEO_TRANSFER_BT2020_12 and GST_VIDEO_TRANSFER_BT2020_10 will
be mapped to V4L2_XFER_FUNC_709. Need check input caps when map
V4L2_XFER_FUNC_709 back to GST_VIDEO_TRANSFER_BT2020_12 and
GST_VIDEO_TRANSFER_BT2020_10
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/816
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/841 >
2021-01-18 04:26:04 +00:00
Tobias Ronge
706d91371c
rtspsrc: Do not wait for response while flushing
...
Due to the may_cancel flag in GstRTSPConnection, receiving might not get
cancelled when supposed to. In this case, gst_rtsp_src_receive_response
will have to wait until timeout instead but if busy receiving RTP
data, this timeout will never occur.
With this patch, gst_rtsp_src_receive_response returns GST_RTSP_EINTR
if flushing is set to TRUE instead of continuing to receive.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/831 >
2021-01-15 09:24:51 +00:00
Tim-Philipp Müller
c854e6bd39
meson: allow libdv subproject fallback
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/854 >
2021-01-14 19:13:03 +00:00
Xabier Rodriguez Calvar
c5ebaadf9d
qtdemux: Allow streams with no specified protection system ID
...
This is necessary in cases like CMAF where there won't be any events
passing thru.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/852 >
2021-01-14 10:11:10 +01:00
Hou Qi
386b785e48
v4l2object: Map correct video format for RGBA
...
Map V4L2_PIX_FMT_RGBA32 pixel format to GST_VIDEO_FORMAT_RGBA instead of
GST_VIDEO_FORMAT_RGB video format to support RGBA.
Fixes #823
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/848 >
2021-01-11 09:05:05 +08:00
Sanchayan Maity
79efd372c1
udpsrc: Fix marker links
...
These should be with a single ':'. The double '::' results in a CI with
build failure message like below.
ERROR: [links]: (mandatory-link-not-found): Mandatory link Link GstSocketTimestamp -> None (GstSocketTimestamp) could not be resolved
ERROR: [check-missing-since-markers]: (missing-since-marker): Missing since marker for udpsrc:socket-timestamp
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/828 >
2021-01-04 15:23:22 -05:00
Sanchayan Maity
e0b09a1612
udpsrc: Allow use of socket control message timestamps for DTS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/828 >
2021-01-04 15:23:22 -05:00
Matthew Waters
db15ec9286
videoflip: fix possible crash when setting the video-direction while running
...
A classic case of not enough locking.
One interesting thing with this is the interaction between the
rotation value and caps negotiation. i.e. the width/height of the caps
can be swapped depending on the video-direction property. We can't lock
the entirety of the caps negotiation for obvious reasons so we need to
do something else. This takes the approach of trying to use a single
rotation value throughout the entirety of the negotiation and then
subsequent output frame in a kind of latching sequence.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/792
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/836 >
2021-01-04 12:10:12 +00:00
Matthew Waters
35018d67ef
tests: add tests for videoflip
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/836 >
2021-01-04 12:10:12 +00:00
Ignacio Casal Quinteiro
219b659320
deinterlace: force -DPREFIX on macos
...
This is due to a bug in meson where it will not detect properly
the compiler if the symbols need an undercore.
https://github.com/mesonbuild/meson/issues/5482
Fixes #821
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/845 >
2020-12-30 13:40:35 +01:00
Sebastian Dröge
39c6bc0507
rtspsrc: Use proper types instead of G_TYPE_POINTER for the RTSP messages in the "handle-request" signal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/842 >
2020-12-21 09:59:43 +00:00
Vivia Nikolaidou
81d2f67ba5
splitmuxsink: Avoid deadlock when releasing a pad from a running muxer
...
Might not drain correctly
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/838 >
2020-12-16 06:17:08 +00:00
Hou Qi
ff1dd307f2
v4l2object: Use active resolution during fallback colorspace probe
...
For legacy drivers that don't implement ENUM_FRAMESIZE, use active
resolution to probe colorspace. This can improve the accuracy of the
result when the colorspace depends on the resolution. This fixes a
wrong colorspace issue on board with vendor bsp at resolution 2560x1440.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/830 >
2020-12-14 09:15:18 +08:00
Mathieu Duponchelle
6d4dcb430d
rtpst2022-1-fecdec: don't xor out of bounds
...
When reconstituting packets from a stream with variable packet
sizes, don't xor larger packets past the length of the protected
packet
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/839 >
2020-12-12 09:29:15 +00:00
Mathieu Duponchelle
6d98415fd4
rtpst2022-1-fecenc: memset when reallocating xored payload
...
When protecting packets with a variable payload length, we
reallocate the xored payload when needed. It is a good idea
to memset the extended memory to 0 so that we don't xor
data with garbage!
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/839 >
2020-12-12 09:29:15 +00:00
Mathieu Duponchelle
081509e030
rtpst2022-1-fec-*: protect additional RTP header fields
...
While the standard is a bit vague about whether the padding,
extension and marker bits should be protected:
> The usage, by senders and receivers, of the following bits shall
> be defined by the associated video/audio transport standards:
It is obviously necessary and useful for some formats (eg VP8)
that those indeed be protected.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/839 >
2020-12-12 09:29:15 +00:00
Jan Schmidt
2d24a45c89
splitmuxsink: Unit test - check format/opened/closed sequence
...
Check the sequence of format-location/fragment-opened/fragment-closed
events is respected. There should be 1 format-location call for each
fragment-opened message, and 1 fragment-closed for each.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/833 >
2020-12-12 03:28:56 +11:00
Jan Schmidt
d7a9a844f6
splitmuxsink: Fix for 'reference bytes muxed' check.
...
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/798
introduced a check in the need-new-fragment logic to avoid starting a
new fragment unless there has been some data on the reference stream,
but the check is done against the number of bytes that have been
received on the input, not the number that were released for output
into the current fragment.
Fix the check to remember and test against bytes that have been sent
for output.
This also fixes a problem where starting a new fragment fails to
request a new filename from the format-location signal.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/833 >
2020-12-12 03:28:19 +11:00
Jan Schmidt
67f70af1bb
splitmuxsink: Add debug for fragment opened/closed msgs
...
When posting fragment-opened and fragment-closed messages,
put a debug statement in the logs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/833 >
2020-12-09 01:03:01 +11:00
Jan Schmidt
df8b147e75
splitmuxsink: Convert asserts into element errors.
...
Change some g_assert into element errors so that they can be
caught and the pipeline shut down.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/833 >
2020-12-09 01:03:01 +11:00
Matthew Waters
656af79130
rtpmanager: update for rtp header extensions
...
Provide an implementation of the transport-wide-cc header extension and
use it in rtpfunnel.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/808 >
2020-12-04 13:24:19 +11:00
Jose Quaresma
2a5d7b18a0
rpicamsrc: add vchostif library as it is required to build successful
...
fix: undefined reference to `vc_gencmd'
/usr/src/debug/gstreamer1.0-plugins-good/1.18.1-r0/build/../gst-plugins-good-1.18.1/sys/rpicamsrc/RaspiCamControl.c:1440: undefined reference to `vc_gencmd'
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/818 >
2020-12-01 18:24:58 +00:00
Marijn Suijten
030b1b3fa5
tests/rtp-payloading: Use new AudioFormatInfo::fill_silence function
...
The function is renamed to be properly associated with AudioFormatInfo
(its instance) instead of AudioFormat (an unrelated enum), see [1] for
the rename itself.
[1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/940
2020-11-26 10:06:25 +02:00
Nirbheek Chauhan
552da8569b
deinterlace: Enable x86 assembly with nasm on MSVC
...
We need to remove x86inc.asm from the list of compiled assembly files
because it is not supposed to be compiled separately. It is directly
included by yadif.asm, and it exports no symbols.
The object file was getting ignored on all platforms except on msvc
where it was causing a linker hang when building with debugging
enabled because the object file had no debug symbols (or similar).
We've seen this before in FFmpeg too, which uses nasm:
https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/-/merge_requests/46
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/825 >
2020-11-24 22:11:50 +05:30
Matthew Waters
9d14ae4740
qml: add some docs on display and contexts
...
Especially considering some dynamic pipeline scenarios.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/822 >
2020-11-20 07:49:40 +00:00
Tim Schneider
2c76f03fe2
rpicamsrc: Added "src->started = FALSE;" to gst_rpi_cam_src_stop
...
Makes the element reusable multiple times after a state change back to READY.
Fixes #105
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/823 >
2020-11-20 02:15:15 +11:00
Bing Song
8a0a7d932a
v4l2: caps negotiate wrong as interlace feature
...
gst_caps_simplify() will move interlace format before normal video
format. It will cause caps negotiate prefer interlaced caps which
isn't expected. Seperate normal caps and interlaced caps and then
merge it will keep prefer progress video format.
Add ARGB/BGRA for interlaced caps.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/802
Part-of <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/813 >
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/813 >
2020-11-16 15:12:28 +00:00
Havard Graff
79748dab2b
rtpsession: never send on a non-internal source
...
This will end up as a "received" packet, due to the code in
source_push_rtp, which will think this is a packet being received.
Instead drop the packet and hope that either:
1. Something upstream responds to the GstRTPCollision event and changes
SSRC used for sending.
2. That the application responds to the "on-ssrc-collision" signal, and
forces the sender (payloader) to change its SSRC.
3. That the BYE sent to the existing user of this SSRC will respond to
the BYE, and that we timeout this source, so we can continue sending
using the chosen SSRC.
The test reproduces a scenario where we previously would have sent
on a non-internal source.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/817 >
2020-11-13 21:35:58 +01:00
Havard Graff
97ced29277
rtpsource: rewrite timeout-check to avoid underflow
...
If current_time is < collision_timeout, we get an uint64 underflow, and
the check will trigger prematurely.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/817 >
2020-11-13 21:30:06 +01:00
Vivia Nikolaidou
5a2f9d510f
aacparse: Fix caps change handling
...
In baseparse we set the fixed caps flag on all src pads, therefore the
source pad caps query in get_allowed_caps will return the current caps.
Current caps won't necessarily intersect with the new caps (e.g. sample
rate change). Replace get_allowed_caps with peer_query_caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/816 >
2020-11-13 13:10:05 +00:00
Tim-Philipp Müller
f5310ce346
tests: qtdemux: fix typo in caps field
...
timesacle -> timescale
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815 >
2020-11-12 23:40:13 +00:00
Tim-Philipp Müller
2ce5909f3a
tests: qtdemux: fix crash on 32-bit architectures
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815 >
2020-11-12 23:40:13 +00:00
Sanchayan Maity
8c3ec64473
rtp: ldacpay: Add LDAC RTP payloader
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/757 >
2020-11-11 22:59:19 +05:30
Sebastian Dröge
e3c16d0194
qmlglsink: Keep old buffers around a bit longer if they were bound by QML
...
We don't know exactly when QML will stop using them but it should be
safe to unref them after at least 2 more buffers were bound.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/810 >
2020-11-11 11:37:27 +00:00
ChrisDuncanAnyvision
d9ea3346f3
rtspsrc: Ensure same group-id used for both TCP/UDP stream-start events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/811 >
2020-11-10 18:18:12 +00:00
ChrisDuncanAnyvision
e5f5e712c6
rtspsrc: Use consistent URI hashed stream-id for UDP and TCP/Interleaved streams
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/811 >
2020-11-10 16:23:17 +00:00
Nirbheek Chauhan
35eabc3f95
meson: Enable some MSVC warnings for parity with GCC/Clang
...
This makes it easier to do development with MSVC by making it warn
on common issues that GCC/Clang error out for in our CI configuration.
Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/809 >
2020-11-04 18:43:04 +05:30