forked from mirrors/gstreamer-rs
Simplify IsSubclassable::override_vfunc() implementations
This commit is contained in:
parent
99fbbc32cb
commit
b91123d298
27 changed files with 273 additions and 337 deletions
|
@ -515,8 +515,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_audio_sys::GstAudioDecoderClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.open = Some(audio_decoder_open::<T>);
|
||||
klass.close = Some(audio_decoder_close::<T>);
|
||||
klass.start = Some(audio_decoder_start::<T>);
|
||||
|
@ -535,7 +534,6 @@ where
|
|||
klass.propose_allocation = Some(audio_decoder_propose_allocation::<T>);
|
||||
klass.decide_allocation = Some(audio_decoder_decide_allocation::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn audio_decoder_open<T: AudioDecoderImpl>(
|
||||
|
|
|
@ -464,8 +464,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_audio_sys::GstAudioEncoderClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.open = Some(audio_encoder_open::<T>);
|
||||
klass.close = Some(audio_encoder_close::<T>);
|
||||
klass.start = Some(audio_encoder_start::<T>);
|
||||
|
@ -483,7 +482,6 @@ where
|
|||
klass.propose_allocation = Some(audio_encoder_propose_allocation::<T>);
|
||||
klass.decide_allocation = Some(audio_encoder_decide_allocation::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn audio_encoder_open<T: AudioEncoderImpl>(
|
||||
|
|
|
@ -190,8 +190,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst_base::BaseSink as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_audio_sys::GstAudioSinkClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.close = Some(audiosink_close::<T>);
|
||||
klass.delay = Some(audiosink_delay::<T>);
|
||||
klass.open = Some(audiosink_open::<T>);
|
||||
|
@ -200,7 +199,6 @@ where
|
|||
klass.write = Some(audiosink_write::<T>);
|
||||
klass.reset = Some(audiosink_reset::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn audiosink_close<T: AudioSinkImpl>(
|
||||
|
|
|
@ -206,8 +206,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst_base::BaseSrc as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_audio_sys::GstAudioSrcClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.close = Some(audiosrc_close::<T>);
|
||||
klass.delay = Some(audiosrc_delay::<T>);
|
||||
klass.open = Some(audiosrc_open::<T>);
|
||||
|
@ -216,7 +215,6 @@ where
|
|||
klass.read = Some(audiosrc_read::<T>);
|
||||
klass.reset = Some(audiosrc_reset::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn audiosrc_close<T: AudioSrcImpl>(
|
||||
|
|
|
@ -678,8 +678,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstAggregatorClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.flush = Some(aggregator_flush::<T>);
|
||||
klass.clip = Some(aggregator_clip::<T>);
|
||||
klass.finish_buffer = Some(aggregator_finish_buffer::<T>);
|
||||
|
@ -705,7 +704,6 @@ where
|
|||
klass.finish_buffer_list = Some(aggregator_finish_buffer_list::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn aggregator_flush<T: AggregatorImpl>(
|
||||
|
|
|
@ -102,12 +102,10 @@ impl<T: AggregatorPadImpl> AggregatorPadImplExt for T {
|
|||
unsafe impl<T: AggregatorPadImpl> IsSubclassable<T> for AggregatorPad {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Pad as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstAggregatorPadClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.flush = Some(aggregator_pad_flush::<T>);
|
||||
klass.skip_buffer = Some(aggregator_pad_skip_buffer::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn aggregator_pad_flush<T: AggregatorPadImpl>(
|
||||
|
|
|
@ -220,15 +220,13 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstBaseParseClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.start = Some(base_parse_start::<T>);
|
||||
klass.stop = Some(base_parse_stop::<T>);
|
||||
klass.set_sink_caps = Some(base_parse_set_sink_caps::<T>);
|
||||
klass.handle_frame = Some(base_parse_handle_frame::<T>);
|
||||
klass.convert = Some(base_parse_convert::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn base_parse_start<T: BaseParseImpl>(
|
||||
|
|
|
@ -386,8 +386,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstBaseSinkClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.start = Some(base_sink_start::<T>);
|
||||
klass.stop = Some(base_sink_stop::<T>);
|
||||
klass.render = Some(base_sink_render::<T>);
|
||||
|
@ -402,7 +401,6 @@ where
|
|||
klass.unlock = Some(base_sink_unlock::<T>);
|
||||
klass.unlock_stop = Some(base_sink_unlock_stop::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn base_sink_start<T: BaseSinkImpl>(
|
||||
|
|
|
@ -575,8 +575,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstBaseSrcClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.start = Some(base_src_start::<T>);
|
||||
klass.stop = Some(base_src_stop::<T>);
|
||||
klass.is_seekable = Some(base_src_is_seekable::<T>);
|
||||
|
@ -595,7 +594,6 @@ where
|
|||
klass.unlock = Some(base_src_unlock::<T>);
|
||||
klass.unlock_stop = Some(base_src_unlock_stop::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn base_src_start<T: BaseSrcImpl>(
|
||||
|
|
|
@ -832,8 +832,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstBaseTransformClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.start = Some(base_transform_start::<T>);
|
||||
klass.stop = Some(base_transform_stop::<T>);
|
||||
klass.transform_caps = Some(base_transform_transform_caps::<T>);
|
||||
|
@ -852,7 +851,6 @@ where
|
|||
klass.submit_input_buffer = Some(base_transform_submit_input_buffer::<T>);
|
||||
klass.generate_output = Some(base_transform_generate_output::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
pub unsafe trait BaseTransformClassSubclassExt: Sized + 'static {
|
||||
|
|
|
@ -119,13 +119,11 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<::BaseSrc as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_base_sys::GstPushSrcClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.fill = Some(push_src_fill::<T>);
|
||||
klass.alloc = Some(push_src_alloc::<T>);
|
||||
klass.create = Some(push_src_create::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn push_src_fill<T: PushSrcImpl>(
|
||||
|
|
|
@ -795,8 +795,7 @@ impl<T: RTSPClientImpl> RTSPClientImplExt for T {
|
|||
unsafe impl<T: RTSPClientImpl> IsSubclassable<T> for RTSPClient {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<glib::Object as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_rtsp_server_sys::GstRTSPClientClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.create_sdp = Some(client_create_sdp::<T>);
|
||||
klass.configure_client_media = Some(client_configure_client_media::<T>);
|
||||
klass.params_set = Some(client_params_set::<T>);
|
||||
|
@ -828,7 +827,6 @@ unsafe impl<T: RTSPClientImpl> IsSubclassable<T> for RTSPClient {
|
|||
klass.pre_announce_request = Some(client_pre_announce_request::<T>);
|
||||
klass.pre_record_request = Some(client_pre_record_request::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn client_create_sdp<T: RTSPClientImpl>(
|
||||
|
|
|
@ -451,8 +451,7 @@ impl<T: RTSPMediaImpl> RTSPMediaImplExt for T {
|
|||
unsafe impl<T: RTSPMediaImpl> IsSubclassable<T> for RTSPMedia {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<glib::Object as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_rtsp_server_sys::GstRTSPMediaClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.handle_message = Some(media_handle_message::<T>);
|
||||
klass.prepare = Some(media_prepare::<T>);
|
||||
klass.unprepare = Some(media_unprepare::<T>);
|
||||
|
@ -471,7 +470,6 @@ unsafe impl<T: RTSPMediaImpl> IsSubclassable<T> for RTSPMedia {
|
|||
klass.new_state = Some(media_new_state::<T>);
|
||||
klass.handle_sdp = Some(media_handle_sdp::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn media_handle_message<T: RTSPMediaImpl>(
|
||||
|
|
|
@ -204,9 +204,7 @@ impl<T: RTSPMediaFactoryImpl> RTSPMediaFactoryImplExt for T {
|
|||
unsafe impl<T: RTSPMediaFactoryImpl> IsSubclassable<T> for RTSPMediaFactory {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<glib::Object as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass =
|
||||
&mut *(klass.as_mut() as *mut gst_rtsp_server_sys::GstRTSPMediaFactoryClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.gen_key = Some(factory_gen_key::<T>);
|
||||
klass.create_element = Some(factory_create_element::<T>);
|
||||
klass.construct = Some(factory_construct::<T>);
|
||||
|
@ -215,7 +213,6 @@ unsafe impl<T: RTSPMediaFactoryImpl> IsSubclassable<T> for RTSPMediaFactory {
|
|||
klass.media_constructed = Some(factory_media_constructed::<T>);
|
||||
klass.media_configure = Some(factory_media_configure::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn factory_gen_key<T: RTSPMediaFactoryImpl>(
|
||||
|
|
|
@ -56,12 +56,10 @@ impl<T: RTSPServerImpl> RTSPServerImplExt for T {
|
|||
unsafe impl<T: RTSPServerImpl> IsSubclassable<T> for RTSPServer {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<glib::Object as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_rtsp_server_sys::GstRTSPServerClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.create_client = Some(server_create_client::<T>);
|
||||
klass.client_connected = Some(server_client_connected::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn server_create_client<T: RTSPServerImpl>(
|
||||
|
|
|
@ -504,8 +504,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_video_sys::GstVideoDecoderClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.open = Some(video_decoder_open::<T>);
|
||||
klass.close = Some(video_decoder_close::<T>);
|
||||
klass.start = Some(video_decoder_start::<T>);
|
||||
|
@ -525,7 +524,6 @@ where
|
|||
klass.propose_allocation = Some(video_decoder_propose_allocation::<T>);
|
||||
klass.decide_allocation = Some(video_decoder_decide_allocation::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn video_decoder_open<T: VideoDecoderImpl>(
|
||||
|
|
|
@ -440,8 +440,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_video_sys::GstVideoEncoderClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.open = Some(video_encoder_open::<T>);
|
||||
klass.close = Some(video_encoder_close::<T>);
|
||||
klass.start = Some(video_encoder_start::<T>);
|
||||
|
@ -459,7 +458,6 @@ where
|
|||
klass.propose_allocation = Some(video_encoder_propose_allocation::<T>);
|
||||
klass.decide_allocation = Some(video_encoder_decide_allocation::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn video_encoder_open<T: VideoEncoderImpl>(
|
||||
|
|
|
@ -63,11 +63,9 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<gst_base::BaseSink as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_video_sys::GstVideoSinkClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.show_frame = Some(video_sink_show_frame::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn video_sink_show_frame<T: VideoSinkImpl>(
|
||||
|
|
|
@ -92,13 +92,11 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<::Element as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_sys::GstBinClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.add_element = Some(bin_add_element::<T>);
|
||||
klass.remove_element = Some(bin_remove_element::<T>);
|
||||
klass.handle_message = Some(bin_handle_message::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn bin_add_element<T: BinImpl>(
|
||||
|
|
|
@ -235,9 +235,7 @@ impl<T: ClockImpl> ClockImplExt for T {
|
|||
unsafe impl<T: ClockImpl> IsSubclassable<T> for Clock {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<glib::Object as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_sys::GstClockClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.change_resolution = Some(clock_change_resolution::<T>);
|
||||
klass.get_resolution = Some(clock_get_resolution::<T>);
|
||||
klass.get_internal_time = Some(clock_get_internal_time::<T>);
|
||||
|
@ -245,7 +243,6 @@ unsafe impl<T: ClockImpl> IsSubclassable<T> for Clock {
|
|||
klass.wait_async = Some(clock_wait_async::<T>);
|
||||
klass.unschedule = Some(clock_unschedule::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn clock_change_resolution<T: ClockImpl>(
|
||||
|
|
|
@ -101,12 +101,10 @@ impl<T: DeviceImpl> DeviceImplExt for T {
|
|||
unsafe impl<T: DeviceImpl> IsSubclassable<T> for Device {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<glib::Object as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_sys::GstDeviceClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.create_element = Some(device_create_element::<T>);
|
||||
klass.reconfigure_element = Some(device_reconfigure_element::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn device_create_element<T: DeviceImpl>(
|
||||
|
|
|
@ -117,13 +117,11 @@ unsafe impl DeviceProviderClassSubclassExt for DeviceProviderClass {}
|
|||
unsafe impl<T: DeviceProviderImpl> IsSubclassable<T> for DeviceProvider {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<glib::Object as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_sys::GstDeviceProviderClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.probe = Some(device_provider_probe::<T>);
|
||||
klass.start = Some(device_provider_start::<T>);
|
||||
klass.stop = Some(device_provider_stop::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn device_provider_probe<T: DeviceProviderImpl>(
|
||||
|
|
|
@ -344,9 +344,7 @@ where
|
|||
{
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<glib::Object as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_sys::GstElementClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.change_state = Some(element_change_state::<T>);
|
||||
klass.request_new_pad = Some(element_request_new_pad::<T>);
|
||||
klass.release_pad = Some(element_release_pad::<T>);
|
||||
|
@ -357,7 +355,6 @@ where
|
|||
klass.provide_clock = Some(element_provide_clock::<T>);
|
||||
klass.post_message = Some(element_post_message::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn element_change_state<T: ElementImpl>(
|
||||
|
|
|
@ -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<T: GhostPadImpl> IsSubclassable<T> for GhostPad {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<::Pad as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let _klass = &mut *(klass.as_mut() as *mut gst_sys::GstGhostPadClass);
|
||||
let _klass = klass.as_mut();
|
||||
// Nothing to do here
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -60,13 +60,10 @@ impl<T: PadImpl> PadImplExt for T {
|
|||
unsafe impl<T: PadImpl> IsSubclassable<T> for Pad {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<glib::Object as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
|
||||
unsafe {
|
||||
let klass = &mut *(klass.as_mut() as *mut gst_sys::GstPadClass);
|
||||
let klass = klass.as_mut();
|
||||
klass.linked = Some(pad_linked::<T>);
|
||||
klass.unlinked = Some(pad_unlinked::<T>);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
unsafe extern "C" fn pad_linked<T: PadImpl>(ptr: *mut gst_sys::GstPad, peer: *mut gst_sys::GstPad) {
|
||||
|
|
|
@ -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<Self>) {
|
||||
<::Bin as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let _klass = &mut *(klass.as_mut() as *mut gst_sys::GstPipelineClass);
|
||||
let _klass = klass.as_mut();
|
||||
// Nothing to do here
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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<T: SystemClockImpl> IsSubclassable<T> for SystemClock {
|
||||
fn override_vfuncs(klass: &mut glib::Class<Self>) {
|
||||
<::Clock as IsSubclassable<T>>::override_vfuncs(klass);
|
||||
unsafe {
|
||||
let _klass = &mut *(klass.as_mut() as *mut gst_sys::GstSystemClockClass);
|
||||
let _klass = klass.as_mut();
|
||||
// Nothing to do here
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue