## gstvideoorientation gstvideoorientation — Interface for elements providing video orientation controls |

## Synopsis

    #include <gst/video/videoorientation.h>

                        GstVideoOrientation;
    struct              GstVideoOrientationInterface;
    gboolean            gst_video_orientation_get_hcenter   (GstVideoOrientation *video_orientation,
                                                             gint *center);
    gboolean            gst_video_orientation_get_hflip     (GstVideoOrientation *video_orientation,
                                                             gboolean *flip);
    gboolean            gst_video_orientation_get_vcenter   (GstVideoOrientation *video_orientation,
                                                             gint *center);
    gboolean            gst_video_orientation_get_vflip     (GstVideoOrientation *video_orientation,
                                                             gboolean *flip);
    gboolean            gst_video_orientation_set_hcenter   (GstVideoOrientation *video_orientation,
                                                             gint center);
    gboolean            gst_video_orientation_set_hflip     (GstVideoOrientation *video_orientation,
                                                             gboolean flip);
    gboolean            gst_video_orientation_set_vcenter   (GstVideoOrientation *video_orientation,
                                                             gint center);
    gboolean            gst_video_orientation_set_vflip     (GstVideoOrientation *video_orientation,
                                                             gboolean flip);

## Object Hierarchy

      GInterface
       +----GstVideoOrientation

## Description

The interface allows unified access to control flipping and autocenter operation of video-sources or operators.

## Details

### GstVideoOrientation

    typedef struct _GstVideoOrientation GstVideoOrientation;

Opaque GstVideoOrientation data structure.

### struct GstVideoOrientationInterface

    struct GstVideoOrientationInterface {
      GTypeInterface iface;

      /* FIXME 0.11: fix awkward API? add some kind of get_supported flags thing
       * and then just return booleans/int from all vfuncs requiring the caller
       * to check the flags first */

      /* virtual functions */
      gboolean (* get_hflip)   (GstVideoOrientation *video_orientation, gboolean *flip);
      gboolean (* get_vflip)   (GstVideoOrientation *video_orientation, gboolean *flip);
      gboolean (* get_hcenter) (GstVideoOrientation *video_orientation, gint *center);
      gboolean (* get_vcenter) (GstVideoOrientation *video_orientation, gint *center);

      gboolean (* set_hflip)   (GstVideoOrientation *video_orientation, gboolean flip);
      gboolean (* set_vflip)   (GstVideoOrientation *video_orientation, gboolean flip);
      gboolean (* set_hcenter) (GstVideoOrientation *video_orientation, gint center);
      gboolean (* set_vcenter) (GstVideoOrientation *video_orientation, gint center);
    };

GstVideoOrientationInterface interface.

GTypeInterface `iface`; | parent interface type.
`get_hflip` () | virtual method to get horizontal flipping state
`get_vflip` () | virtual method to get vertical flipping state
`get_hcenter` () | virtual method to get horizontal centering state
`get_vcenter` () | virtual method to get vertical centering state
`set_hflip` () | virtual method to set horizontal flipping state
`set_vflip` () | virtual method to set vertical flipping state
`set_hcenter` () | virtual method to set horizontal centering state
`set_vcenter` () | virtual method to set vertical centering state

### gst_video_orientation_get_hcenter ()

    gboolean            gst_video_orientation_get_hcenter   (GstVideoOrientation *video_orientation,
                                                             gint *center);

Get the horizontal centering offset from the given object.

`video_orientation` : | GstVideoOrientation interface of a GstElement
`center` : | return location for the result
Returns : | `TRUE` in case the element supports centering

### gst_video_orientation_get_hflip ()

    gboolean            gst_video_orientation_get_hflip     (GstVideoOrientation *video_orientation,
                                                             gboolean *flip);

Get the horizontal flipping state (`TRUE` for flipped) from the given object.

`video_orientation` : | GstVideoOrientation interface of a GstElement
`flip` : | return location for the result
Returns : | `TRUE` in case the element supports flipping

### gst_video_orientation_get_vcenter ()

    gboolean            gst_video_orientation_get_vcenter   (GstVideoOrientation *video_orientation,
                                                             gint *center);

Get the vertical centering offset from the given object.

`video_orientation` : | GstVideoOrientation interface of a GstElement
`center` : | return location for the result
Returns : | `TRUE` in case the element supports centering

### gst_video_orientation_get_vflip ()

    gboolean            gst_video_orientation_get_vflip     (GstVideoOrientation *video_orientation,
                                                             gboolean *flip);

Get the vertical flipping state (`TRUE` for flipped) from the given object.

`video_orientation` : | GstVideoOrientation interface of a GstElement
`flip` : | return location for the result
Returns : | `TRUE` in case the element supports flipping

### gst_video_orientation_set_hcenter ()

    gboolean            gst_video_orientation_set_hcenter   (GstVideoOrientation *video_orientation,
                                                             gint center);

Set the horizontal centering offset for the given object.

`video_orientation` : | GstVideoOrientation interface of a GstElement
`center` : | centering offset
Returns : | `TRUE` in case the element supports centering

### gst_video_orientation_set_hflip ()

    gboolean            gst_video_orientation_set_hflip     (GstVideoOrientation *video_orientation,
                                                             gboolean flip);

Set the horizontal flipping state (`TRUE` for flipped) for the given object.

`video_orientation` : | GstVideoOrientation interface of a GstElement
`flip` : | use flipping
Returns : | `TRUE` in case the element supports flipping

### gst_video_orientation_set_vcenter ()

    gboolean            gst_video_orientation_set_vcenter   (GstVideoOrientation *video_orientation,
                                                             gint center);

Set the vertical centering offset for the given object.

`video_orientation` : | GstVideoOrientation interface of a GstElement
`center` : | centering offset
Returns : | `TRUE` in case the element supports centering

### gst_video_orientation_set_vflip ()

    gboolean            gst_video_orientation_set_vflip     (GstVideoOrientation *video_orientation,
                                                             gboolean flip);

Set the vertical flipping state (`TRUE` for flipped) for the given object.

`video_orientation` : | GstVideoOrientation interface of a GstElement
`flip` : | use flipping
Returns : | `TRUE` in case the element supports flipping