gstcolorbalance

gstcolorbalance — Interface for adjusting color balance settings

Synopsis

#include <gst/interfaces/color.h>

                    GstColorBalance;
struct              GstColorBalanceClass;
enum                GstColorBalanceType;
const GList *       gst_color_balance_list_channels     (GstColorBalance *balance);
gint                gst_color_balance_get_value         (GstColorBalance *balance,
                                                         GstColorBalanceChannel *channel);
void                gst_color_balance_set_value         (GstColorBalance *balance,
                                                         GstColorBalanceChannel *channel,
                                                         gint value);
void                gst_color_balance_value_changed     (GstColorBalance *balance,
                                                         GstColorBalanceChannel *channel,
                                                         gint value);
GstColorBalanceType gst_color_balance_get_balance_type  (GstColorBalance *balance);

Object Hierarchy

  GInterface
   +----GstColorBalance

Prerequisites

GstColorBalance requires GstImplementsInterface and GstElement.

Signals

  "value-changed"                                  : Run Last

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'

Details

GstColorBalance

typedef struct _GstColorBalance GstColorBalance;

struct GstColorBalanceClass

struct GstColorBalanceClass {
  GTypeInterface klass;

  GstColorBalanceType balance_type;

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

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

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

Color-balance interface.

GTypeInterface klass;

the parent interface

GstColorBalanceType balance_type;

implementation type

list_channels ()

list handled channels

set_value ()

set a channel value

get_value ()

get a channel value

value_changed ()

default handler for value changed notification

enum GstColorBalanceType

typedef enum {
  GST_COLOR_BALANCE_HARDWARE,
  GST_COLOR_BALANCE_SOFTWARE
} 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.

GST_COLOR_BALANCE_HARDWARE

Color balance is implemented with dedicated hardware.

GST_COLOR_BALANCE_SOFTWARE

Color balance is implemented via software processing.

gst_color_balance_list_channels ()

const GList *       gst_color_balance_list_channels     (GstColorBalance *balance);

Retrieve a list of the available channels.

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.

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.

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.

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.

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.

balance :

The GstColorBalance implementation

Returns :

A the GstColorBalanceType.

Since 0.10.24

Signal Details

The "value-changed" signal

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

Fired when the value of the indicated channel has changed.

colorbalance :

The GstColorBalance instance

channel :

The GstColorBalanceChannel

value :

The new value

user_data :

user data set when the signal handler was connected.