Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • tkanakamalla/gst-plugins-rs
  • gstreamer/gst-plugins-rs
  • slomo/gst-plugins-rs
  • tvermeir/gst-plugin-rs
  • alatiera/gst-plugins-rs
  • redongjun/gst-plugin-rs
  • fengalin/gst-plugins-rs
  • bkchr/gst-plugins-rs
  • LighthouseJ/gst-plugins-rs
  • JimmyOhn/gst-plugins-rs
  • philn/gst-plugins-rs
  • meh/gst-plugins-rs
  • ahamedsajeer.15/gst-plugins-rs
  • kindlychung/gst-plugins-rs
  • gdesmott/gst-plugins-rs
  • arun/gst-plugins-rs
  • loganek/gst-plugins-rs
  • nhunter1093/gst-plugins-rs
  • charles/gst-plugins-rs
  • rubenrua/gst-plugins-rs
  • raytiley/gst-plugins-rs
  • rgonzalez/gst-plugins-rs
  • chturne/gst-plugins-rs
  • heftig/gst-plugins-rs
  • Devdutt/gst-plugins-rs
  • tony-jinwoo-ahn/gst-plugins-rs
  • bilboed/gst-plugins-rs
  • tmorell/gst-plugins-rs
  • xclaesse/gst-plugins-rs
  • hanseac/gst-plugins-rs
  • neithanmo/gst-plugins-rs
  • blaxar.waldarax/gst-plugins-rs
  • ebnerm/gst-plugins-rs
  • dabrain34/gst-plugins-rs
  • paulyc/gst-plugins-rs
  • ndufresne/gst-plugins-rs
  • bgonz/gst-plugins-rs
  • lucab/gst-plugins-rs
  • yan3nian/gst-plugins-rs
  • jessica2020martin/gst-plugins-rs
  • ystreet/gst-plugins-rs
  • vivia/gst-plugins-rs
  • yselkowitz1/gst-plugins-rs
  • elmarco/gst-plugins-rs
  • thaytan/gst-plugins-rs
  • seungha.yang/gst-plugins-rs
  • avantgardnerio/gst-plugins-rs
  • wonchul/gst-plugins-rs
  • abdulrehman/gst-plugins-rs
  • nkyriazis/gst-plugins-rs
  • francisv/gst-plugins-rs
  • MarijnS95/gst-plugins-rs
  • zeenix/gst-plugins-rs
  • SanchayanMaity/gst-plugins-rs
  • gstreamer-backport-bot/gst-plugins-rs
  • cadubentzen/gst-plugins-rs
  • ocrete/gst-plugins-rs
  • bilelmoussaoui/gst-plugins-rs
  • karlri/gst-plugins-rs
  • rafaelcaricio/gst-plugins-rs
  • ferjmoreno/gst-plugins-rs
  • xhaakon/gst-plugins-rs
  • theHamsta/gst-plugins-rs
  • taynantz/gst-plugins-rs
  • chrko/gst-plugins-rs
  • humb3rtoguti3rr3z/gst-plugins-rs
  • micolous/gst-plugins-rs
  • linkmauve/gst-plugins-rs
  • jsparber/gst-plugins-rs
  • tpm/gst-plugins-rs
  • SeaDve/gst-plugins-rs
  • andreiltd/gst-plugins-rs
  • marksweeneyster/gst-plugins-rs
  • thiblahute/gst-plugins-rs
  • jh-hsd/gst-plugins-rs
  • burakyigit442005/gst-plugins-rs
  • kapsa.wojtek/gst-plugins-rs
  • vivienne/gst-plugins-rs
  • aeikum/gst-plugins-rs
  • yatinmaan/gst-plugins-rs
  • ranfdev/gst-plugins-rs
  • 7r3nzy/gst-plugins-rs
  • K.J.Russcher/gst-plugins-rs
  • Be/gst-plugins-rs
  • rajneeshksoni/gst-plugins-rs
  • 0m-ax/gst-plugins-rs
  • VanMacGiGi/gst-plugins-rs
  • nirbheek/gst-plugins-rs
  • leio/gst-plugins-rs
  • mildsunrise/gst-plugins-rs
  • dwlsalmeida/gst-plugins-rs
  • neodesys/gst-plugins-rs
  • MichaelOultram-pexip/gst-plugins-rs
  • zhao-gang/gst-plugins-rs
  • raffael_santi/gst-plugins-rs
  • mkonstapel/gst-plugins-rs
  • johan-bjareholt/gst-plugins-rs
  • cwtchan3388/gst-plugins-rs
  • Skyfarmer/gst-plugins-rs
  • mattfeury/gst-plugins-rs
  • mmenzyns/gst-plugins-rs
  • averred/gst-plugins-rs
  • jobafr/gst-plugins-rs
  • thejoeejoee/gst-plugins-rs
  • lilyinstarlight/gst-plugins-rs
  • MrBlenny/gst-plugins-rs
  • Hejsil/gst-plugins-rs
  • marcbull/gst-plugins-rs
  • kingosticks/gst-plugins-rs
  • beaverking/gst-plugins-rs
  • antoniok/gst-plugins-rs
  • chhofi/gst-plugins-rs
  • jaysonsantos/gst-plugins-rs
  • ylatuya/gst-plugins-rs
  • ozan/gst-plugins-rs
  • happylinks/gst-plugins-rs
  • vpalmisano/gst-plugins-rs
  • rodrigovb96/gst-plugins-rs
  • JanGernert/gst-plugins-rs
  • amyspark/gst-plugins-rs
  • rayrapetyan/gst-plugins-rs
  • YaLTeR/gst-plugins-rs
  • eva/gst-plugins-rs
  • danburkert/gst-plugins-rs
  • GRVYDEV/gst-plugins-rs
  • Sean-Der/gst-plugins-rs
  • max-khm/gst-plugins-rs
  • thewildtree/gst-plugins-rs
  • lieven.paulissen2/gst-plugins-rs
  • lieven.paulissen/gst-plugins-rs
  • eddo/gst-plugins-rs
  • nagisa/gst-plugins-rs
  • jyelloz/gst-plugins-rs
  • rmader/gst-plugins-rs
  • PLavigne/gst-plugins-rs
  • AntoninRousset/gst-plugins-rs
  • mjimeno/gst-plugins-rs
  • benjamin.gaignard1/gst-plugins-rs
  • m.tretter/gst-plugins-rs
  • diegonieto/gst-plugins-rs
  • zecakeh/gst-plugins-rs
  • jhennebe/gst-plugins-rs
  • gawmanarnar/gst-plugins-rs
  • levaitamas/gst-plugins-rs
  • cdelguercio/gst-plugins-rs
  • btgoodwin/gst-plugins-rs
  • ljwall/gst-plugins-rs
  • vixalien/gst-plugins-rs
  • ekwange/gst-plugins-rs
  • SteveMcFarlin/gst-plugins-rs
  • leonardosalvatore/gst-plugins-rs
  • artemmartus/gst-plugins-rs
  • leo.park/gst-plugins-rs
  • muiznieks.reinis/gst-plugins-rs
  • topmux/gst-plugins-rs
  • davydog187/gst-plugins-rs
  • kevmo314/gst-plugins-rs
  • markandre/gst-plugins-rs
  • jbcolle/gst-plugins-rs
  • me5/gst-plugins-rs
  • ntrrgc/gst-plugins-rs
  • jewe37/gst-plugins-rs
  • emielvanseveren/gst-plugins-rs
  • daniel.pendse/gst-plugins-rs
  • cocoa/gst-plugins-rs
  • oscar/gst-plugins-rs
  • chrisb/gst-plugins-rs
  • Mohan_J/gst-plugins-rs
  • alberts/gst-plugins-rs
  • bradh/gst-plugins-rs
  • eipachte/gst-plugins-rs
  • romain/gst-plugins-rs
  • dyshimizu/gst-plugins-rs
173 results
Show changes
Commits on Source (4)
This diff is collapsed.
......@@ -5175,6 +5175,9 @@
"GInitiallyUnowned",
"GObject"
],
"interfaces": [
"GstChildProxy"
],
"klass": "Source/Network/QUIC",
"pad-templates": {
"datagram": {
......@@ -5982,6 +5985,9 @@
"GInitiallyUnowned",
"GObject"
],
"interfaces": [
"GstChildProxy"
],
"klass": "Source/Network/QUIC",
"pad-templates": {
"datagram_%%u": {
......
......@@ -25,7 +25,7 @@ rcgen = "0.13"
bytes = "1.5.0"
thiserror = "2"
async-channel = "2.3"
itertools = "0.12"
itertools = "0.13"
env_logger = "0.11"
web-transport-quinn = "0.3.3"
url = "2.5.2"
......
......@@ -159,10 +159,10 @@ impl ElementImpl for QuinnQuicMux {
name: Option<&str>,
_caps: Option<&gst::Caps>,
) -> Option<gst::Pad> {
let mut state = self.state.lock().unwrap();
match templ.name_template() {
"stream_%u" => {
let mut state = self.state.lock().unwrap();
let stream_pad_name = if let Some(pad_name) = name {
pad_name.to_string()
} else {
......@@ -181,11 +181,17 @@ impl ElementImpl for QuinnQuicMux {
.add_pad(&stream_pad)
.expect("Failed to add unidirectional stream pad");
drop(state);
self.obj().child_added(&stream_pad, &stream_pad.name());
Some(stream_pad.upcast())
}
"datagram" => {
gst::debug!(CAT, imp = self, "Requesting datagram pad");
let mut state = self.state.lock().unwrap();
if state.datagram_requested {
gst::warning!(CAT, imp = self, "datagram pad has already been requested");
......@@ -203,6 +209,10 @@ impl ElementImpl for QuinnQuicMux {
.add_pad(&datagram_pad)
.expect("Failed to add datagram pad");
drop(state);
self.obj().child_added(&datagram_pad, &datagram_pad.name());
Some(datagram_pad.upcast())
}
_ => None,
......@@ -218,7 +228,11 @@ impl ElementImpl for QuinnQuicMux {
self.close_stream_for_pad(pad, &mut state);
}
self.parent_release_pad(pad)
drop(state);
self.parent_release_pad(pad);
self.obj().child_removed(pad, &pad.name());
}
fn change_state(
......@@ -381,6 +395,7 @@ impl ObjectSubclass for QuinnQuicMux {
const NAME: &'static str = "GstQuinnQuicMux";
type Type = super::QuinnQuicMux;
type ParentType = gst_base::Aggregator;
type Interfaces = (gst::ChildProxy,);
fn with_class(_klass: &Self::Class) -> Self {
Self {
......
......@@ -349,31 +349,6 @@ impl ObjectSubclass for QuinnRoqDemux {
}
}
impl ChildProxyImpl for QuinnRoqDemux {
fn children_count(&self) -> u32 {
let object = self.obj();
object.num_pads() as u32
}
fn child_by_name(&self, name: &str) -> Option<glib::Object> {
let object = self.obj();
object
.pads()
.into_iter()
.find(|p| p.name() == name)
.map(|p| p.upcast())
}
fn child_by_index(&self, index: u32) -> Option<glib::Object> {
let object = self.obj();
object
.pads()
.into_iter()
.nth(index as usize)
.map(|p| p.upcast())
}
}
impl QuinnRoqDemux {
fn add_srcpad_for_flowid(&self, flow_id: u64) -> Result<gst::Pad, gst::FlowError> {
let caps = self
......
......@@ -18,7 +18,7 @@ use gst::prelude::*;
pub mod imp;
glib::wrapper! {
pub struct QuinnRoqDemux(ObjectSubclass<imp::QuinnRoqDemux>) @extends gst::Element, gst::Object, @implements gst::ChildProxy;
pub struct QuinnRoqDemux(ObjectSubclass<imp::QuinnRoqDemux>) @extends gst::Element, gst::Object;
}
pub fn register(plugin: &gst::Plugin) -> Result<(), glib::BoolError> {
......
......@@ -196,10 +196,10 @@ impl ElementImpl for QuinnRoqMux {
_name: Option<&str>,
_caps: Option<&gst::Caps>,
) -> Option<gst::Pad> {
let mut state = self.state.lock().unwrap();
match templ.name_template() {
"stream_%u" => {
let mut state = self.state.lock().unwrap();
let sink_pad_name = format!("stream_{}", state.stream_uni_conns);
gst::debug!(CAT, imp = self, "Requesting pad {}", sink_pad_name);
......@@ -215,6 +215,10 @@ impl ElementImpl for QuinnRoqMux {
state.stream_uni_conns += 1;
drop(state);
self.obj().child_added(&sinkpad, &sinkpad.name());
Some(sinkpad.upcast())
}
"datagram_%u" => {
......@@ -223,6 +227,8 @@ impl ElementImpl for QuinnRoqMux {
return None;
}
let mut state = self.state.lock().unwrap();
let sink_pad_name = format!("datagram_{}", state.datagrams);
gst::debug!(CAT, imp = self, "Requesting pad {}", sink_pad_name);
......@@ -238,6 +244,10 @@ impl ElementImpl for QuinnRoqMux {
state.datagrams += 1;
drop(state);
self.obj().child_added(&sinkpad, &sinkpad.name());
Some(sinkpad.upcast())
}
_ => None,
......@@ -249,7 +259,9 @@ impl ElementImpl for QuinnRoqMux {
self.close_stream_for_pad(pad);
}
self.parent_release_pad(pad)
self.parent_release_pad(pad);
self.obj().child_removed(pad, &pad.name());
}
}
......@@ -265,6 +277,7 @@ impl ObjectSubclass for QuinnRoqMux {
const NAME: &'static str = "GstQuinnRoqMux";
type Type = super::QuinnRoqMux;
type ParentType = gst_base::Aggregator;
type Interfaces = (gst::ChildProxy,);
fn with_class(_klass: &Self::Class) -> Self {
Self {
......
......@@ -25,7 +25,7 @@ anyhow = "1"
chrono = "0.4"
thiserror = "2"
futures = "0.3"
itertools = "0.12"
itertools = "0.13"
tokio = { version = "1", features = ["fs", "macros", "rt-multi-thread", "time"] }
tokio-native-tls = "0.3.0"
tokio-stream = "0.1.11"
......
......@@ -43,17 +43,17 @@ fn test_parse() {
(
18_985_633_333.nseconds(),
1_234_566_667.nseconds(),
"Yes, I'm supporting\r\nDonald Trump.",
"Yes, Im supporting\r\nDonald Trump.",
),
(
20_220_200_000.nseconds(),
2_168_833_333.nseconds(),
"I'm doing so as enthusiastically\r\nas I can,",
"Im doing so as enthusiastically\r\nas I can,",
),
(
22_389_033_333.nseconds(),
2_235_566_667.nseconds(),
"even the fact I think\r\nhe's a terrible human being.",
"even the fact I think\r\nhes a terrible human being.",
),
];
......