diff options
author | Sebastian Dröge <sebastian@centricular.com> | 2023-10-16 19:16:52 +0300 |
---|---|---|
committer | Sebastian Dröge <sebastian@centricular.com> | 2023-10-17 08:44:06 +0300 |
commit | d468e1e4a695902ce011a8fb9f35f0118b9d1e87 (patch) | |
tree | 34c64e66c9040feee349703d8d12c92e2a942324 /mux | |
parent | 50dd519c4f99e162fc1bca3b9d85eb056a2fa78f (diff) |
Clean up usage of pad probes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1361>
Diffstat (limited to 'mux')
-rw-r--r-- | mux/fmp4/examples/hls_live.rs | 28 | ||||
-rw-r--r-- | mux/fmp4/examples/hls_vod.rs | 28 |
2 files changed, 30 insertions, 26 deletions
diff --git a/mux/fmp4/examples/hls_live.rs b/mux/fmp4/examples/hls_live.rs index 1843c612e..4f58a6a83 100644 --- a/mux/fmp4/examples/hls_live.rs +++ b/mux/fmp4/examples/hls_live.rs @@ -365,19 +365,21 @@ fn setup_appsink(appsink: &gst_app::AppSink, name: &str, path: &Path, is_video: fn probe_encoder(state: Arc<Mutex<State>>, enc: gst::Element) { enc.static_pad("src").unwrap().add_probe( gst::PadProbeType::EVENT_DOWNSTREAM, - move |_pad, info| match info.data { - Some(gst::PadProbeData::Event(ref ev)) => match ev.view() { - gst::EventView::Caps(e) => { - let mime = gst_pbutils::codec_utils_caps_get_mime_codec(e.caps()); - - let mut state = state.lock().unwrap(); - state.all_mimes.push(mime.unwrap().into()); - state.maybe_write_manifest(); - gst::PadProbeReturn::Remove - } - _ => gst::PadProbeReturn::Ok, - }, - _ => gst::PadProbeReturn::Ok, + move |_pad, info| { + let Some(ev) = info.event() else { + return gst::PadProbeReturn::Ok; + }; + let gst::EventView::Caps(ev) = ev.view() else { + return gst::PadProbeReturn::Ok; + }; + + let mime = gst_pbutils::codec_utils_caps_get_mime_codec(ev.caps()); + + let mut state = state.lock().unwrap(); + state.all_mimes.push(mime.unwrap().into()); + state.maybe_write_manifest(); + + gst::PadProbeReturn::Remove }, ); } diff --git a/mux/fmp4/examples/hls_vod.rs b/mux/fmp4/examples/hls_vod.rs index a31f17db8..c84102f48 100644 --- a/mux/fmp4/examples/hls_vod.rs +++ b/mux/fmp4/examples/hls_vod.rs @@ -260,19 +260,21 @@ fn setup_appsink(appsink: &gst_app::AppSink, name: &str, path: &Path, is_video: fn probe_encoder(state: Arc<Mutex<State>>, enc: gst::Element) { enc.static_pad("src").unwrap().add_probe( gst::PadProbeType::EVENT_DOWNSTREAM, - move |_pad, info| match info.data { - Some(gst::PadProbeData::Event(ref ev)) => match ev.view() { - gst::EventView::Caps(e) => { - let mime = gst_pbutils::codec_utils_caps_get_mime_codec(e.caps()); - - let mut state = state.lock().unwrap(); - state.all_mimes.push(mime.unwrap().into()); - state.maybe_write_manifest(); - gst::PadProbeReturn::Remove - } - _ => gst::PadProbeReturn::Ok, - }, - _ => gst::PadProbeReturn::Ok, + move |_pad, info| { + let Some(ev) = info.event() else { + return gst::PadProbeReturn::Ok; + }; + let gst::EventView::Caps(ev) = ev.view() else { + return gst::PadProbeReturn::Ok; + }; + + let mime = gst_pbutils::codec_utils_caps_get_mime_codec(ev.caps()); + + let mut state = state.lock().unwrap(); + state.all_mimes.push(mime.unwrap().into()); + state.maybe_write_manifest(); + + gst::PadProbeReturn::Remove }, ); } |