basetextoverlay: Reorder and cleanup class attribute
authorNicolas Dufresne <nicolas.dufresne@collabora.com>
Tue, 21 Jul 2015 18:12:41 +0000 (14:12 -0400)
committerNicolas Dufresne <nicolas.dufresne@collabora.com>
Wed, 22 Jul 2015 17:24:04 +0000 (13:24 -0400)
Also add a minimum amount of comment so we can understand what
is doing what.

https://bugzilla.gnome.org/show_bug.cgi?id=751157

ext/pango/gstbasetextoverlay.c
ext/pango/gstbasetextoverlay.h

index f0d8cd2..cd7b2d3 100644 (file)
@@ -887,7 +887,6 @@ gst_base_text_overlay_setcaps (GstBaseTextOverlay * overlay, GstCaps * caps)
 
   overlay->info = info;
   overlay->format = GST_VIDEO_INFO_FORMAT (&info);
-
   overlay->stream_width = GST_VIDEO_INFO_WIDTH (&info);
   overlay->stream_height = GST_VIDEO_INFO_HEIGHT (&info);
 
@@ -1510,6 +1509,7 @@ gst_base_text_overlay_set_composition (GstBaseTextOverlay * overlay)
 
     if (overlay->composition)
       gst_video_overlay_composition_unref (overlay->composition);
+
     overlay->composition = gst_video_overlay_composition_new (rectangle);
     gst_video_overlay_rectangle_unref (rectangle);
 
index 1d643b3..ef06394 100644 (file)
@@ -128,11 +128,11 @@ struct _GstBaseTextOverlay {
     GstSegment               segment;
     GstSegment               text_segment;
     GstBuffer               *text_buffer;
-    gboolean                text_linked;
-    gboolean                video_flushing;
-    gboolean                video_eos;
-    gboolean                text_flushing;
-    gboolean                text_eos;
+    gboolean                 text_linked;
+    gboolean                 video_flushing;
+    gboolean                 video_eos;
+    gboolean                 text_flushing;
+    gboolean                 text_eos;
 
     GMutex                   lock;
     GCond                    cond;  /* to signal removal of a queued text
@@ -140,16 +140,13 @@ struct _GstBaseTextOverlay {
                                      * a text segment update, or a change
                                      * in status (e.g. shutdown, flushing) */
 
+    /* stream metrics */
     GstVideoInfo             info;
     GstVideoFormat           format;
-    gint                     width;
-    gint                     height;
-
-    GstBaseTextOverlayVAlign     valign;
-    GstBaseTextOverlayHAlign     halign;
-    GstBaseTextOverlayWrapMode   wrap_mode;
-    GstBaseTextOverlayLineAlign  line_align;
+    gint                     stream_width;
+    gint                     stream_height;
 
+    /* properties */
     gint                     xpad;
     gint                     ypad;
     gint                     deltax;
@@ -161,33 +158,43 @@ struct _GstBaseTextOverlay {
     gboolean                 silent;
     gboolean                 wait_text;
     guint                    color, outline_color;
-
     PangoLayout             *layout;
-    gdouble                  shadow_offset;
-    gdouble                  outline_offset;
-    GstBuffer               *text_image;
-    gint                     image_width;
-    gint                     image_height;
-    gint                     baseline_y;
-
-    gint                     stream_width;
-    gint                     stream_height;
-    gint                     window_width;
-    gint                     window_height;
-
     gboolean                 auto_adjust_size;
-    gboolean                 need_render;
-
     gboolean                 draw_shadow;
     gboolean                 draw_outline;
-
     gint                     shading_value;  /* for timeoverlay subclass */
+    gboolean                 use_vertical_render;
+    GstBaseTextOverlayVAlign     valign;
+    GstBaseTextOverlayHAlign     halign;
+    GstBaseTextOverlayWrapMode   wrap_mode;
+    GstBaseTextOverlayLineAlign  line_align;
 
+    /* text pad format */
     gboolean                 have_pango_markup;
-    gboolean                 use_vertical_render;
 
-    gboolean                 attach_compo_to_buffer;
+    /* rendering state */
+    gboolean                 need_render;
+    GstBuffer               *text_image;
+
+    /* rendering canvas dimension, this is adjusted to compensate the
+     * downstream reported window size. */
+    gint                     width;
+    gint                     height;
+
+    /* dimension of text_image, the physical dimension */
+    gint                     image_width;
+    gint                     image_height;
+
+    /* window dimension, reported in the composition meta params. This is set
+     * to stream_width, stream_height if missing */
+    gint                     window_width;
+    gint                     window_height;
+
+    gdouble                  shadow_offset;
+    gdouble                  outline_offset;
+    gint                     baseline_y;
 
+    gboolean                    attach_compo_to_buffer;
     GstVideoOverlayComposition *composition;
     GstVideoOverlayComposition *upstream_composition;
 };