Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/net
AgeCommit message (Collapse)Author
2023-09-20webrtcsink: Fix clippy warningSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1327>
2023-09-20onvifmetadataparse: Skip metadata frames with unrepresentable UTC timeSebastian Dröge
Previously we would panic, which causes the element to post an error message. Instead, simply skip metadata frames if their UTC time since the UNIX epoch can't be represented as nanoseconds in u64. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1327>
2023-09-20webrtcsink: Propagate GstContext messagesSeungha Yang
Implement CustomBusStream so that NEED_CONTEXT and HAVE_CONTEXT messages from session/discovery can be forwarded to parent pipeline and also GstContext can be shared. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1327>
2023-09-20webrtcsink: Add support for d3d11 memory and qsvh264encSeungha Yang
Adding d3d11 memory and qsvh264enc support Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1327>
2023-09-20webrtcsink: fix TWCC extension addingRobert Ayrapetyan
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1327>
2023-09-20webrtcsink: don't forget to setup encoders for discoveriesMathieu Duponchelle
The "encoder-setup" signal must also be emitted for the encoders used in discovery pipelines in order for the default settings to be applied. This otherwise meant that for instance the x264 encoder would use a 60 frames latency, greatly delaying startup. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1327>
2023-09-20webrtcsink: NVIDIA V4L2 encoders always require NVMM memorySebastian Dröge
And if the input is not like that then a corresponding converter must be inserted. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1327>
2023-07-20Update version to 0.9.11Sebastian Dröge
2023-07-19webrtcsink: fix pipeline when input caps contain max-framerateMathieu Duponchelle
GstVideoInfo uses max-framerate to compute its fps, but this leads to issues in videorate when framerate is actually 0/1. Fix this by stripping away max-framerate from input caps Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1285>
2023-07-19webrtcsink: Configure only 4 threads for x264encSebastian Dröge
More threads can cause more slices to be created, and Chrome simply falls apart if there are more than a few slices and fails decoding. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1285>
2023-07-19webrtcsink: Translate force-keyunit events to force-IDR action signal for ↵Sebastian Dröge
NVIDIA encoders NVIDIA's v4l2 encoder elements don't handle the force-keyunit events but instead provide a custom action signal based API for requesting a keyframe. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1285>
2023-07-19webrtcsink: Set config-interval=-1 and aggregate-mode=zero-latency on ↵Sebastian Dröge
rtph26[45]pay Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1285>
2023-07-19webrtcsink: Set VP8/VP9 payloader based on payloader element factory nameSebastian Dröge
Instead of checking the encoder's name. There are more VP8/VP9 encoders than the ones from the vpx plugin. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1285>
2023-07-05webrtcink: Use correct property types for nvvideoconvertSebastian Dröge
These are enums and not plain integers. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1267>
2023-06-20webrtc/signalling: fix race condition in message orderingMathieu Duponchelle
Spawning one task per message to send out instead of sending them out sequentially from the one task used to poll the handler sometimes resulted in peers receiving ICE candidates before SDP offers, triggering hard to understand errors in the browser. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1254>
2023-06-19webrtc/signalling: Allow unknown clippy lintsgstreamer-1.22.4Sebastian Dröge
tracing is adding some that require a newer Rust version than used here. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1249>
2023-06-19webrtcsink: don't try to use cudaconvert if not presentMathieu Duponchelle
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1249>
2023-06-19webrtcsrc: add twcc extension to codec-preferences when presentMathieu Duponchelle
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1249>
2023-06-19webrtc: Update to fastrand 2Sebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1249>
2023-06-19Use MPL as license specifier for plugins only requiring GStreamer < 1.20Sebastian Dröge
And use MPL-2.0 for all that require GStreamer 1.20 or newer. The new string is only allowed in 1.20 or newer and using it in older versions causes failure to load the plugin. All affected plugins are of course still MPL-2.0 licensed. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/374 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1249>
2023-06-06net/aws/transcriber: track discont offset in input streamMathieu Duponchelle
and add it up to subsequent transcripts. This ensures synchronization is maintained even after the input stream experiences a discontinuity and a gap in its timestamps. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1234>
2023-06-06rtpgccbwe: Improve packet handlingEdward Hervey
Both the delay-based *and* loss-based estimates should be computed instead of just one. This ensures faster adaptation. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1234>
2023-06-06whipsink: Request pads with webrtcbin's pad templates and not our ownSebastian Dröge
It's invalid to request pads with a pad template that is not part of the element, and results in a critical warning. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1234>
2023-06-06webrtcsink: further refactor connection to stats signalsMathieu Duponchelle
- Stop passing webrtcbin around without using it - Stop using glib::closure as clippy complains when using a unit type default-return Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1234>
2023-06-06webrtcsink: fix stats_sigid logicMathieu Duponchelle
First off, we just created the session, we know stats_sigid is None at this point. Second, don't first assign the result of connecting on-new-ssrc to the field, then the result of connection twcc-stats, that simply doesn't make sense. Finally, actually check that stats_sigid *is* None before connecting twcc-stats, as I understand it this must have been the original intention / behavior. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1234>
2023-06-06webrtcsink: don't panic in twcc-stats callbackMathieu Duponchelle
If webrtcbin was disposed of at this point, simply return Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/345 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1234>
2023-05-18webrtcsrc: Do not pass raw caps in the transceiverThibault Saunier
That was not making sense. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1216>
2023-05-18webrtcsrc: Fix caps used when creating transceiverThibault Saunier
We used to pass all media keys and attributes to the caps which incorrect. Instead we should be using only the keys from the map and remove all information related to rtcp which is irrelevant to create the transceiver. This also simplifies the code. New caps look like: ``` Caps( application/x-rtp(memory:SystemMemory) { media: (gchararray) "video", payload: (gint) 96, clock-rate: (gint) 90000, encoding-name: (gchararray) "VP8", }, application/x-rtp(memory:SystemMemory) { media: (gchararray) "video", payload: (gint) 102, clock-rate: (gint) 90000, encoding-name: (gchararray) "H264", packetization-mode: (gchararray) "1", profile: (gchararray) "baseline", }, application/x-rtp(memory:SystemMemory) { media: (gchararray) "video", payload: (gint) 104, clock-rate: (gint) 90000, encoding-name: (gchararray) "H264", packetization-mode: (gchararray) "0", profile: (gchararray) "baseline", }, application/x-rtp(memory:SystemMemory) { media: (gchararray) "video", payload: (gint) 106, clock-rate: (gint) 90000, encoding-name: (gchararray) "H264", packetization-mode: (gchararray) "1", profile: (gchararray) "constrained-baseline", }, application/x-rtp(memory:SystemMemory) { media: (gchararray) "video", payload: (gint) 108, clock-rate: (gint) 90000, encoding-name: (gchararray) "H264", packetization-mode: (gchararray) "0", profile: (gchararray) "constrained-baseline", }, application/x-rtp(memory:SystemMemory) { media: (gchararray) "video", payload: (gint) 127, clock-rate: (gint) 90000, encoding-name: (gchararray) "H264", packetization-mode: (gchararray) "1", profile: (gchararray) "main", }, application/x-rtp(memory:SystemMemory) { media: (gchararray) "video", payload: (gint) 39, clock-rate: (gint) 90000, encoding-name: (gchararray) "H264", packetization-mode: (gchararray) "0", profile: (gchararray) "main", }, application/x-rtp(memory:SystemMemory) { media: (gchararray) "video", payload: (gint) 98, clock-rate: (gint) 90000, encoding-name: (gchararray) "VP9", profile-id: (gchararray) "0", }, application/x-rtp(memory:SystemMemory) { media: (gchararray) "video", payload: (gint) 100, clock-rate: (gint) 90000, encoding-name: (gchararray) "VP9", profile-id: (gchararray) "2", }, ) ``` Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1216>
2023-04-22rtpgccbwe: Don't process empty listsEdward Hervey
The structure parsing could result in an empty vector. Don't do any processing since the loss code assumes it's non-empty for average estimates which would result in weird/invalid results. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1190>
2023-04-05ndisrc: Fix copying of raw video frames with different NDI/GStreamer stridesSebastian Dröge
And also don't copy each line twice for single-plane formats. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1161>
2023-04-05git: replace LICENSE file symlinks with copiesTim-Philipp Müller
Git will de-duplicate the contents for us anyway, and symlinks can cause problems with some versions of git and also on Windows. https://github.com/mesonbuild/meson/issues/11646 https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4326 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1161>
2023-04-05webrtcsink: fix calculation of fec_ratio with multiple encodersMathieu Duponchelle
In this context, the bitrate variable is for all encoders, but the max_bitrate field is per encoder. To calculate a proper FEC ratio, we need to scale max_bitrate to the number of encoders. + Also clamp the fec-percentage that we set on the transceiver for extra safety Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1161>
2023-03-02Add a webrtcsrc elementThibault Saunier
Updating the docker image to include: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3236 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1117>
2023-03-02Update versions to 0.9.10Sebastian Dröge
2023-03-02ndisinkcombiner: Properly handle caps changesVivia Nikolaidou
We are caching one video buffer, so previously we were changing the src caps one buffer too early. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1116>
2023-03-02webrtc: Enhance debug messages when using unknown peer IDThibault Saunier
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1116>
2023-03-02webrtcsink: also support nvvidconv in lieu of nvvideoconvertMatthew Waters
nvvideoconvert may not exist and nvvidconv might on some Jetson platforms. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1116>
2023-02-21hlssink3: Allow GIOStream signal handlers to return NoneArun Raghavan
If creating a playlist or fragment stream fails (disk is full, the directory is removed, ...), we will currently crash because the signal handler expects a non-None GIOStream. The actual callback is allowed to return None values and we handle this in the caller, so let's not have this restriction on the signal handler. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1098>
2023-02-11rtpav1pay: Fix Leb128Bytes size parsingSeungha Yang
There are multiple ways of encoding the value, and don't assume that bitstream used the way used in this plugin. Instead, count the number of used bytes. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/312 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1092>
2023-02-09Update versions to 0.9.9Sebastian Dröge
2023-02-09awss3sink: Add properties to set content-Type and content-disposition.rajneeshksoni
for uploaded object default content-type is set to binary/octet-stream, which is correct. metadata cannot be used to set content-type and content-disposition as setting metadata add a prefix x-amz-meta to key e.g. setting metadate "content-type=video/mp4" actually set value as x-amz-meta-content-type. So these has to be seaprate property. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>
2023-02-09hlssink3: Allow setting i-frame-only playlist.rajneeshksoni
HLS allows manifest where all segments are single ifames. This manifest requires `EXT-X-I-FRAMES-ONLY` tag in the manifest. I-FRAMES-ONLY playlist segments are video only segments. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>
2023-02-09rtpgccbwe: Don't use `clamp()` if there's no clear min/max valueSebastian Dröge
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/305 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>
2023-02-09aws/s3hlssink: Fix deadlock on EOSSanchayan Maity
In state change to NULL, we take state lock and call stop. When stop is called, we will try to upload queued segments in S3 request thread. That tries to take the state lock again and deadlocks. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>
2023-02-09aws/s3hlssink: Use factory name when checking name of child elementSanchayan Maity
Commit ad3f1cf fixed the name of hlssink child element to be the same for hlssink2 and hlssink3. However, we rely on element name to return boolean in case of hlssink3 or None in case of hlssink2 as the return value of the delete-fragment closure. Fix this by using the factory name instead of the element name. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>
2023-02-09rtpav1pay: Add support for tu/frame aligned inputSebastian Dröge
In this case every buffer can be sent out immediately and makes up a whole frame. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>
2023-02-09rtpav1pay: Consider the marker flag to output packets immediately at the end ↵Sebastian Dröge
of a frame Otherwise it is necessary to wait for the beginning of the following frame, which unnecessarily increases the latency. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/255 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>
2023-02-09rtpav1depay: Fix depayloading of packets starting with a leading OBU ↵Sebastian Dröge
fragment followed by more OBUs Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/288 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>
2023-02-09rtpav1depay: Fix error handlingSebastian Dröge
Don't error out immediately on errors anymore but try again with the next packet. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/289 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>
2023-02-09rtpav1depay: Set DISCONT flag on buffers following a corrupted packetSebastian Dröge
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1086>