Update for event API changes

This commit is contained in:
Sebastian Dröge 2021-10-17 17:27:40 +03:00
parent 01a551f2ac
commit c5d3a2efce
7 changed files with 25 additions and 24 deletions

View file

@ -656,10 +656,8 @@ fn test_iradio_mode() {
); );
{ {
use gst::EventView; if let Some(tag_event) = srcpad.sticky_event::<gst::event::Tag<_>>(0) {
let tag_event = srcpad.sticky_event(gst::EventType::Tag, 0).unwrap(); let tags = tag_event.tag();
if let EventView::Tag(tags) = tag_event.view() {
let tags = tags.tag();
assert_eq!(tags.get::<gst::tags::Organization>().unwrap().get(), "Name"); assert_eq!(tags.get::<gst::tags::Organization>().unwrap().get(), "Name");
assert_eq!(tags.get::<gst::tags::Genre>().unwrap().get(), "Genre"); assert_eq!(tags.get::<gst::tags::Genre>().unwrap().get(), "Genre");
assert_eq!( assert_eq!(

View file

@ -697,7 +697,11 @@ impl JsonGstParse {
} }
} }
fn perform_seek(&self, event: &gst::event::Seek, element: &super::JsonGstParse) -> bool { fn perform_seek(
&self,
event: &gst::event::Seek<&gst::EventRef>,
element: &super::JsonGstParse,
) -> bool {
if self.state.lock().unwrap().pull.is_none() { if self.state.lock().unwrap().pull.is_none() {
gst_error!(CAT, obj: element, "seeking is only supported in pull mode"); gst_error!(CAT, obj: element, "seeking is only supported in pull mode");
return false; return false;

View file

@ -259,10 +259,8 @@ impl CustomSource {
let mut stream_type = None; let mut stream_type = None;
// Take stream type from stream-start event if we can // Take stream type from stream-start event if we can
if let Some(event) = pad.sticky_event(gst::EventType::StreamStart, 0) { if let Some(ev) = pad.sticky_event::<gst::event::StreamStart<_>>(0) {
if let gst::EventView::StreamStart(ev) = event.view() { stream_type = ev.stream().map(|s| s.stream_type());
stream_type = ev.stream().map(|s| s.stream_type());
}
} }
// Otherwise from the caps // Otherwise from the caps

View file

@ -1267,11 +1267,8 @@ impl FallbackSrc {
let mut is_image = false; let mut is_image = false;
if let Some(stream_event) = pad.sticky_event(gst::EventType::StreamStart, 0) { if let Some(ev) = pad.sticky_event::<gst::event::StreamStart<_>>(0) {
let stream = match stream_event.view() { let stream = ev.stream();
gst::EventView::StreamStart(ref ev) => ev.stream(),
_ => unreachable!(),
};
if let Some(stream) = stream { if let Some(stream) = stream {
if let Some(caps) = stream.caps() { if let Some(caps) = stream.caps() {
@ -1574,19 +1571,15 @@ impl FallbackSrc {
None => return Ok(()), None => return Ok(()),
}; };
let ev = match pad.sticky_event(gst::EventType::Segment, 0) { let segment = match pad.sticky_event::<gst::event::Segment<_>>(0) {
Some(ev) => ev, Some(ev) => ev.segment().clone(),
None => { None => {
gst_warning!(CAT, obj: element, "Have no segment event yet"); gst_warning!(CAT, obj: element, "Have no segment event yet");
return Ok(()); return Ok(());
} }
}; };
let segment = match ev.view() { let segment = segment.downcast::<gst::ClockTime>().map_err(|_| {
gst::EventView::Segment(s) => s.segment(),
_ => unreachable!(),
};
let segment = segment.downcast_ref::<gst::ClockTime>().ok_or_else(|| {
gst_error!(CAT, obj: element, "Have no time segment"); gst_error!(CAT, obj: element, "Have no time segment");
gst::error_msg!(gst::CoreError::Clock, ["Have no time segment"]) gst::error_msg!(gst::CoreError::Clock, ["Have no time segment"])
})?; })?;

View file

@ -303,7 +303,7 @@ impl State {
Ok(ret) Ok(ret)
} }
fn handle_gap(&mut self, gap: gst::event::Gap) -> Vec<gst::Buffer> { fn handle_gap(&mut self, gap: gst::event::Gap<&gst::EventRef>) -> Vec<gst::Buffer> {
let mut ret = vec![]; let mut ret = vec![];
let (pts, duration) = gap.get(); let (pts, duration) = gap.get();

View file

@ -955,7 +955,11 @@ impl MccParse {
} }
} }
fn perform_seek(&self, event: &gst::event::Seek, element: &super::MccParse) -> bool { fn perform_seek(
&self,
event: &gst::event::Seek<&gst::EventRef>,
element: &super::MccParse,
) -> bool {
if self.state.lock().unwrap().pull.is_none() { if self.state.lock().unwrap().pull.is_none() {
gst_error!(CAT, obj: element, "seeking is only supported in pull mode"); gst_error!(CAT, obj: element, "seeking is only supported in pull mode");
return false; return false;

View file

@ -839,7 +839,11 @@ impl SccParse {
} }
} }
fn perform_seek(&self, event: &gst::event::Seek, element: &super::SccParse) -> bool { fn perform_seek(
&self,
event: &gst::event::Seek<&gst::EventRef>,
element: &super::SccParse,
) -> bool {
if self.state.lock().unwrap().pull.is_none() { if self.state.lock().unwrap().pull.is_none() {
gst_error!(CAT, obj: element, "seeking is only supported in pull mode"); gst_error!(CAT, obj: element, "seeking is only supported in pull mode");
return false; return false;