gst-plugins-mythtv/src/gstmythtvsrc.h
author rosfran
Mon Oct 23 20:02:26 2006 +0100 (2006-10-23)
branchtrunk
changeset 43 c9e53d7250f8
parent 13 f3cdc7844178
child 52 67e72eadeef2
permissions -rwxr-xr-x
[svn r44] Some fixes.
     1 /* vim: set sw=2: -*- Mode: C; tab-width: 2; indent-tabs-mode: t; c-basic-offset: 2; c-indent-level: 2 -*- */
     2 /* GStreamer
     3  * Copyright (C) <2006> Rosfran Borges <rosfran.borges@indt.org.br>
     4  *
     5  * This library is free software; you can redistribute it and/or
     6  * modify it under the terms of the GNU Library General Public
     7  * License as published by the Free Software Foundation; either
     8  * version 2 of the License, or (at your option) any later version.
     9  *
    10  * This library is distributed in the hope that it will be useful,
    11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    13  * Library General Public License for more 
    14  */
    15 
    16 #ifndef __GST_MYTHTV_SRC_H__
    17 #define __GST_MYTHTV_SRC_H__
    18 
    19 #include <gst/gst.h>
    20 #include <gst/base/gstpushsrc.h>
    21 #include <stdio.h>
    22 
    23 #include <gmyth/gmyth_socket.h>
    24 #include "gmyth_file_transfer.h"
    25 #include "gmyth_livetv.h"
    26 
    27 G_BEGIN_DECLS
    28 
    29 #define GST_TYPE_MYTHTV_SRC \
    30   (gst_mythtv_src_get_type())
    31 #define GST_MYTHTV_SRC(obj) \
    32   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_MYTHTV_SRC,GstMythtvSrc))
    33 #define GST_MYTHTV_SRC_CLASS(klass) \
    34   (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_MYTHTV_SRC,GstMythtvSrcClass))
    35 #define GST_IS_MYTHTV_SRC(obj) \
    36   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_MYTHTV_SRC))
    37 #define GST_IS_MYTHTV_SRC_CLASS(klass) \
    38   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_MYTHTV_SRC))
    39 
    40 typedef struct _GstMythtvSrc GstMythtvSrc;
    41 typedef struct _GstMythtvSrcClass GstMythtvSrcClass;
    42 
    43 struct _GstMythtvSrc {
    44   GstBaseSrc element;
    45 
    46   /* MythFileTransfer */
    47   GMythFileTransfer *file_transfer;
    48 
    49   GMythLiveTV *spawn_livetv;
    50 
    51   gchar *uri_name;
    52   gchar *user_agent;
    53 
    54   gchar *live_chain_id;
    55   
    56   gint mythtv_version;
    57 
    58   guint64 content_size;
    59 
    60   guint64 bytes_read;
    61 
    62   guint64 read_offset;
    63 
    64   gboolean eos;
    65   
    66   gboolean do_start;
    67 
    68   gboolean unique_setup;
    69 
    70   gboolean live_tv;
    71 
    72   gint live_tv_id;
    73 
    74   /* MythTV capabilities */
    75   GstCaps *mythtv_caps;
    76 
    77   /* enable Myth TV debug messages */
    78   gboolean mythtv_msgs_dbg;
    79 
    80   gboolean update_prog_chain;
    81 };
    82 
    83 struct _GstMythtvSrcClass {
    84   GstBaseSrcClass parent_class;
    85 };
    86 
    87 GType gst_mythtv_src_get_type (void);
    88 
    89 G_END_DECLS
    90 
    91 #endif /* __GST_MYTHTV_SRC_H__ */