Lines Matching full:overlay
24 * cairooverlay renders an overlay using a application provided render function.
45 * prepare_overlay (GstElement * overlay, GstCaps * caps, gpointer user_data)
54 * draw_overlay (GstElement * overlay, cairo_t * cr, guint64 timestamp,
78 * cairo_overlay = gst_element_factory_make ("cairooverlay", "overlay");
148 GstCairoOverlay *overlay = GST_CAIRO_OVERLAY (object); in gst_cairo_overlay_set_property() local
150 GST_OBJECT_LOCK (overlay); in gst_cairo_overlay_set_property()
154 overlay->draw_on_transparent_surface = g_value_get_boolean (value); in gst_cairo_overlay_set_property()
161 GST_OBJECT_UNLOCK (overlay); in gst_cairo_overlay_set_property()
168 GstCairoOverlay *overlay = GST_CAIRO_OVERLAY (object); in gst_cairo_overlay_get_property() local
170 GST_OBJECT_LOCK (overlay); in gst_cairo_overlay_get_property()
174 g_value_set_boolean (value, overlay->draw_on_transparent_surface); in gst_cairo_overlay_get_property()
181 GST_OBJECT_UNLOCK (overlay); in gst_cairo_overlay_get_property()
188 GstCairoOverlay *overlay = GST_CAIRO_OVERLAY (trans); in gst_cairo_overlay_query() local
199 overlay->attach_compo_to_buffer = FALSE; in gst_cairo_overlay_query()
206 overlay->attach_compo_to_buffer = gst_query_find_allocation_meta (query, in gst_cairo_overlay_query()
222 GstCairoOverlay *overlay = GST_CAIRO_OVERLAY (trans); in gst_cairo_overlay_set_caps() local
224 if (!gst_video_info_from_caps (&overlay->info, in_caps)) in gst_cairo_overlay_set_caps()
227 g_signal_emit (overlay, gst_cairo_overlay_signals[SIGNAL_CAPS_CHANGED], 0, in gst_cairo_overlay_set_caps()
233 /* Copy from video-overlay-composition.c */
258 /* Copy from video-overlay-composition.c */
283 /* Copy from video-overlay-composition.c */
303 /* Copy from video-overlay-composition.c */
330 /* Copy from video-overlay-composition.c */
357 /* Copy from video-overlay-composition.c */
380 GstCairoOverlay *overlay = GST_CAIRO_OVERLAY (trans); in gst_cairo_overlay_transform_ip() local
385 gboolean draw_on_transparent_surface = overlay->draw_on_transparent_surface; in gst_cairo_overlay_transform_ip()
387 switch (GST_VIDEO_INFO_FORMAT (&overlay->info)) { in gst_cairo_overlay_transform_ip()
402 gst_video_format_to_string (GST_VIDEO_INFO_FORMAT (&overlay->info))); in gst_cairo_overlay_transform_ip()
408 if (!draw_on_transparent_surface || !overlay->attach_compo_to_buffer) { in gst_cairo_overlay_transform_ip()
409 if (!gst_video_frame_map (&frame, &overlay->info, buf, GST_MAP_READWRITE)) { in gst_cairo_overlay_transform_ip()
419 GST_VIDEO_INFO_WIDTH (&overlay->info), in gst_cairo_overlay_transform_ip()
420 GST_VIDEO_INFO_HEIGHT (&overlay->info)); in gst_cairo_overlay_transform_ip()
441 g_signal_emit (overlay, gst_cairo_overlay_signals[SIGNAL_DRAW], 0, in gst_cairo_overlay_transform_ip()
467 GST_VIDEO_INFO_WIDTH (&overlay->info), in gst_cairo_overlay_transform_ip()
468 GST_VIDEO_INFO_HEIGHT (&overlay->info), 1, offset, stride); in gst_cairo_overlay_transform_ip()
471 GST_VIDEO_INFO_WIDTH (&overlay->info), in gst_cairo_overlay_transform_ip()
472 GST_VIDEO_INFO_HEIGHT (&overlay->info), in gst_cairo_overlay_transform_ip()
476 if (overlay->attach_compo_to_buffer) { in gst_cairo_overlay_transform_ip()
482 gst_video_overlay_composition_copy (composition_meta->overlay); in gst_cairo_overlay_transform_ip()
484 gst_video_overlay_composition_unref (composition_meta->overlay); in gst_cairo_overlay_transform_ip()
485 composition_meta->overlay = merged_composition; in gst_cairo_overlay_transform_ip()
542 * @overlay: Overlay element emitting the signal. in gst_cairo_overlay_class_init()
547 * This signal is emitted when the overlay should be drawn. in gst_cairo_overlay_class_init()
557 * @overlay: Overlay element emitting the signal. in gst_cairo_overlay_class_init()
567 gst_element_class_set_static_metadata (element_class, "Cairo overlay", in gst_cairo_overlay_class_init()
569 "Render overlay on a video stream using Cairo", in gst_cairo_overlay_class_init()
579 gst_cairo_overlay_init (GstCairoOverlay * overlay) in gst_cairo_overlay_init() argument