diff --git a/gst-libs/gst/interfaces/mixer.c b/gst-libs/gst/interfaces/mixer.c index 0c6abf0960..5b8aeedd44 100644 --- a/gst-libs/gst/interfaces/mixer.c +++ b/gst-libs/gst/interfaces/mixer.c @@ -134,7 +134,9 @@ gst_mixer_class_init (GstMixerClass * klass) } #endif +#ifndef GST_REMOVE_DEPRECATED klass->mixer_type = GST_MIXER_SOFTWARE; +#endif /* default virtual functions */ klass->list_tracks = NULL; @@ -355,7 +357,14 @@ gst_mixer_get_mixer_type (GstMixer * mixer) { GstMixerClass *klass = GST_MIXER_GET_CLASS (mixer); + if (klass->get_mixer_type) + return klass->get_mixer_type (mixer); + +#ifndef GST_REMOVE_DEPRECATED return klass->mixer_type; +#else + g_return_if_reached (GST_MIXER_TYPE_SOFTWARE); +#endif } /** diff --git a/gst-libs/gst/interfaces/mixer.h b/gst-libs/gst/interfaces/mixer.h index 71c8f7542f..b2a199c2b1 100644 --- a/gst-libs/gst/interfaces/mixer.h +++ b/gst-libs/gst/interfaces/mixer.h @@ -117,7 +117,10 @@ typedef enum struct _GstMixerClass { GTypeInterface klass; +/* FIXME 0.11: Remove this */ +#ifndef GST_REMOVE_DEPRECATED GstMixerType mixer_type; +#endif /* virtual functions */ const GList * (* list_tracks) (GstMixer *mixer); @@ -166,8 +169,10 @@ struct _GstMixerClass { GstMixerFlags (* get_mixer_flags) (GstMixer *mixer); + GstMixerType (* get_mixer_type) (GstMixer *mixer); + /*< private >*/ - gpointer _gst_reserved[GST_PADDING-1]; + gpointer _gst_reserved[GST_PADDING]; }; GType gst_mixer_get_type (void);