4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Seungbae Shin <seungbae.shin@samsung.com>
8 * This library is free software; you can redistribute it and/or modify it under
9 * the terms of the GNU Lesser General Public License as published by the
10 * Free Software Foundation; either version 2.1 of the License, or (at your option)
13 * This library is distributed in the hope that it will be useful, but WITHOUT ANY
14 * WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
16 * License for more details.
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this library; if not, write to the Free Software Foundation, Inc., 51
20 * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
24 #ifndef __GST_PD_PUSHSRC_H__
25 #define __GST_PD_PUSHSRC_H__
27 #include <sys/types.h>
29 #include <gst/base/gstbasesrc.h>
33 #define GST_TYPE_PD_PUSHSRC (gst_pd_pushsrc_get_type())
34 #define GST_PD_PUSHSRC(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_PD_PUSHSRC,GstPDPushSrc))
35 #define GST_PD_PUSHSRC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_PD_PUSHSRC,GstPDPushSrcClass))
36 #define GST_IS_PD_PUSHSRC(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_PD_PUSHSRC))
37 #define GST_IS_PD_PUSHSRC_CLASS(klass) \
38 (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_PD_PUSHSRC))
39 #define GST_PD_PUSHSRC_CAST(obj) ((GstPDPushSrc*) obj)
41 typedef struct _GstPDPushSrc GstPDPushSrc;
42 typedef struct _GstPDPushSrcClass GstPDPushSrcClass;
47 * Opaque #GstPDPushSrc structure.
49 struct _GstPDPushSrc {
53 gchar *filename; /* filename */
54 gchar *uri; /* caching the URI */
55 gint fd; /* open file descriptor */
56 guint64 read_position; /* position of fd */
58 gboolean seekable; /* whether the file is seekable */
59 gboolean is_regular; /* whether it's a (symlink to a) regular file */
65 struct _GstPDPushSrcClass {
66 GstBaseSrcClass parent_class;
69 GType gst_pd_pushsrc_get_type (void);
73 #endif /* __GST_FILE_SRC_H__ */