• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* GStreamer
2  * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
3  *
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.
8  *
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.
13  *
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., 51 Franklin St, Fifth Floor,
17  * Boston, MA 02110-1301, USA.
18  */
19 /*************************************************************************/
20 /*                                                                       */
21 /*                Centre for Speech Technology Research                  */
22 /*                     University of Edinburgh, UK                       */
23 /*                        Copyright (c) 1999                             */
24 /*                        All Rights Reserved.                           */
25 /*                                                                       */
26 /*  Permission is hereby granted, free of charge, to use and distribute  */
27 /*  this software and its documentation without restriction, including   */
28 /*  without limitation the rights to use, copy, modify, merge, publish,  */
29 /*  distribute, sublicense, and/or sell copies of this work, and to      */
30 /*  permit persons to whom this work is furnished to do so, subject to   */
31 /*  the following conditions:                                            */
32 /*   1. The code must retain the above copyright notice, this list of    */
33 /*      conditions and the following disclaimer.                         */
34 /*   2. Any modifications must be clearly marked as such.                */
35 /*   3. Original authors' names are not deleted.                         */
36 /*   4. The authors' names are not used to endorse or promote products   */
37 /*      derived from this software without specific prior written        */
38 /*      permission.                                                      */
39 /*                                                                       */
40 /*  THE UNIVERSITY OF EDINBURGH AND THE CONTRIBUTORS TO THIS WORK        */
41 /*  DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING      */
42 /*  ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT   */
43 /*  SHALL THE UNIVERSITY OF EDINBURGH NOR THE CONTRIBUTORS BE LIABLE     */
44 /*  FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES    */
45 /*  WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN   */
46 /*  AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,          */
47 /*  ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF       */
48 /*  THIS SOFTWARE.                                                       */
49 /*                                                                       */
50 /*************************************************************************/
51 /*             Author :  Alan W Black (awb@cstr.ed.ac.uk)                */
52 /*             Date   :  March 1999                                      */
53 /*-----------------------------------------------------------------------*/
54 /*                                                                       */
55 /* Client end of Festival server API (in C) designed specifically for    */
56 /* Galaxy Communicator use, though might be of use for other things      */
57 /*                                                                       */
58 /*=======================================================================*/
59 
60 #ifndef __GST_FESTIVAL_H__
61 #define __GST_FESTIVAL_H__
62 
63 
64 #include <gst/gst.h>
65 
66 #ifdef __cplusplus
67 extern "C" {
68 #endif /* __cplusplus */
69 
70 
71 #define FESTIVAL_DEFAULT_SERVER_HOST "localhost"
72 #define FESTIVAL_DEFAULT_SERVER_PORT 1314
73 #define FESTIVAL_DEFAULT_TEXT_MODE "fundamental"
74 
75 typedef struct FT_Info
76 {
77     int encoding;
78     const char *server_host;
79     int server_port;
80     const char *text_mode;
81 
82     int server_fd;
83 } FT_Info;
84 
85 #define GST_TYPE_FESTIVAL \
86   (gst_festival_get_type())
87 #define GST_FESTIVAL(obj) \
88   (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_FESTIVAL,GstFestival))
89 #define GST_FESTIVAL_CLASS(klass) \
90   (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_FESTIVAL,GstFestivalClass))
91 #define GST_IS_FESTIVAL(obj) \
92   (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_FESTIVAL))
93 #define GST_IS_FESTIVAL_CLASS(klass) \
94   (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_FESTIVAL))
95 
96 typedef enum {
97   GST_FESTIVAL_OPEN             = (GST_ELEMENT_FLAG_LAST << 0),
98 
99   GST_FESTIVAL_FLAG_LAST        = (GST_ELEMENT_FLAG_LAST << 2),
100 } GstFestivalFlags;
101 
102 typedef struct _GstFestival GstFestival;
103 typedef struct _GstFestivalClass GstFestivalClass;
104 
105 struct _GstFestival {
106   GstElement element;
107 
108   /* pads */
109   GstPad *sinkpad,*srcpad;
110 
111   FT_Info *info;
112 };
113 
114 struct _GstFestivalClass {
115   GstElementClass parent_class;
116 };
117 
118 GType gst_festival_get_type(void);
119 GST_ELEMENT_REGISTER_DECLARE (festival);
120 
121 #ifdef __cplusplus
122 }
123 #endif /* __cplusplus */
124 
125 #endif /* __GST_FESTIVAL_H__ */
126