[svn r414] Fixes unrestricted and continuous reads to movie stream when it is a comoon recorded file.
2 * Copyright (C) <2006> Rosfran Borges <rosfran.borges@indt.org.br>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
20 #ifndef __GST_MYTHTV_SRC_H__
21 #define __GST_MYTHTV_SRC_H__
24 #include <gst/base/gstbasesrc.h>
25 #include <gst/base/gstpushsrc.h>
28 #include <gmyth/gmyth_socket.h>
29 #include <gmyth/gmyth_file_transfer.h>
30 #include <gmyth/gmyth_livetv.h>
31 #include <gmyth/gmyth_backendinfo.h>
35 #define GST_TYPE_MYTHTV_SRC \
36 (gst_mythtv_src_get_type())
37 #define GST_MYTHTV_SRC(obj) \
38 (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MYTHTV_SRC,GstMythtvSrc))
39 #define GST_MYTHTV_SRC_CLASS(klass) \
40 (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MYTHTV_SRC,GstMythtvSrcClass))
41 #define GST_IS_MYTHTV_SRC(obj) \
42 (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MYTHTV_SRC))
43 #define GST_IS_MYTHTV_SRC_CLASS(klass) \
44 (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MYTHTV_SRC))
46 typedef struct _GstMythtvSrc GstMythtvSrc;
47 typedef struct _GstMythtvSrcClass GstMythtvSrcClass;
50 GST_MYTHTV_SRC_FILE_TRANSFER,
51 GST_MYTHTV_SRC_NEXT_PROGRAM_CHAIN,
52 GST_MYTHTV_SRC_INVALID_DATA
55 struct _GstMythtvSrc {
58 /* MythFileTransfer */
59 GMythFileTransfer *file_transfer;
61 GMythLiveTV *spawn_livetv;
63 GMythBackendInfo *backend_info;
76 gint64 prev_content_size;
78 gint64 content_size_last;
90 gboolean unique_setup;
94 gboolean enable_timing_position;
102 /* MythTV capabilities */
103 GstCaps *mythtv_caps;
105 GByteArray *bytes_queue;
107 #ifndef GST_DISABLE_GST_DEBUG
108 /* enable Myth TV debug messages */
109 gboolean mythtv_msgs_dbg;
112 gboolean update_prog_chain;
114 /* stablish a maximum iteration value to the IS_RECORDING message */
115 guint wait_to_transfer;
119 struct _GstMythtvSrcClass {
120 GstPushSrcClass parent_class;
123 GType gst_mythtv_src_get_type (void);
127 #endif /* __GST_MYTHTV_SRC_H__ */