static void owr_image_renderer_class_init(OwrImageRendererClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS(klass); OwrMediaRendererClass *media_renderer_class = OWR_MEDIA_RENDERER_CLASS(klass); g_type_class_add_private(klass, sizeof(OwrImageRendererPrivate)); obj_properties[PROP_WIDTH] = g_param_spec_uint("width", "width", "Video width in pixels", 0, G_MAXUINT, DEFAULT_WIDTH, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); obj_properties[PROP_HEIGHT] = g_param_spec_uint("height", "height", "Video height in pixels", 0, G_MAXUINT, DEFAULT_HEIGHT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); obj_properties[PROP_MAX_FRAMERATE] = g_param_spec_double("max-framerate", "max-framerate", "Maximum video frames per second", 0.0, G_MAXDOUBLE, DEFAULT_MAX_FRAMERATE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); gobject_class->set_property = owr_image_renderer_set_property; gobject_class->get_property = owr_image_renderer_get_property; gobject_class->constructed = owr_image_renderer_constructed; media_renderer_class->get_caps = (void *(*)(OwrMediaRenderer *))owr_image_renderer_get_caps; g_object_class_install_properties(gobject_class, N_PROPERTIES, obj_properties); }
static void owr_video_renderer_class_init(OwrVideoRendererClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS(klass); OwrMediaRendererClass *media_renderer_class = OWR_MEDIA_RENDERER_CLASS(klass); g_type_class_add_private(klass, sizeof(OwrVideoRendererPrivate)); obj_properties[PROP_WIDTH] = g_param_spec_uint("width", "width", "Video width in pixels", 0, G_MAXUINT, DEFAULT_WIDTH, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); obj_properties[PROP_HEIGHT] = g_param_spec_uint("height", "height", "Video height in pixels", 0, G_MAXUINT, DEFAULT_HEIGHT, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); obj_properties[PROP_MAX_FRAMERATE] = g_param_spec_double("max-framerate", "max-framerate", "Maximum video frames per second", 0.0, G_MAXDOUBLE, DEFAULT_MAX_FRAMERATE, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); obj_properties[PROP_WINDOW_HANDLE] = g_param_spec_pointer("window-handle", "window-handle", "Window widget handle into which to draw video (default: 0, create a new window)", G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); gobject_class->set_property = owr_video_renderer_set_property; gobject_class->get_property = owr_video_renderer_get_property; gobject_class->finalize = owr_video_renderer_finalize; media_renderer_class->get_element = (void *(*)(OwrMediaRenderer *))owr_video_renderer_get_element; media_renderer_class->get_caps = (void *(*)(OwrMediaRenderer *))owr_video_renderer_get_caps; g_object_class_install_properties(gobject_class, N_PROPERTIES, obj_properties); }
static void owr_audio_renderer_class_init(OwrAudioRendererClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS(klass); OwrMediaRendererClass *media_renderer_class = OWR_MEDIA_RENDERER_CLASS(klass); g_type_class_add_private(klass, sizeof(OwrAudioRendererPrivate)); gobject_class->constructed = owr_audio_renderer_constructed; media_renderer_class->get_caps = (void *(*)(OwrMediaRenderer *))owr_audio_renderer_get_caps; }
static void owr_gst_audio_renderer_class_init(OwrGstAudioRendererClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS(klass); OwrMediaRendererClass *media_renderer_class = OWR_MEDIA_RENDERER_CLASS(klass); g_type_class_add_private(klass, sizeof(OwrGstAudioRendererPrivate)); obj_properties[PROP_SINK] = g_param_spec_object("sink", "sink", "Audio sink to use for rendering (default: pulsesink)", G_TYPE_OBJECT, G_PARAM_CONSTRUCT_ONLY | G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); gobject_class->set_property = owr_gst_audio_renderer_set_property; gobject_class->get_property = owr_gst_audio_renderer_get_property; gobject_class->dispose = owr_gst_audio_renderer_dispose; media_renderer_class->get_sink = (void *(*)(OwrMediaRenderer *))owr_gst_audio_renderer_get_sink; g_object_class_install_properties(gobject_class, N_PROPERTIES, obj_properties); }