~ubuntu-branches/ubuntu/quantal/gst-plugins-bad-multiverse0.10/quantal

« back to all changes in this revision

Viewing changes to ext/kate/gstkateenc.h

  • Committer: Bazaar Package Importer
  • Author(s): Onkar Shinde
  • Date: 2009-12-07 08:54:28 UTC
  • mfrom: (1.1.15 upstream)
  • Revision ID: james.westby@ubuntu.com-20091207085428-ml6aaukf0p2ph34d
Tags: 0.10.17-0ubuntu1
* New upstream release.
* Add myself to maintainer.
* Fix misc lintian warnings.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * GStreamer
 
3
 * Copyright 2005 Thomas Vander Stichele <thomas@apestaart.org>
 
4
 * Copyright 2005 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
 
5
 * Copyright 2008 Vincent Penquerc'h <ogg.k.ogg.k@googlemail.com>
 
6
 *
 
7
 * Permission is hereby granted, free of charge, to any person obtaining a
 
8
 * copy of this software and associated documentation files (the "Software"),
 
9
 * to deal in the Software without restriction, including without limitation
 
10
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 
11
 * and/or sell copies of the Software, and to permit persons to whom the
 
12
 * Software is furnished to do so, subject to the following conditions:
 
13
 *
 
14
 * The above copyright notice and this permission notice shall be included in
 
15
 * all copies or substantial portions of the Software.
 
16
 *
 
17
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
18
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
19
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 
20
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 
21
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 
22
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
 
23
 * DEALINGS IN THE SOFTWARE.
 
24
 *
 
25
 * Alternatively, the contents of this file may be used under the
 
26
 * GNU Lesser General Public License Version 2.1 (the "LGPL"), in
 
27
 * which case the following provisions apply instead of the ones
 
28
 * mentioned above:
 
29
 *
 
30
 * This library is free software; you can redistribute it and/or
 
31
 * modify it under the terms of the GNU Library General Public
 
32
 * License as published by the Free Software Foundation; either
 
33
 * version 2 of the License, or (at your option) any later version.
 
34
 *
 
35
 * This library is distributed in the hope that it will be useful,
 
36
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
37
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
38
 * Library General Public License for more details.
 
39
 *
 
40
 * You should have received a copy of the GNU Library General Public
 
41
 * License along with this library; if not, write to the
 
42
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 
43
 * Boston, MA 02111-1307, USA.
 
44
 */
 
45
 
 
46
#ifndef __GST_KATE_ENC_H__
 
47
#define __GST_KATE_ENC_H__
 
48
 
 
49
#include <gst/gst.h>
 
50
#include <kate/kate.h>
 
51
 
 
52
G_BEGIN_DECLS
 
53
/* #defines don't like whitespacey bits */
 
54
#define GST_TYPE_KATE_ENC \
 
55
  (gst_kate_enc_get_type())
 
56
#define GST_KATE_ENC(obj) \
 
57
  (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_KATE_ENC,GstKateEnc))
 
58
#define GST_KATE_ENC_CLASS(klass) \
 
59
  (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_KATE,GstKateEncClass))
 
60
#define GST_IS_KATE_ENC(obj) \
 
61
  (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_KATE_ENC))
 
62
#define GST_IS_KATE_ENC_CLASS(klass) \
 
63
  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_KATE_ENC))
 
64
typedef struct _GstKateEnc GstKateEnc;
 
65
typedef struct _GstKateEncClass GstKateEncClass;
 
66
 
 
67
struct _GstKateEnc
 
68
{
 
69
  GstElement element;
 
70
 
 
71
  GstPad *sinkpad, *srcpad;
 
72
 
 
73
  kate_info ki;
 
74
  kate_comment kc;
 
75
  kate_state k;
 
76
 
 
77
  GstTagList *tags;
 
78
 
 
79
  GstClockTime last_timestamp;
 
80
  GstClockTime latest_end_time;
 
81
 
 
82
  gboolean headers_sent;
 
83
  gboolean initialized;
 
84
  gboolean delayed_spu;
 
85
  GstClockTime delayed_start;
 
86
  kate_bitmap *delayed_bitmap;
 
87
  kate_palette *delayed_palette;
 
88
  kate_region *delayed_region;
 
89
  gchar *language;
 
90
  gchar *category;
 
91
 
 
92
  int granule_rate_numerator;
 
93
  int granule_rate_denominator;
 
94
  int granule_shift;
 
95
 
 
96
  float keepalive_min_time;
 
97
  float default_spu_duration;
 
98
 
 
99
  size_t original_canvas_width;
 
100
  size_t original_canvas_height;
 
101
 
 
102
  /* SPU decoding */
 
103
  guint8 spu_colormap[4];
 
104
  guint32 spu_clut[16];
 
105
  guint8 spu_alpha[4];
 
106
  guint16 spu_top;
 
107
  guint16 spu_left;
 
108
  guint16 spu_right;
 
109
  guint16 spu_bottom;
 
110
  guint16 spu_pix_data[2];
 
111
  guint16 show_time;
 
112
  guint16 hide_time;
 
113
};
 
114
 
 
115
struct _GstKateEncClass
 
116
{
 
117
  GstElementClass parent_class;
 
118
};
 
119
 
 
120
GType gst_kate_enc_get_type (void);
 
121
 
 
122
G_END_DECLS
 
123
#endif /* __GST_KATE_ENC_H__ */