Commits on Source (10)
-
Nirbheek Chauhan authored
GST_PLUGIN_FEATURE_RANK=rtspsrc2:1 gst-play-1.0 [URI] Features: * Live streaming N audio and N video - With RTCP-based A/V sync * Lower transports: TCP, UDP, UDP-Multicast * RTP, RTCP SR, RTCP RR * OPTIONS DESCRIBE SETUP PLAY TEARDOWN * Custom UDP socket management, does not use udpsrc/udpsink * Supports both rtpbin and the rtpbin2 rust rewrite - Set USE_RTPBIN2=1 to use rtpbin2 (needs other MRs) * Properties: - protocols selection and priority (NEW!) - location supports rtsp[ut]:// - port-start instead of port-range Co-Authored-by:
Tim-Philipp Müller <tim@centricular.com> Part-of: <!1425>
-
Nirbheek Chauhan authored
If we only send a single Transport in the Transports header, then the server is allowed to omit it in the response. This has some strange consequences for UDP transport: specifically, we have no idea what addr/port we will get the packets from. In those cases, we connect() on the socket when we receive the first packet, so we can send RTCP RRs, and also so we can ensure that we ignore data from other addresses. Part-of: <!1425>
-
Nirbheek Chauhan authored
This allows us to exit when the live-stream ends. Part-of: <!1425>
-
Nirbheek Chauhan authored
Control the size with a receive-mtu property Part-of: <!1425>
-
Nirbheek Chauhan authored
This could be a struct of some kind derived from sdp_types::Media etc, but this is fine for now. Adds parsing of framesize, and fallbacks for missing or incomplete rtpmap. Part-of: <!1425>
-
Nirbheek Chauhan authored
Part-of: <!1425>
-
Nirbheek Chauhan authored
Also fix some logging. Part-of: <!1425>
-
Nirbheek Chauhan authored
Don't use connect(), since that is incompatible with multicast. Instead, drop received packets that are from senders we do not want. Also set multicast loopback = false so we don't receive RTCP RRs from ourselves and interpret them as RTCP SRs. Part-of: <!1425>
-
Nirbheek Chauhan authored
Part-of: <!1425>
Showing
- Cargo.lock 187 additions, 67 deletionsCargo.lock
- Cargo.toml 2 additions, 0 deletionsCargo.toml
- ci/utils.py 1 addition, 0 deletionsci/utils.py
- dependencies.py 1 addition, 0 deletionsdependencies.py
- docs/plugins/gst_plugins_cache.json 105 additions, 0 deletionsdocs/plugins/gst_plugins_cache.json
- meson.build 5 additions, 2 deletionsmeson.build
- meson_options.txt 1 addition, 0 deletionsmeson_options.txt
- net/rtsp/Cargo.toml 55 additions, 0 deletionsnet/rtsp/Cargo.toml
- net/rtsp/LICENSE-MPL-2.0 373 additions, 0 deletionsnet/rtsp/LICENSE-MPL-2.0
- net/rtsp/README.md 70 additions, 0 deletionsnet/rtsp/README.md
- net/rtsp/build.rs 3 additions, 0 deletionsnet/rtsp/build.rs
- net/rtsp/src/lib.rs 36 additions, 0 deletionsnet/rtsp/src/lib.rs
- net/rtsp/src/rtspsrc/body.rs 103 additions, 0 deletionsnet/rtsp/src/rtspsrc/body.rs
- net/rtsp/src/rtspsrc/imp.rs 2044 additions, 0 deletionsnet/rtsp/src/rtspsrc/imp.rs
- net/rtsp/src/rtspsrc/mod.rs 55 additions, 0 deletionsnet/rtsp/src/rtspsrc/mod.rs
- net/rtsp/src/rtspsrc/sdp.rs 431 additions, 0 deletionsnet/rtsp/src/rtspsrc/sdp.rs
- net/rtsp/src/rtspsrc/tcp_message.rs 202 additions, 0 deletionsnet/rtsp/src/rtspsrc/tcp_message.rs
- net/rtsp/src/rtspsrc/transport.rs 99 additions, 0 deletionsnet/rtsp/src/rtspsrc/transport.rs
- video/gtk4/src/sink/imp.rs 8 additions, 0 deletionsvideo/gtk4/src/sink/imp.rs
net/rtsp/Cargo.toml
0 → 100644
net/rtsp/LICENSE-MPL-2.0
0 → 100644
net/rtsp/README.md
0 → 100644
net/rtsp/build.rs
0 → 100644
net/rtsp/src/lib.rs
0 → 100644
net/rtsp/src/rtspsrc/body.rs
0 → 100644
net/rtsp/src/rtspsrc/imp.rs
0 → 100644
This diff is collapsed.
net/rtsp/src/rtspsrc/mod.rs
0 → 100644
net/rtsp/src/rtspsrc/sdp.rs
0 → 100644
net/rtsp/src/rtspsrc/tcp_message.rs
0 → 100644
net/rtsp/src/rtspsrc/transport.rs
0 → 100644