Tizen 2.1 base
[framework/multimedia/gstreamer-vaapi.git] / gst-libs / gst / vaapi / gstvaapiparamspecs.h
1 /*
2  *  gstvaapiparamspecs.h - GParamSpecs for some of our types
3  *
4  *  Copyright (C) 2010-2011 Splitted-Desktop Systems
5  *
6  *  This library is free software; you can redistribute it and/or
7  *  modify it under the terms of the GNU Lesser General Public License
8  *  as published by the Free Software Foundation; either version 2.1
9  *  of the License, or (at your option) any later version.
10  *
11  *  This library is distributed in the hope that it will be useful,
12  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14  *  Lesser General Public License for more details.
15  *
16  *  You should have received a copy of the GNU Lesser General Public
17  *  License along with this library; if not, write to the Free
18  *  Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19  *  Boston, MA 02110-1301 USA
20  */
21
22 #ifndef GST_VAAPI_PARAM_SPECS_H
23 #define GST_VAAPI_PARAM_SPECS_H
24
25 #include <gst/vaapi/gstvaapitypes.h>
26 #include <glib-object.h>
27
28 G_BEGIN_DECLS
29
30 /**
31  * GstVaapiParamSpecID:
32  * @parent_instance: super class
33  * @default_value: default value
34  *
35  * A GParamSpec derived structure that contains the meta data for
36  * #GstVaapiID properties.
37  */
38 typedef struct _GstVaapiParamSpecID GstVaapiParamSpecID;
39 struct _GstVaapiParamSpecID {
40     GParamSpec  parent_instance;
41
42     GstVaapiID  default_value;
43 };
44
45 #define GST_VAAPI_TYPE_PARAM_ID \
46     (gst_vaapi_param_spec_id_get_type())
47
48 #define GST_VAAPI_IS_PARAM_SPEC_ID(pspec)                       \
49     (G_TYPE_CHECK_INSTANCE_TYPE((pspec),                        \
50                                 GST_VAAPI_TYPE_PARAM_ID))
51
52 #define GST_VAAPI_PARAM_SPEC_ID(pspec)                          \
53     (G_TYPE_CHECK_INSTANCE_CAST((pspec),                        \
54                                 GST_VAAPI_TYPE_PARAM_ID,        \
55                                 GstVaapiParamSpecID))
56
57 GType
58 gst_vaapi_param_spec_id_get_type(void) G_GNUC_CONST;
59
60 GParamSpec *
61 gst_vaapi_param_spec_id(
62     const gchar *name,
63     const gchar *nick,
64     const gchar *blurb,
65     GstVaapiID   default_value,
66     GParamFlags  flags
67 );
68
69 G_END_DECLS
70
71 #endif /* GST_VAAPI_PARAM_SPECS_H */