gstcolorbalance

gstcolorbalance — Interface for adjusting color balance settings

Synopsis


#include <gst/interfaces/color.h>

                    GstColorBalance;
                    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 GstObject, 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;


GstColorBalanceClass

typedef struct {
  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);

  gpointer _gst_reserved[GST_PADDING];
} GstColorBalanceClass;


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 "min_value" and "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 "min_value" and "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.