source: trunk/third/gstreamer/gst/gsttaginterface.h @ 21005

Revision 21005, 2.7 KB checked in by ghudson, 20 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r21004, which included commits to RCS files with non-trunk default branches.
Line 
1/* GStreamer
2 * Copyright (C) 2003 Benjamin Otte <in7y118@public.uni-hamburg.de>
3 *
4 * gsttaginterface.h: Interfaces for tagging
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 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 * Library General Public License for more details.
15 *
16 * You should have received a copy of the GNU Library General Public
17 * License along with this library; if not, write to the
18 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19 * Boston, MA 02111-1307, USA.
20 */
21
22#ifndef __GST_TAG_INTERFACE_H__
23#define __GST_TAG_INTERFACE_H__
24
25#include <gst/gst.h>
26
27G_BEGIN_DECLS
28
29#define GST_TYPE_TAG_SETTER             (gst_tag_setter_get_type ())
30#define GST_TAG_SETTER(obj)             (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_TAG_SETTER, GstTagSetter))
31#define GST_TAG_SETTER_CLASS(obj)       (G_TYPE_CHECK_CLASS_CAST ((obj), GST_TYPE_TAG_SETTER, GstTagSetter))
32#define GST_IS_TAG_SETTER(obj)          (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_TAG_SETTER))
33#define GST_TAG_SETTER_GET_IFACE(obj)   (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GST_TYPE_TAG_SETTER, GstTagSetterIFace))
34
35typedef struct _GstTagSetter                    GstTagSetter; /* Dummy typedef */
36typedef struct _GstTagSetterIFace               GstTagSetterIFace;
37
38/* use an empty interface here to allow detection of elements using user-set
39   tags */
40struct _GstTagSetterIFace
41{
42  GTypeInterface g_iface;
43
44  /* signals */
45
46  /* virtual table */
47};
48
49GType           gst_tag_setter_get_type         (void) G_GNUC_CONST;
50
51void            gst_tag_setter_merge            (GstTagSetter *         setter,
52                                                 const GstTagList *     list,
53                                                 GstTagMergeMode        mode);
54void            gst_tag_setter_add              (GstTagSetter *         setter,
55                                                 GstTagMergeMode        mode,
56                                                 const gchar *          tag,
57                                                 ...);
58
59void            gst_tag_setter_add_values       (GstTagSetter *         setter,
60                                                 GstTagMergeMode        mode,
61                                                 const gchar *          tag,
62                                                 ...);
63
64void            gst_tag_setter_add_valist       (GstTagSetter *         setter,
65                                                 GstTagMergeMode        mode,
66                                                 const gchar *          tag,
67                                                 va_list                var_args);
68
69void            gst_tag_setter_add_valist_values(GstTagSetter *         setter,
70                                                 GstTagMergeMode        mode,
71                                                 const gchar *          tag,
72                                                 va_list                var_args);
73
74G_CONST_RETURN GstTagList *
75                gst_tag_setter_get_list (GstTagSetter *         setter);
76
77void            gst_tag_setter_set_merge_mode   (GstTagSetter *         setter,
78                                                 GstTagMergeMode        mode);
79GstTagMergeMode gst_tag_setter_get_merge_mode   (GstTagSetter *         setter);
80
81G_END_DECLS
82
83#endif /* __GST_TAG_INTERFACE_H__ */
Note: See TracBrowser for help on using the repository browser.