mirror of
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs.git
synced 2024-12-03 00:36:30 +00:00
158fe80779
Some elements in the RTP stack assume all buffers in a `gst::BufferList`
correspond to the same timestamp. See in [`rtpsession`] for instance.
This also had the effect that `rtpsession` did not create correct RTCP as it
only saw some of the SSRCs in the stream.
`rtpgccbwe` formed a packet group by gathering buffers in a `gst::BufferList`,
regardless of whether they corresponded to the same timestamp, which broke
synchronization under certain circonstances.
This commit makes `rtpgccbwe` push the buffers as they were received: one by one.
[`rtpsession`]: bc858976db/subprojects/gst-plugins-good/gst/rtpmanager/gstrtpsession.c (L2462)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1508>
47 lines
1.2 KiB
TOML
47 lines
1.2 KiB
TOML
[package]
|
|
name = "gst-plugin-rtp"
|
|
version.workspace = true
|
|
authors = ["Vivienne Watermeier <vwatermeier@igalia.com>", "Sebastian Dröge <sebastian@centricular.com>"]
|
|
repository.workspace = true
|
|
license = "MPL-2.0"
|
|
edition.workspace = true
|
|
description = "GStreamer Rust RTP Plugin"
|
|
rust-version.workspace = true
|
|
|
|
[dependencies]
|
|
bitstream-io = "2.0"
|
|
gst = { workspace = true, features = ["v1_20"] }
|
|
gst-rtp = { workspace = true, features = ["v1_20"]}
|
|
time = { version = "0.3", default-features = false, features = ["std"] }
|
|
once_cell.workspace = true
|
|
smallvec = { version = "1.11", features = ["union", "write", "const_generics", "const_new"] }
|
|
|
|
[dev-dependencies]
|
|
gst-check = { workspace = true, features = ["v1_20"] }
|
|
|
|
[build-dependencies]
|
|
gst-plugin-version-helper.workspace = true
|
|
|
|
[lib]
|
|
name = "gstrsrtp"
|
|
crate-type = ["cdylib", "rlib"]
|
|
path = "src/lib.rs"
|
|
|
|
[features]
|
|
static = []
|
|
capi = []
|
|
doc = []
|
|
|
|
[package.metadata.capi]
|
|
min_version = "0.9.21"
|
|
|
|
[package.metadata.capi.header]
|
|
enabled = false
|
|
|
|
[package.metadata.capi.library]
|
|
install_subdir = "gstreamer-1.0"
|
|
versioning = false
|
|
import_library = false
|
|
|
|
[package.metadata.capi.pkg_config]
|
|
requires_private = "gstreamer-1.0, gstreamer-base-1.0, gstreamer-rtp-1.0, gobject-2.0, glib-2.0, gmodule-2.0"
|