GstColorBalance

GstColorBalance — Interface for adjusting color balance settings

Functions

Signals

Types and Values

Object Hierarchy

    GInterface
    ╰── GstColorBalance

Includes

#include <gst/video/colorbalance.h>

Description

This interface is implemented by elements which can perform some color balance operation on video frames they process. For example, modifying the brightness, contrast, hue or saturation.

Example elements are 'xvimagesink' and 'colorbalance'

Functions

gst_color_balance_list_channels ()

const GList *
gst_color_balance_list_channels (GstColorBalance *balance);

Retrieve a list of the available channels.

Parameters

balance

A GstColorBalance instance

 

Returns

A GList containing pointers to GstColorBalanceChannel objects. The list is owned by the GstColorBalance instance and must not be freed.

[element-type GstColorBalanceChannel][transfer none]


gst_color_balance_get_value ()

gint
gst_color_balance_get_value (GstColorBalance *balance,
                             GstColorBalanceChannel *channel);

Retrieve the current value of the indicated channel, between min_value and max_value.

See Also: The GstColorBalanceChannel.min_value and GstColorBalanceChannel.max_value members of the GstColorBalanceChannel object.

Parameters

balance

A GstColorBalance instance

 

channel

A GstColorBalanceChannel instance

 

Returns

The current value of the channel.


gst_color_balance_set_value ()

void
gst_color_balance_set_value (GstColorBalance *balance,
                             GstColorBalanceChannel *channel,
                             gint value);

Sets the current value of the channel to the passed value, which must be between min_value and max_value.

See Also: The GstColorBalanceChannel.min_value and GstColorBalanceChannel.max_value members of the GstColorBalanceChannel object.

Parameters

balance

A GstColorBalance instance

 

channel

A GstColorBalanceChannel instance

 

value

The new value for the channel.

 

gst_color_balance_value_changed ()

void
gst_color_balance_value_changed (GstColorBalance *balance,
                                 GstColorBalanceChannel *channel,
                                 gint value);

A helper function called by implementations of the GstColorBalance interface. It fires the “value-changed” signal on the instance, and the “value-changed” signal on the channel object.

Parameters

balance

A GstColorBalance instance

 

channel

A GstColorBalanceChannel whose value has changed

 

value

The new value of the channel

 

gst_color_balance_get_balance_type ()

GstColorBalanceType
gst_color_balance_get_balance_type (GstColorBalance *balance);

Get the GstColorBalanceType of this implementation.

Parameters

balance

The GstColorBalance implementation

 

Returns

A the GstColorBalanceType.

Types and Values

GstColorBalance

typedef struct _GstColorBalance GstColorBalance;

struct GstColorBalanceInterface

struct GstColorBalanceInterface {
  GTypeInterface iface;

  /* virtual functions */
  const GList * (* list_channels) (GstColorBalance        *balance);

  void          (* set_value)     (GstColorBalance        *balance,
                                   GstColorBalanceChannel *channel,
                                   gint                    value);
  gint          (* get_value)     (GstColorBalance        *balance,
                                   GstColorBalanceChannel *channel);
  GstColorBalanceType (*get_balance_type)  (GstColorBalance *balance);

  /* signals */
  void (* value_changed) (GstColorBalance        *balance,
                          GstColorBalanceChannel *channel,
                          gint                    value);
};

Color-balance interface.

Members

GTypeInterface iface;

the parent interface

 

list_channels ()

list handled channels

 

set_value ()

set a channel value

 

get_value ()

get a channel value

 

get_balance_type ()

implementation type

 

value_changed ()

default handler for value changed notification

 

enum GstColorBalanceType

An enumeration indicating whether an element implements color balancing operations in software or in dedicated hardware. In general, dedicated hardware implementations (such as those provided by xvimagesink) are preferred.

Members

GST_COLOR_BALANCE_HARDWARE

Color balance is implemented with dedicated hardware.

 

GST_COLOR_BALANCE_SOFTWARE

Color balance is implemented via software processing.

 

Signal Details

The “value-changed” signal

void
user_function (GstColorBalance        *colorbalance,
               GstColorBalanceChannel *channel,
               gint                    value,
               gpointer                user_data)

Fired when the value of the indicated channel has changed.

Parameters

colorbalance

The GstColorBalance instance

 

channel

The GstColorBalanceChannel

 

value

The new value

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last