~ubuntu-branches/ubuntu/saucy/qt-gstreamer/saucy-proposed

« back to all changes in this revision

Viewing changes to elements/gstqtvideosink/gstqtglvideosinkbase.h

  • Committer: Package Import Robot
  • Author(s): Felix Geyer
  • Date: 2012-06-15 15:03:26 UTC
  • mfrom: (1.1.5 sid)
  • Revision ID: package-import@ubuntu.com-20120615150326-pkmdog620pkytcgt
Tags: 0.10.2-2ubuntu1
* Merge from Debian unstable, remaining changes:
  - Enable unit tests.
    + Build-depend on gstreamer0.10-plugins-base.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
    Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). <qt-info@nokia.com>
 
3
    Copyright (C) 2011-2012 Collabora Ltd. <info@collabora.com>
 
4
 
 
5
    This library is free software; you can redistribute it and/or modify
 
6
    it under the terms of the GNU Lesser General Public License version 2.1
 
7
    as published by the Free Software Foundation.
 
8
 
 
9
    This program is distributed in the hope that it will be useful,
 
10
    but WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
12
    GNU Lesser General Public License for more details.
 
13
 
 
14
    You should have received a copy of the GNU Lesser General Public License
 
15
    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
16
*/
 
17
 
 
18
#ifndef GST_QT_GL_VIDEO_SINK_BASE_H
 
19
#define GST_QT_GL_VIDEO_SINK_BASE_H
 
20
 
 
21
#include "gstqtvideosinkbase.h"
 
22
#include <gst/interfaces/colorbalance.h>
 
23
 
 
24
#ifndef GST_QT_VIDEO_SINK_NO_OPENGL
 
25
 
 
26
#define GST_TYPE_QT_GL_VIDEO_SINK_BASE \
 
27
  (GstQtGLVideoSinkBase::get_type())
 
28
#define GST_QT_GL_VIDEO_SINK_BASE(obj) \
 
29
  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_QT_GL_VIDEO_SINK_BASE, GstQtGLVideoSinkBase))
 
30
 
 
31
struct GstQtGLVideoSinkBase
 
32
{
 
33
public:
 
34
    GstQtVideoSinkBase parent;
 
35
 
 
36
    static GType get_type();
 
37
 
 
38
private:
 
39
    enum {
 
40
        PROP_0,
 
41
        PROP_CONTRAST,
 
42
        PROP_BRIGHTNESS,
 
43
        PROP_HUE,
 
44
        PROP_SATURATION
 
45
    };
 
46
 
 
47
    //index for s_colorbalance_labels
 
48
    enum {
 
49
        LABEL_CONTRAST = 0,
 
50
        LABEL_BRIGHTNESS,
 
51
        LABEL_HUE,
 
52
        LABEL_SATURATION,
 
53
        LABEL_LAST
 
54
    };
 
55
 
 
56
    static void init_interfaces(GType type);
 
57
 
 
58
    static void base_init(gpointer g_class);
 
59
    static void class_init(gpointer g_class, gpointer class_data);
 
60
 
 
61
    static void init(GTypeInstance *instance, gpointer g_class);
 
62
    static void finalize(GObject *object);
 
63
 
 
64
    static void implementsiface_init(GstImplementsInterfaceClass *klass, gpointer data);
 
65
    static gboolean interface_supported(GstImplementsInterface *iface, GType type);
 
66
 
 
67
    static void colorbalance_init(GstColorBalanceClass *klass, gpointer data);
 
68
    static const GList *colorbalance_list_channels(GstColorBalance *balance);
 
69
    static void colorbalance_set_value(GstColorBalance *balance,
 
70
                                       GstColorBalanceChannel *channel,
 
71
                                       gint value);
 
72
    static gint colorbalance_get_value(GstColorBalance *balance,
 
73
                                       GstColorBalanceChannel *channel);
 
74
 
 
75
    static void set_property(GObject *object, guint prop_id,
 
76
                             const GValue *value, GParamSpec *pspec);
 
77
    static void get_property(GObject *object, guint prop_id,
 
78
                             GValue *value, GParamSpec *pspec);
 
79
 
 
80
    static gboolean start(GstBaseSink *sink);
 
81
    static GstCaps *get_caps(GstBaseSink *sink);
 
82
 
 
83
 
 
84
    GList *m_channels_list;
 
85
    static const char * const s_colorbalance_labels[];
 
86
    static GstQtVideoSinkBaseClass *s_parent_class;
 
87
};
 
88
 
 
89
 
 
90
struct GstQtGLVideoSinkBaseClass
 
91
{
 
92
    GstQtVideoSinkBaseClass parent_class;
 
93
};
 
94
 
 
95
#endif // GST_QT_VIDEO_SINK_NO_OPENGL
 
96
#endif // GST_QT_GL_VIDEO_SINK_BASE_H