diff options
author | Benjamin Schmitz <vortex@wolpzone.de> | 2009-02-05 16:54:01 +0100 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-02-05 17:52:38 +0100 |
commit | 0bc20cb186574ddda39a80acef491e9af7045cfc (patch) | |
tree | d92004bb502fecd16b955f6a554a205d76b6ebe6 /ext/assrender/gstassrender.h | |
parent | 3af671425b0b7503e6af718e818040d6c6260d6a (diff) | |
download | gst-plugins-bad-0bc20cb186574ddda39a80acef491e9af7045cfc.tar.gz gst-plugins-bad-0bc20cb186574ddda39a80acef491e9af7045cfc.tar.bz2 gst-plugins-bad-0bc20cb186574ddda39a80acef491e9af7045cfc.zip |
Add assrender plugin for rendering ASS/SSA subtitles
This element has the advantage over subparse's ASS/SSA
support that more features are supported, like fading,
by using libass. Fixes bug #481075.
Diffstat (limited to 'ext/assrender/gstassrender.h')
-rw-r--r-- | ext/assrender/gstassrender.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/ext/assrender/gstassrender.h b/ext/assrender/gstassrender.h new file mode 100644 index 00000000..d2fdd8df --- /dev/null +++ b/ext/assrender/gstassrender.h @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2008 Benjamin Schmitz <vortex@wolpzone.de> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#ifndef __GST_ASSRENDER_H__ +#define __GST_ASSRENDER_H__ + +#include <gst/gst.h> + +#include <ass/ass.h> +#include <ass/ass_types.h> + +G_BEGIN_DECLS + +#define GST_TYPE_ASSRENDER (gst_assrender_get_type()) +#define GST_ASSRENDER(obj) (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_ASSRENDER,Gstassrender)) +#define GST_ASSRENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_ASSRENDER,GstassrenderClass)) +#define GST_IS_ASSRENDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_ASSRENDER)) +#define GST_IS_ASSRENDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ASSRENDER)) +typedef struct _Gstassrender Gstassrender; +typedef struct _GstassrenderClass GstassrenderClass; + +struct _Gstassrender +{ + GstElement element; + + GstPad *video_sinkpad, *text_sinkpad, *srcpad; + + GstSegment *video_segment; + + gint width, height; + + ass_library_t *ass_library; + ass_renderer_t *ass_renderer; + ass_track_t *ass_track; + + gboolean renderer_init_ok, track_init_ok, enable, embeddedfonts; +}; + +struct _GstassrenderClass +{ + GstElementClass parent_class; +}; + +GType gst_assrender_get_type (void); + +G_END_DECLS + +#endif |