basetextoverlay: Reorder and cleanup class attribute

Also add a minimum amount of comment so we can understand what
is doing what.

https://bugzilla.gnome.org/show_bug.cgi?id=751157
This commit is contained in:
Nicolas Dufresne 2015-07-21 14:12:41 -04:00
parent 04e3fc3f33
commit db81a73dba
2 changed files with 38 additions and 31 deletions

View 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);

View 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;
gboolean auto_adjust_size;
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;
/* 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;
gint baseline_y;
gint stream_width;
gint stream_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;
gboolean auto_adjust_size;
gboolean need_render;
gboolean draw_shadow;
gboolean draw_outline;
gint shading_value; /* for timeoverlay subclass */
gboolean have_pango_markup;
gboolean use_vertical_render;
gboolean attach_compo_to_buffer;
gdouble shadow_offset;
gdouble outline_offset;
gint baseline_y;
gboolean attach_compo_to_buffer;
GstVideoOverlayComposition *composition;
GstVideoOverlayComposition *upstream_composition;
};