diff --git a/gstreamer-audio/src/subclass/audio_decoder.rs b/gstreamer-audio/src/subclass/audio_decoder.rs index 2631db38f..cb0d03bc7 100644 --- a/gstreamer-audio/src/subclass/audio_decoder.rs +++ b/gstreamer-audio/src/subclass/audio_decoder.rs @@ -515,26 +515,24 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_audio_sys::GstAudioDecoderClass); - klass.open = Some(audio_decoder_open::); - klass.close = Some(audio_decoder_close::); - klass.start = Some(audio_decoder_start::); - klass.stop = Some(audio_decoder_stop::); - klass.set_format = Some(audio_decoder_set_format::); - klass.parse = Some(audio_decoder_parse::); - klass.handle_frame = Some(audio_decoder_handle_frame::); - klass.pre_push = Some(audio_decoder_pre_push::); - klass.flush = Some(audio_decoder_flush::); - klass.negotiate = Some(audio_decoder_negotiate::); - klass.getcaps = Some(audio_decoder_getcaps::); - klass.sink_event = Some(audio_decoder_sink_event::); - klass.src_event = Some(audio_decoder_src_event::); - klass.sink_query = Some(audio_decoder_sink_query::); - klass.src_query = Some(audio_decoder_src_query::); - klass.propose_allocation = Some(audio_decoder_propose_allocation::); - klass.decide_allocation = Some(audio_decoder_decide_allocation::); - } + let klass = klass.as_mut(); + klass.open = Some(audio_decoder_open::); + klass.close = Some(audio_decoder_close::); + klass.start = Some(audio_decoder_start::); + klass.stop = Some(audio_decoder_stop::); + klass.set_format = Some(audio_decoder_set_format::); + klass.parse = Some(audio_decoder_parse::); + klass.handle_frame = Some(audio_decoder_handle_frame::); + klass.pre_push = Some(audio_decoder_pre_push::); + klass.flush = Some(audio_decoder_flush::); + klass.negotiate = Some(audio_decoder_negotiate::); + klass.getcaps = Some(audio_decoder_getcaps::); + klass.sink_event = Some(audio_decoder_sink_event::); + klass.src_event = Some(audio_decoder_src_event::); + klass.sink_query = Some(audio_decoder_sink_query::); + klass.src_query = Some(audio_decoder_src_query::); + klass.propose_allocation = Some(audio_decoder_propose_allocation::); + klass.decide_allocation = Some(audio_decoder_decide_allocation::); } } diff --git a/gstreamer-audio/src/subclass/audio_encoder.rs b/gstreamer-audio/src/subclass/audio_encoder.rs index c5319fc21..88a196fbf 100644 --- a/gstreamer-audio/src/subclass/audio_encoder.rs +++ b/gstreamer-audio/src/subclass/audio_encoder.rs @@ -464,25 +464,23 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_audio_sys::GstAudioEncoderClass); - klass.open = Some(audio_encoder_open::); - klass.close = Some(audio_encoder_close::); - klass.start = Some(audio_encoder_start::); - klass.stop = Some(audio_encoder_stop::); - klass.set_format = Some(audio_encoder_set_format::); - klass.handle_frame = Some(audio_encoder_handle_frame::); - klass.pre_push = Some(audio_encoder_pre_push::); - klass.flush = Some(audio_encoder_flush::); - klass.negotiate = Some(audio_encoder_negotiate::); - klass.getcaps = Some(audio_encoder_getcaps::); - klass.sink_event = Some(audio_encoder_sink_event::); - klass.src_event = Some(audio_encoder_src_event::); - klass.sink_query = Some(audio_encoder_sink_query::); - klass.src_query = Some(audio_encoder_src_query::); - klass.propose_allocation = Some(audio_encoder_propose_allocation::); - klass.decide_allocation = Some(audio_encoder_decide_allocation::); - } + let klass = klass.as_mut(); + klass.open = Some(audio_encoder_open::); + klass.close = Some(audio_encoder_close::); + klass.start = Some(audio_encoder_start::); + klass.stop = Some(audio_encoder_stop::); + klass.set_format = Some(audio_encoder_set_format::); + klass.handle_frame = Some(audio_encoder_handle_frame::); + klass.pre_push = Some(audio_encoder_pre_push::); + klass.flush = Some(audio_encoder_flush::); + klass.negotiate = Some(audio_encoder_negotiate::); + klass.getcaps = Some(audio_encoder_getcaps::); + klass.sink_event = Some(audio_encoder_sink_event::); + klass.src_event = Some(audio_encoder_src_event::); + klass.sink_query = Some(audio_encoder_sink_query::); + klass.src_query = Some(audio_encoder_src_query::); + klass.propose_allocation = Some(audio_encoder_propose_allocation::); + klass.decide_allocation = Some(audio_encoder_decide_allocation::); } } diff --git a/gstreamer-audio/src/subclass/audio_sink.rs b/gstreamer-audio/src/subclass/audio_sink.rs index 2f97dce9e..0f260895a 100644 --- a/gstreamer-audio/src/subclass/audio_sink.rs +++ b/gstreamer-audio/src/subclass/audio_sink.rs @@ -190,16 +190,14 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_audio_sys::GstAudioSinkClass); - klass.close = Some(audiosink_close::); - klass.delay = Some(audiosink_delay::); - klass.open = Some(audiosink_open::); - klass.prepare = Some(audiosink_prepare::); - klass.unprepare = Some(audiosink_unprepare::); - klass.write = Some(audiosink_write::); - klass.reset = Some(audiosink_reset::); - } + let klass = klass.as_mut(); + klass.close = Some(audiosink_close::); + klass.delay = Some(audiosink_delay::); + klass.open = Some(audiosink_open::); + klass.prepare = Some(audiosink_prepare::); + klass.unprepare = Some(audiosink_unprepare::); + klass.write = Some(audiosink_write::); + klass.reset = Some(audiosink_reset::); } } diff --git a/gstreamer-audio/src/subclass/audio_src.rs b/gstreamer-audio/src/subclass/audio_src.rs index a237c7a5a..0bc6d4646 100644 --- a/gstreamer-audio/src/subclass/audio_src.rs +++ b/gstreamer-audio/src/subclass/audio_src.rs @@ -206,16 +206,14 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_audio_sys::GstAudioSrcClass); - klass.close = Some(audiosrc_close::); - klass.delay = Some(audiosrc_delay::); - klass.open = Some(audiosrc_open::); - klass.prepare = Some(audiosrc_prepare::); - klass.unprepare = Some(audiosrc_unprepare::); - klass.read = Some(audiosrc_read::); - klass.reset = Some(audiosrc_reset::); - } + let klass = klass.as_mut(); + klass.close = Some(audiosrc_close::); + klass.delay = Some(audiosrc_delay::); + klass.open = Some(audiosrc_open::); + klass.prepare = Some(audiosrc_prepare::); + klass.unprepare = Some(audiosrc_unprepare::); + klass.read = Some(audiosrc_read::); + klass.reset = Some(audiosrc_reset::); } } diff --git a/gstreamer-base/src/subclass/aggregator.rs b/gstreamer-base/src/subclass/aggregator.rs index 08d8b63dc..acd8f6cfe 100644 --- a/gstreamer-base/src/subclass/aggregator.rs +++ b/gstreamer-base/src/subclass/aggregator.rs @@ -678,32 +678,30 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstAggregatorClass); - klass.flush = Some(aggregator_flush::); - klass.clip = Some(aggregator_clip::); - klass.finish_buffer = Some(aggregator_finish_buffer::); - klass.sink_event = Some(aggregator_sink_event::); - klass.sink_query = Some(aggregator_sink_query::); - klass.src_event = Some(aggregator_src_event::); - klass.src_query = Some(aggregator_src_query::); - klass.src_activate = Some(aggregator_src_activate::); - klass.aggregate = Some(aggregator_aggregate::); - klass.start = Some(aggregator_start::); - klass.stop = Some(aggregator_stop::); - klass.get_next_time = Some(aggregator_get_next_time::); - klass.create_new_pad = Some(aggregator_create_new_pad::); - klass.update_src_caps = Some(aggregator_update_src_caps::); - klass.fixate_src_caps = Some(aggregator_fixate_src_caps::); - klass.negotiated_src_caps = Some(aggregator_negotiated_src_caps::); - #[cfg(any(feature = "v1_18", feature = "dox"))] - { - klass.sink_event_pre_queue = Some(aggregator_sink_event_pre_queue::); - klass.sink_query_pre_queue = Some(aggregator_sink_query_pre_queue::); - klass.negotiate = Some(aggregator_negotiate::); - klass.peek_next_sample = Some(aggregator_peek_next_sample::); - klass.finish_buffer_list = Some(aggregator_finish_buffer_list::); - } + let klass = klass.as_mut(); + klass.flush = Some(aggregator_flush::); + klass.clip = Some(aggregator_clip::); + klass.finish_buffer = Some(aggregator_finish_buffer::); + klass.sink_event = Some(aggregator_sink_event::); + klass.sink_query = Some(aggregator_sink_query::); + klass.src_event = Some(aggregator_src_event::); + klass.src_query = Some(aggregator_src_query::); + klass.src_activate = Some(aggregator_src_activate::); + klass.aggregate = Some(aggregator_aggregate::); + klass.start = Some(aggregator_start::); + klass.stop = Some(aggregator_stop::); + klass.get_next_time = Some(aggregator_get_next_time::); + klass.create_new_pad = Some(aggregator_create_new_pad::); + klass.update_src_caps = Some(aggregator_update_src_caps::); + klass.fixate_src_caps = Some(aggregator_fixate_src_caps::); + klass.negotiated_src_caps = Some(aggregator_negotiated_src_caps::); + #[cfg(any(feature = "v1_18", feature = "dox"))] + { + klass.sink_event_pre_queue = Some(aggregator_sink_event_pre_queue::); + klass.sink_query_pre_queue = Some(aggregator_sink_query_pre_queue::); + klass.negotiate = Some(aggregator_negotiate::); + klass.peek_next_sample = Some(aggregator_peek_next_sample::); + klass.finish_buffer_list = Some(aggregator_finish_buffer_list::); } } } diff --git a/gstreamer-base/src/subclass/aggregator_pad.rs b/gstreamer-base/src/subclass/aggregator_pad.rs index 442531d08..dcc926bef 100644 --- a/gstreamer-base/src/subclass/aggregator_pad.rs +++ b/gstreamer-base/src/subclass/aggregator_pad.rs @@ -102,11 +102,9 @@ impl AggregatorPadImplExt for T { unsafe impl IsSubclassable for AggregatorPad { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstAggregatorPadClass); - klass.flush = Some(aggregator_pad_flush::); - klass.skip_buffer = Some(aggregator_pad_skip_buffer::); - } + let klass = klass.as_mut(); + klass.flush = Some(aggregator_pad_flush::); + klass.skip_buffer = Some(aggregator_pad_skip_buffer::); } } diff --git a/gstreamer-base/src/subclass/base_parse.rs b/gstreamer-base/src/subclass/base_parse.rs index 2a1d93dcb..9cd4e1112 100644 --- a/gstreamer-base/src/subclass/base_parse.rs +++ b/gstreamer-base/src/subclass/base_parse.rs @@ -220,14 +220,12 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstBaseParseClass); - klass.start = Some(base_parse_start::); - klass.stop = Some(base_parse_stop::); - klass.set_sink_caps = Some(base_parse_set_sink_caps::); - klass.handle_frame = Some(base_parse_handle_frame::); - klass.convert = Some(base_parse_convert::); - } + let klass = klass.as_mut(); + klass.start = Some(base_parse_start::); + klass.stop = Some(base_parse_stop::); + klass.set_sink_caps = Some(base_parse_set_sink_caps::); + klass.handle_frame = Some(base_parse_handle_frame::); + klass.convert = Some(base_parse_convert::); } } diff --git a/gstreamer-base/src/subclass/base_sink.rs b/gstreamer-base/src/subclass/base_sink.rs index 78203b3f8..f1fef24c2 100644 --- a/gstreamer-base/src/subclass/base_sink.rs +++ b/gstreamer-base/src/subclass/base_sink.rs @@ -386,22 +386,20 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstBaseSinkClass); - klass.start = Some(base_sink_start::); - klass.stop = Some(base_sink_stop::); - klass.render = Some(base_sink_render::); - klass.render_list = Some(base_sink_render_list::); - klass.prepare = Some(base_sink_prepare::); - klass.prepare_list = Some(base_sink_prepare_list::); - klass.query = Some(base_sink_query::); - klass.event = Some(base_sink_event::); - klass.get_caps = Some(base_sink_get_caps::); - klass.set_caps = Some(base_sink_set_caps::); - klass.fixate = Some(base_sink_fixate::); - klass.unlock = Some(base_sink_unlock::); - klass.unlock_stop = Some(base_sink_unlock_stop::); - } + let klass = klass.as_mut(); + klass.start = Some(base_sink_start::); + klass.stop = Some(base_sink_stop::); + klass.render = Some(base_sink_render::); + klass.render_list = Some(base_sink_render_list::); + klass.prepare = Some(base_sink_prepare::); + klass.prepare_list = Some(base_sink_prepare_list::); + klass.query = Some(base_sink_query::); + klass.event = Some(base_sink_event::); + klass.get_caps = Some(base_sink_get_caps::); + klass.set_caps = Some(base_sink_set_caps::); + klass.fixate = Some(base_sink_fixate::); + klass.unlock = Some(base_sink_unlock::); + klass.unlock_stop = Some(base_sink_unlock_stop::); } } diff --git a/gstreamer-base/src/subclass/base_src.rs b/gstreamer-base/src/subclass/base_src.rs index f821d5d5d..2c7d4b707 100644 --- a/gstreamer-base/src/subclass/base_src.rs +++ b/gstreamer-base/src/subclass/base_src.rs @@ -575,26 +575,24 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstBaseSrcClass); - klass.start = Some(base_src_start::); - klass.stop = Some(base_src_stop::); - klass.is_seekable = Some(base_src_is_seekable::); - klass.get_size = Some(base_src_get_size::); - klass.get_times = Some(base_src_get_times::); - klass.fill = Some(base_src_fill::); - klass.alloc = Some(base_src_alloc::); - klass.create = Some(base_src_create::); - klass.do_seek = Some(base_src_do_seek::); - klass.query = Some(base_src_query::); - klass.event = Some(base_src_event::); - klass.get_caps = Some(base_src_get_caps::); - klass.negotiate = Some(base_src_negotiate::); - klass.set_caps = Some(base_src_set_caps::); - klass.fixate = Some(base_src_fixate::); - klass.unlock = Some(base_src_unlock::); - klass.unlock_stop = Some(base_src_unlock_stop::); - } + let klass = klass.as_mut(); + klass.start = Some(base_src_start::); + klass.stop = Some(base_src_stop::); + klass.is_seekable = Some(base_src_is_seekable::); + klass.get_size = Some(base_src_get_size::); + klass.get_times = Some(base_src_get_times::); + klass.fill = Some(base_src_fill::); + klass.alloc = Some(base_src_alloc::); + klass.create = Some(base_src_create::); + klass.do_seek = Some(base_src_do_seek::); + klass.query = Some(base_src_query::); + klass.event = Some(base_src_event::); + klass.get_caps = Some(base_src_get_caps::); + klass.negotiate = Some(base_src_negotiate::); + klass.set_caps = Some(base_src_set_caps::); + klass.fixate = Some(base_src_fixate::); + klass.unlock = Some(base_src_unlock::); + klass.unlock_stop = Some(base_src_unlock_stop::); } } diff --git a/gstreamer-base/src/subclass/base_transform.rs b/gstreamer-base/src/subclass/base_transform.rs index 8541f3fa9..5b757ce9d 100644 --- a/gstreamer-base/src/subclass/base_transform.rs +++ b/gstreamer-base/src/subclass/base_transform.rs @@ -832,26 +832,24 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstBaseTransformClass); - klass.start = Some(base_transform_start::); - klass.stop = Some(base_transform_stop::); - klass.transform_caps = Some(base_transform_transform_caps::); - klass.fixate_caps = Some(base_transform_fixate_caps::); - klass.set_caps = Some(base_transform_set_caps::); - klass.accept_caps = Some(base_transform_accept_caps::); - klass.query = Some(base_transform_query::); - klass.transform_size = Some(base_transform_transform_size::); - klass.get_unit_size = Some(base_transform_get_unit_size::); - klass.prepare_output_buffer = Some(base_transform_prepare_output_buffer::); - klass.sink_event = Some(base_transform_sink_event::); - klass.src_event = Some(base_transform_src_event::); - klass.transform_meta = Some(base_transform_transform_meta::); - klass.copy_metadata = Some(base_transform_copy_metadata::); - klass.before_transform = Some(base_transform_before_transform::); - klass.submit_input_buffer = Some(base_transform_submit_input_buffer::); - klass.generate_output = Some(base_transform_generate_output::); - } + let klass = klass.as_mut(); + klass.start = Some(base_transform_start::); + klass.stop = Some(base_transform_stop::); + klass.transform_caps = Some(base_transform_transform_caps::); + klass.fixate_caps = Some(base_transform_fixate_caps::); + klass.set_caps = Some(base_transform_set_caps::); + klass.accept_caps = Some(base_transform_accept_caps::); + klass.query = Some(base_transform_query::); + klass.transform_size = Some(base_transform_transform_size::); + klass.get_unit_size = Some(base_transform_get_unit_size::); + klass.prepare_output_buffer = Some(base_transform_prepare_output_buffer::); + klass.sink_event = Some(base_transform_sink_event::); + klass.src_event = Some(base_transform_src_event::); + klass.transform_meta = Some(base_transform_transform_meta::); + klass.copy_metadata = Some(base_transform_copy_metadata::); + klass.before_transform = Some(base_transform_before_transform::); + klass.submit_input_buffer = Some(base_transform_submit_input_buffer::); + klass.generate_output = Some(base_transform_generate_output::); } } diff --git a/gstreamer-base/src/subclass/push_src.rs b/gstreamer-base/src/subclass/push_src.rs index 7082134bf..befb9cb97 100644 --- a/gstreamer-base/src/subclass/push_src.rs +++ b/gstreamer-base/src/subclass/push_src.rs @@ -119,12 +119,10 @@ where { fn override_vfuncs(klass: &mut glib::Class) { <::BaseSrc as IsSubclassable>::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstPushSrcClass); - klass.fill = Some(push_src_fill::); - klass.alloc = Some(push_src_alloc::); - klass.create = Some(push_src_create::); - } + let klass = klass.as_mut(); + klass.fill = Some(push_src_fill::); + klass.alloc = Some(push_src_alloc::); + klass.create = Some(push_src_create::); } } diff --git a/gstreamer-rtsp-server/src/subclass/rtsp_client.rs b/gstreamer-rtsp-server/src/subclass/rtsp_client.rs index f8ad29b34..3263c185b 100644 --- a/gstreamer-rtsp-server/src/subclass/rtsp_client.rs +++ b/gstreamer-rtsp-server/src/subclass/rtsp_client.rs @@ -795,39 +795,37 @@ impl RTSPClientImplExt for T { unsafe impl IsSubclassable for RTSPClient { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_rtsp_server_sys::GstRTSPClientClass); - klass.create_sdp = Some(client_create_sdp::); - klass.configure_client_media = Some(client_configure_client_media::); - klass.params_set = Some(client_params_set::); - klass.params_get = Some(client_params_get::); - klass.make_path_from_uri = Some(client_make_path_from_uri::); - klass.closed = Some(client_closed::); - klass.new_session = Some(client_new_session::); - klass.options_request = Some(client_options_request::); - klass.describe_request = Some(client_describe_request::); - klass.setup_request = Some(client_setup_request::); - klass.play_request = Some(client_play_request::); - klass.pause_request = Some(client_pause_request::); - klass.teardown_request = Some(client_teardown_request::); - klass.set_parameter_request = Some(client_set_parameter_request::); - klass.get_parameter_request = Some(client_get_parameter_request::); - klass.announce_request = Some(client_announce_request::); - klass.record_request = Some(client_record_request::); - klass.handle_response = Some(client_handle_response::); - klass.handle_sdp = Some(client_handle_sdp::); - klass.check_requirements = Some(client_check_requirements::); - klass.pre_options_request = Some(client_pre_options_request::); - klass.pre_describe_request = Some(client_pre_describe_request::); - klass.pre_setup_request = Some(client_pre_setup_request::); - klass.pre_play_request = Some(client_pre_play_request::); - klass.pre_pause_request = Some(client_pre_pause_request::); - klass.pre_teardown_request = Some(client_pre_teardown_request::); - klass.pre_set_parameter_request = Some(client_pre_set_parameter_request::); - klass.pre_get_parameter_request = Some(client_pre_get_parameter_request::); - klass.pre_announce_request = Some(client_pre_announce_request::); - klass.pre_record_request = Some(client_pre_record_request::); - } + let klass = klass.as_mut(); + klass.create_sdp = Some(client_create_sdp::); + klass.configure_client_media = Some(client_configure_client_media::); + klass.params_set = Some(client_params_set::); + klass.params_get = Some(client_params_get::); + klass.make_path_from_uri = Some(client_make_path_from_uri::); + klass.closed = Some(client_closed::); + klass.new_session = Some(client_new_session::); + klass.options_request = Some(client_options_request::); + klass.describe_request = Some(client_describe_request::); + klass.setup_request = Some(client_setup_request::); + klass.play_request = Some(client_play_request::); + klass.pause_request = Some(client_pause_request::); + klass.teardown_request = Some(client_teardown_request::); + klass.set_parameter_request = Some(client_set_parameter_request::); + klass.get_parameter_request = Some(client_get_parameter_request::); + klass.announce_request = Some(client_announce_request::); + klass.record_request = Some(client_record_request::); + klass.handle_response = Some(client_handle_response::); + klass.handle_sdp = Some(client_handle_sdp::); + klass.check_requirements = Some(client_check_requirements::); + klass.pre_options_request = Some(client_pre_options_request::); + klass.pre_describe_request = Some(client_pre_describe_request::); + klass.pre_setup_request = Some(client_pre_setup_request::); + klass.pre_play_request = Some(client_pre_play_request::); + klass.pre_pause_request = Some(client_pre_pause_request::); + klass.pre_teardown_request = Some(client_pre_teardown_request::); + klass.pre_set_parameter_request = Some(client_pre_set_parameter_request::); + klass.pre_get_parameter_request = Some(client_pre_get_parameter_request::); + klass.pre_announce_request = Some(client_pre_announce_request::); + klass.pre_record_request = Some(client_pre_record_request::); } } diff --git a/gstreamer-rtsp-server/src/subclass/rtsp_media.rs b/gstreamer-rtsp-server/src/subclass/rtsp_media.rs index 623d3781c..eff908c51 100644 --- a/gstreamer-rtsp-server/src/subclass/rtsp_media.rs +++ b/gstreamer-rtsp-server/src/subclass/rtsp_media.rs @@ -451,26 +451,24 @@ impl RTSPMediaImplExt for T { unsafe impl IsSubclassable for RTSPMedia { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_rtsp_server_sys::GstRTSPMediaClass); - klass.handle_message = Some(media_handle_message::); - klass.prepare = Some(media_prepare::); - klass.unprepare = Some(media_unprepare::); - klass.suspend = Some(media_suspend::); - klass.unsuspend = Some(media_unsuspend::); - klass.query_position = Some(media_query_position::); - klass.query_stop = Some(media_query_stop::); - klass.create_rtpbin = Some(media_create_rtpbin::); - klass.setup_rtpbin = Some(media_setup_rtpbin::); - klass.setup_sdp = Some(media_setup_sdp::); - klass.new_stream = Some(media_new_stream::); - klass.removed_stream = Some(media_removed_stream::); - klass.prepared = Some(media_prepared::); - klass.unprepared = Some(media_unprepared::); - klass.target_state = Some(media_target_state::); - klass.new_state = Some(media_new_state::); - klass.handle_sdp = Some(media_handle_sdp::); - } + let klass = klass.as_mut(); + klass.handle_message = Some(media_handle_message::); + klass.prepare = Some(media_prepare::); + klass.unprepare = Some(media_unprepare::); + klass.suspend = Some(media_suspend::); + klass.unsuspend = Some(media_unsuspend::); + klass.query_position = Some(media_query_position::); + klass.query_stop = Some(media_query_stop::); + klass.create_rtpbin = Some(media_create_rtpbin::); + klass.setup_rtpbin = Some(media_setup_rtpbin::); + klass.setup_sdp = Some(media_setup_sdp::); + klass.new_stream = Some(media_new_stream::); + klass.removed_stream = Some(media_removed_stream::); + klass.prepared = Some(media_prepared::); + klass.unprepared = Some(media_unprepared::); + klass.target_state = Some(media_target_state::); + klass.new_state = Some(media_new_state::); + klass.handle_sdp = Some(media_handle_sdp::); } } diff --git a/gstreamer-rtsp-server/src/subclass/rtsp_media_factory.rs b/gstreamer-rtsp-server/src/subclass/rtsp_media_factory.rs index 35651aefe..8a1b6d877 100644 --- a/gstreamer-rtsp-server/src/subclass/rtsp_media_factory.rs +++ b/gstreamer-rtsp-server/src/subclass/rtsp_media_factory.rs @@ -204,17 +204,14 @@ impl RTSPMediaFactoryImplExt for T { unsafe impl IsSubclassable for RTSPMediaFactory { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = - &mut *(klass.as_mut() as *mut gst_rtsp_server_sys::GstRTSPMediaFactoryClass); - klass.gen_key = Some(factory_gen_key::); - klass.create_element = Some(factory_create_element::); - klass.construct = Some(factory_construct::); - klass.create_pipeline = Some(factory_create_pipeline::); - klass.configure = Some(factory_configure::); - klass.media_constructed = Some(factory_media_constructed::); - klass.media_configure = Some(factory_media_configure::); - } + let klass = klass.as_mut(); + klass.gen_key = Some(factory_gen_key::); + klass.create_element = Some(factory_create_element::); + klass.construct = Some(factory_construct::); + klass.create_pipeline = Some(factory_create_pipeline::); + klass.configure = Some(factory_configure::); + klass.media_constructed = Some(factory_media_constructed::); + klass.media_configure = Some(factory_media_configure::); } } diff --git a/gstreamer-rtsp-server/src/subclass/rtsp_server.rs b/gstreamer-rtsp-server/src/subclass/rtsp_server.rs index a209a0404..af5b691a8 100644 --- a/gstreamer-rtsp-server/src/subclass/rtsp_server.rs +++ b/gstreamer-rtsp-server/src/subclass/rtsp_server.rs @@ -56,11 +56,9 @@ impl RTSPServerImplExt for T { unsafe impl IsSubclassable for RTSPServer { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_rtsp_server_sys::GstRTSPServerClass); - klass.create_client = Some(server_create_client::); - klass.client_connected = Some(server_client_connected::); - } + let klass = klass.as_mut(); + klass.create_client = Some(server_create_client::); + klass.client_connected = Some(server_client_connected::); } } diff --git a/gstreamer-video/src/subclass/video_decoder.rs b/gstreamer-video/src/subclass/video_decoder.rs index d5ea08643..ff103b762 100644 --- a/gstreamer-video/src/subclass/video_decoder.rs +++ b/gstreamer-video/src/subclass/video_decoder.rs @@ -504,27 +504,25 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_video_sys::GstVideoDecoderClass); - klass.open = Some(video_decoder_open::); - klass.close = Some(video_decoder_close::); - klass.start = Some(video_decoder_start::); - klass.stop = Some(video_decoder_stop::); - klass.finish = Some(video_decoder_finish::); - klass.drain = Some(video_decoder_drain::); - klass.set_format = Some(video_decoder_set_format::); - klass.parse = Some(video_decoder_parse::); - klass.handle_frame = Some(video_decoder_handle_frame::); - klass.flush = Some(video_decoder_flush::); - klass.negotiate = Some(video_decoder_negotiate::); - klass.getcaps = Some(video_decoder_getcaps::); - klass.sink_event = Some(video_decoder_sink_event::); - klass.src_event = Some(video_decoder_src_event::); - klass.sink_query = Some(video_decoder_sink_query::); - klass.src_query = Some(video_decoder_src_query::); - klass.propose_allocation = Some(video_decoder_propose_allocation::); - klass.decide_allocation = Some(video_decoder_decide_allocation::); - } + let klass = klass.as_mut(); + klass.open = Some(video_decoder_open::); + klass.close = Some(video_decoder_close::); + klass.start = Some(video_decoder_start::); + klass.stop = Some(video_decoder_stop::); + klass.finish = Some(video_decoder_finish::); + klass.drain = Some(video_decoder_drain::); + klass.set_format = Some(video_decoder_set_format::); + klass.parse = Some(video_decoder_parse::); + klass.handle_frame = Some(video_decoder_handle_frame::); + klass.flush = Some(video_decoder_flush::); + klass.negotiate = Some(video_decoder_negotiate::); + klass.getcaps = Some(video_decoder_getcaps::); + klass.sink_event = Some(video_decoder_sink_event::); + klass.src_event = Some(video_decoder_src_event::); + klass.sink_query = Some(video_decoder_sink_query::); + klass.src_query = Some(video_decoder_src_query::); + klass.propose_allocation = Some(video_decoder_propose_allocation::); + klass.decide_allocation = Some(video_decoder_decide_allocation::); } } diff --git a/gstreamer-video/src/subclass/video_encoder.rs b/gstreamer-video/src/subclass/video_encoder.rs index ace9610c8..2318a6447 100644 --- a/gstreamer-video/src/subclass/video_encoder.rs +++ b/gstreamer-video/src/subclass/video_encoder.rs @@ -440,25 +440,23 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_video_sys::GstVideoEncoderClass); - klass.open = Some(video_encoder_open::); - klass.close = Some(video_encoder_close::); - klass.start = Some(video_encoder_start::); - klass.stop = Some(video_encoder_stop::); - klass.finish = Some(video_encoder_finish::); - klass.set_format = Some(video_encoder_set_format::); - klass.handle_frame = Some(video_encoder_handle_frame::); - klass.flush = Some(video_encoder_flush::); - klass.negotiate = Some(video_encoder_negotiate::); - klass.getcaps = Some(video_encoder_getcaps::); - klass.sink_event = Some(video_encoder_sink_event::); - klass.src_event = Some(video_encoder_src_event::); - klass.sink_query = Some(video_encoder_sink_query::); - klass.src_query = Some(video_encoder_src_query::); - klass.propose_allocation = Some(video_encoder_propose_allocation::); - klass.decide_allocation = Some(video_encoder_decide_allocation::); - } + let klass = klass.as_mut(); + klass.open = Some(video_encoder_open::); + klass.close = Some(video_encoder_close::); + klass.start = Some(video_encoder_start::); + klass.stop = Some(video_encoder_stop::); + klass.finish = Some(video_encoder_finish::); + klass.set_format = Some(video_encoder_set_format::); + klass.handle_frame = Some(video_encoder_handle_frame::); + klass.flush = Some(video_encoder_flush::); + klass.negotiate = Some(video_encoder_negotiate::); + klass.getcaps = Some(video_encoder_getcaps::); + klass.sink_event = Some(video_encoder_sink_event::); + klass.src_event = Some(video_encoder_src_event::); + klass.sink_query = Some(video_encoder_sink_query::); + klass.src_query = Some(video_encoder_src_query::); + klass.propose_allocation = Some(video_encoder_propose_allocation::); + klass.decide_allocation = Some(video_encoder_decide_allocation::); } } diff --git a/gstreamer-video/src/subclass/video_sink.rs b/gstreamer-video/src/subclass/video_sink.rs index 1c5d76087..add3ceb96 100644 --- a/gstreamer-video/src/subclass/video_sink.rs +++ b/gstreamer-video/src/subclass/video_sink.rs @@ -63,10 +63,8 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_video_sys::GstVideoSinkClass); - klass.show_frame = Some(video_sink_show_frame::); - } + let klass = klass.as_mut(); + klass.show_frame = Some(video_sink_show_frame::); } } diff --git a/gstreamer/src/subclass/bin.rs b/gstreamer/src/subclass/bin.rs index 07b1c7867..51b51f309 100644 --- a/gstreamer/src/subclass/bin.rs +++ b/gstreamer/src/subclass/bin.rs @@ -92,12 +92,10 @@ where { fn override_vfuncs(klass: &mut glib::Class) { <::Element as IsSubclassable>::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_sys::GstBinClass); - klass.add_element = Some(bin_add_element::); - klass.remove_element = Some(bin_remove_element::); - klass.handle_message = Some(bin_handle_message::); - } + let klass = klass.as_mut(); + klass.add_element = Some(bin_add_element::); + klass.remove_element = Some(bin_remove_element::); + klass.handle_message = Some(bin_handle_message::); } } diff --git a/gstreamer/src/subclass/clock.rs b/gstreamer/src/subclass/clock.rs index 4052d6d87..a0961aef0 100644 --- a/gstreamer/src/subclass/clock.rs +++ b/gstreamer/src/subclass/clock.rs @@ -235,16 +235,13 @@ impl ClockImplExt for T { unsafe impl IsSubclassable for Clock { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_sys::GstClockClass); - klass.change_resolution = Some(clock_change_resolution::); - klass.get_resolution = Some(clock_get_resolution::); - klass.get_internal_time = Some(clock_get_internal_time::); - klass.wait = Some(clock_wait::); - klass.wait_async = Some(clock_wait_async::); - klass.unschedule = Some(clock_unschedule::); - } + let klass = klass.as_mut(); + klass.change_resolution = Some(clock_change_resolution::); + klass.get_resolution = Some(clock_get_resolution::); + klass.get_internal_time = Some(clock_get_internal_time::); + klass.wait = Some(clock_wait::); + klass.wait_async = Some(clock_wait_async::); + klass.unschedule = Some(clock_unschedule::); } } diff --git a/gstreamer/src/subclass/device.rs b/gstreamer/src/subclass/device.rs index 5807a7b8f..383dac0b8 100644 --- a/gstreamer/src/subclass/device.rs +++ b/gstreamer/src/subclass/device.rs @@ -101,11 +101,9 @@ impl DeviceImplExt for T { unsafe impl IsSubclassable for Device { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_sys::GstDeviceClass); - klass.create_element = Some(device_create_element::); - klass.reconfigure_element = Some(device_reconfigure_element::); - } + let klass = klass.as_mut(); + klass.create_element = Some(device_create_element::); + klass.reconfigure_element = Some(device_reconfigure_element::); } } diff --git a/gstreamer/src/subclass/device_provider.rs b/gstreamer/src/subclass/device_provider.rs index 3f741b53d..7693fb36f 100644 --- a/gstreamer/src/subclass/device_provider.rs +++ b/gstreamer/src/subclass/device_provider.rs @@ -117,12 +117,10 @@ unsafe impl DeviceProviderClassSubclassExt for DeviceProviderClass {} unsafe impl IsSubclassable for DeviceProvider { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_sys::GstDeviceProviderClass); - klass.probe = Some(device_provider_probe::); - klass.start = Some(device_provider_start::); - klass.stop = Some(device_provider_stop::); - } + let klass = klass.as_mut(); + klass.probe = Some(device_provider_probe::); + klass.start = Some(device_provider_start::); + klass.stop = Some(device_provider_stop::); } } diff --git a/gstreamer/src/subclass/element.rs b/gstreamer/src/subclass/element.rs index 125b6ebcc..5d1ab42ad 100644 --- a/gstreamer/src/subclass/element.rs +++ b/gstreamer/src/subclass/element.rs @@ -344,19 +344,16 @@ where { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_sys::GstElementClass); - klass.change_state = Some(element_change_state::); - klass.request_new_pad = Some(element_request_new_pad::); - klass.release_pad = Some(element_release_pad::); - klass.send_event = Some(element_send_event::); - klass.query = Some(element_query::); - klass.set_context = Some(element_set_context::); - klass.set_clock = Some(element_set_clock::); - klass.provide_clock = Some(element_provide_clock::); - klass.post_message = Some(element_post_message::); - } + let klass = klass.as_mut(); + klass.change_state = Some(element_change_state::); + klass.request_new_pad = Some(element_request_new_pad::); + klass.release_pad = Some(element_release_pad::); + klass.send_event = Some(element_send_event::); + klass.query = Some(element_query::); + klass.set_context = Some(element_set_context::); + klass.set_clock = Some(element_set_clock::); + klass.provide_clock = Some(element_provide_clock::); + klass.post_message = Some(element_post_message::); } } diff --git a/gstreamer/src/subclass/ghost_pad.rs b/gstreamer/src/subclass/ghost_pad.rs index 91c59ccd7..1f9dcb26a 100644 --- a/gstreamer/src/subclass/ghost_pad.rs +++ b/gstreamer/src/subclass/ghost_pad.rs @@ -6,8 +6,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use gst_sys; - use super::prelude::*; use glib::subclass::prelude::*; @@ -18,9 +16,7 @@ pub trait GhostPadImpl: PadImpl {} unsafe impl IsSubclassable for GhostPad { fn override_vfuncs(klass: &mut glib::Class) { <::Pad as IsSubclassable>::override_vfuncs(klass); - unsafe { - let _klass = &mut *(klass.as_mut() as *mut gst_sys::GstGhostPadClass); - // Nothing to do here - } + let _klass = klass.as_mut(); + // Nothing to do here } } diff --git a/gstreamer/src/subclass/pad.rs b/gstreamer/src/subclass/pad.rs index 9b13a6b3b..63b38ce4e 100644 --- a/gstreamer/src/subclass/pad.rs +++ b/gstreamer/src/subclass/pad.rs @@ -60,12 +60,9 @@ impl PadImplExt for T { unsafe impl IsSubclassable for Pad { fn override_vfuncs(klass: &mut glib::Class) { >::override_vfuncs(klass); - - unsafe { - let klass = &mut *(klass.as_mut() as *mut gst_sys::GstPadClass); - klass.linked = Some(pad_linked::); - klass.unlinked = Some(pad_unlinked::); - } + let klass = klass.as_mut(); + klass.linked = Some(pad_linked::); + klass.unlinked = Some(pad_unlinked::); } } diff --git a/gstreamer/src/subclass/pipeline.rs b/gstreamer/src/subclass/pipeline.rs index 3063578bc..348c9042b 100644 --- a/gstreamer/src/subclass/pipeline.rs +++ b/gstreamer/src/subclass/pipeline.rs @@ -6,8 +6,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use gst_sys; - use super::prelude::*; use glib::subclass::prelude::*; @@ -21,9 +19,7 @@ where { fn override_vfuncs(klass: &mut glib::Class) { <::Bin as IsSubclassable>::override_vfuncs(klass); - unsafe { - let _klass = &mut *(klass.as_mut() as *mut gst_sys::GstPipelineClass); - // Nothing to do here - } + let _klass = klass.as_mut(); + // Nothing to do here } } diff --git a/gstreamer/src/subclass/system_clock.rs b/gstreamer/src/subclass/system_clock.rs index 1ad150406..44e404e3f 100644 --- a/gstreamer/src/subclass/system_clock.rs +++ b/gstreamer/src/subclass/system_clock.rs @@ -6,8 +6,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -use gst_sys; - use super::prelude::*; use glib::subclass::prelude::*; @@ -18,9 +16,7 @@ pub trait SystemClockImpl: ClockImpl {} unsafe impl IsSubclassable for SystemClock { fn override_vfuncs(klass: &mut glib::Class) { <::Clock as IsSubclassable>::override_vfuncs(klass); - unsafe { - let _klass = &mut *(klass.as_mut() as *mut gst_sys::GstSystemClockClass); - // Nothing to do here - } + let _klass = klass.as_mut(); + // Nothing to do here } }