Added gst-plugins-base-subtitles0.10-0.10.34 for Meego Harmattan 1.2
[mafwsubrenderer] / gst-plugins-base-subtitles0.10 / ext / gnomevfs / gstgnomevfssrc.h
1 /* GStreamer
2  * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
3  *                    2000 Wim Taymans <wtay@chello.be>
4  *                    2001 Bastien Nocera <hadess@hadess.net>
5  *                    2002 Kristian Rietveld <kris@gtk.org>
6  *                    2002,2003 Colin Walters <walters@gnu.org>
7  *
8  * This library is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Library General Public
10  * License as published by the Free Software Foundation; either
11  * version 2 of the License, or (at your option) any later version.
12  *
13  * This library is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Library General Public License for more details.
17  *
18  * You should have received a copy of the GNU Library General Public
19  * License along with this library; if not, write to the
20  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21  * Boston, MA 02111-1307, USA.
22  */
23
24 #ifndef __GST_GNOME_VFS_SRC_H__
25 #define __GST_GNOME_VFS_SRC_H__
26
27 #include <gst/base/gstbasesrc.h>
28
29 #include "gstgnomevfs.h"
30 #include "gstgnomevfsuri.h"
31 #include <libgnomevfs/gnome-vfs.h>
32
33 G_BEGIN_DECLS
34
35 #define GST_TYPE_GNOME_VFS_SRC \
36   (gst_gnome_vfs_src_get_type())
37 #define GST_GNOME_VFS_SRC(obj) \
38   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_GNOME_VFS_SRC,GstGnomeVFSSrc))
39 #define GST_GNOME_VFS_SRC_CLASS(klass) \
40   (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_GNOME_VFS_SRC,GstGnomeVFSSrcClass))
41 #define GST_IS_GNOME_VFS_SRC(obj) \
42   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_GNOME_VFS_SRC))
43 #define GST_IS_GNOME_VFS_SRC_CLASS(klass) \
44   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_GNOME_VFS_SRC))
45
46 typedef struct _GstGnomeVFSSrc      GstGnomeVFSSrc;
47 typedef struct _GstGnomeVFSSrcClass GstGnomeVFSSrcClass;
48
49 /**
50  * GstGnomeVFSSrc:
51  *
52  * Opaque data structure.
53  */
54 struct _GstGnomeVFSSrc
55 {
56   GstBaseSrc basesrc;
57
58   /* uri, file, ... */
59   GnomeVFSURI *uri;
60   gchar *uri_name;
61   GnomeVFSHandle *handle;
62   gboolean own_handle;
63   GnomeVFSFileOffset curoffset; /* current offset in file */
64   gboolean seekable;
65
66   /* shoutcast/icecast metadata extraction handling */
67   gboolean iradio_mode;
68   gboolean http_callbacks_pushed;
69
70   gchar *iradio_name;
71   gchar *iradio_genre;
72   gchar *iradio_url;
73   gchar *iradio_title;
74 };
75
76 struct _GstGnomeVFSSrcClass
77 {
78   GstBaseSrcClass  basesrc_class;
79 };
80
81 GType gst_gnome_vfs_src_get_type (void);
82
83 G_END_DECLS
84
85 #endif /* __GST_GNOME_VFS_SRC_H__ */
86
87