X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gst%2Fgstparamspecs.h;h=4f5d8e39bf9f0b38c1da8f1179723acb201d785f;hb=37edc474e3dc292d53e64f9415536da1741ecede;hp=0e22f40f994d3007ff50a50317ddd821c3e37ba6;hpb=05635b374f5bc0645e3a99d3efc864d70c01e98c;p=platform%2Fupstream%2Fgstreamer.git diff --git a/gst/gstparamspecs.h b/gst/gstparamspecs.h index 0e22f40..4f5d8e3 100644 --- a/gst/gstparamspecs.h +++ b/gst/gstparamspecs.h @@ -13,8 +13,8 @@ * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. */ #ifndef __GST_PARAMSPECS_H__ @@ -27,7 +27,7 @@ G_BEGIN_DECLS /* --- paramspec flags */ /** - * GST_PARAM_CONTROLLABLE: + * GST_PARAM_CONTROLLABLE: (value 512) * * Use this flag on GObject properties to signal they can make sense to be. * controlled over time. This hint is used by the GstController. @@ -35,39 +35,33 @@ G_BEGIN_DECLS #define GST_PARAM_CONTROLLABLE (1 << (G_PARAM_USER_SHIFT + 1)) /** - * GST_PARAM_MUTABLE_READY: + * GST_PARAM_MUTABLE_READY: (value 1024) * * Use this flag on GObject properties of GstElements to indicate that * they can be changed when the element is in the READY or lower state. - * - * Since: 0.10.23 */ #define GST_PARAM_MUTABLE_READY (1 << (G_PARAM_USER_SHIFT + 2)) /** - * GST_PARAM_MUTABLE_PAUSED: + * GST_PARAM_MUTABLE_PAUSED: (value 2048) * * Use this flag on GObject properties of GstElements to indicate that * they can be changed when the element is in the PAUSED or lower state. * This flag implies GST_PARAM_MUTABLE_READY. - * - * Since: 0.10.23 */ #define GST_PARAM_MUTABLE_PAUSED (1 << (G_PARAM_USER_SHIFT + 3)) /** - * GST_PARAM_MUTABLE_PLAYING: + * GST_PARAM_MUTABLE_PLAYING: (value 4096) * * Use this flag on GObject properties of GstElements to indicate that * they can be changed when the element is in the PLAYING or lower state. * This flag implies GST_PARAM_MUTABLE_PAUSED. - * - * Since: 0.10.23 */ #define GST_PARAM_MUTABLE_PLAYING (1 << (G_PARAM_USER_SHIFT + 4)) /** - * GST_PARAM_USER_SHIFT: + * GST_PARAM_USER_SHIFT: (value 65536) * * Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications. */ @@ -81,14 +75,24 @@ G_BEGIN_DECLS #define GST_PARAM_SPEC_FRACTION(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), GST_TYPE_PARAM_FRACTION, GstParamSpecFraction)) +#define GST_TYPE_PARAM_ARRAY_LIST (gst_param_spec_array_get_type ()) +#define GST_IS_PARAM_SPEC_ARRAY_LIST(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), GST_TYPE_PARAM_ARRAY_LIST)) +#define GST_PARAM_SPEC_ARRAY_LIST(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), GST_TYPE_PARAM_ARRAY_LIST, GstParamSpecArray)) + + /* --- get_type functions --- */ +GST_API GType gst_param_spec_fraction_get_type (void); +GST_API +GType gst_param_spec_array_get_type (void); + /* --- typedefs & structures --- */ typedef struct _GstParamSpecFraction GstParamSpecFraction; +typedef struct _GstParamSpecArray GstParamSpecArray; /** * GstParamSpecFraction: @@ -111,9 +115,23 @@ struct _GstParamSpecFraction { gint def_num, def_den; }; +/** + * GstParamSpecArray: + * @parent_instance: super class + * @element_spec: the #GParamSpec of the type of values in the array + * + * A GParamSpec derived structure for arrays of values. + */ +struct _GstParamSpecArray { + GParamSpec parent_instance; + + GParamSpec * element_spec; +}; + /* --- GParamSpec prototypes --- */ +GST_API GParamSpec * gst_param_spec_fraction (const gchar * name, const gchar * nick, const gchar * blurb, @@ -121,6 +139,12 @@ GParamSpec * gst_param_spec_fraction (const gchar * name, gint max_num, gint max_denom, gint default_num, gint default_denom, GParamFlags flags) G_GNUC_MALLOC; +GST_API +GParamSpec * gst_param_spec_array (const gchar * name, + const gchar * nick, + const gchar * blurb, + GParamSpec * element_spec, + GParamFlags flags) G_GNUC_MALLOC; G_END_DECLS