Gnash  0.8.10
swfdec_codec_gst.h
Go to the documentation of this file.
00001 /* Swfdec
00002  * Copyright (C) 2003-2006 David Schleef <ds@schleef.org>
00003  *               2005-2006 Eric Anholt <eric@anholt.net>
00004  *               2006-2007 Benjamin Otte <otte@gnome.org>
00005  *
00006  * This library is free software; you can redistribute it and/or
00007  * modify it under the terms of the GNU Lesser General Public
00008  * License as published by the Free Software Foundation; either
00009  * version 2.1 of the License, or (at your option) any later version.
00010  * 
00011  * This library is distributed in the hope that it will be useful,
00012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00014  * Lesser General Public License for more details.
00015  * 
00016  * You should have received a copy of the GNU Lesser General Public
00017  * License along with this library; if not, write to the Free Software
00018  * Foundation, Inc., 51 Franklin Street, Fifth Floor, 
00019  * Boston, MA  02110-1301  USA
00020  */
00021 
00022 #ifndef __SWFDEC_CODEC_GST_H__
00023 #define __SWFDEC_CODEC_GST_H__
00024 
00025 #include <gst/gst.h>
00026 
00027 G_BEGIN_DECLS
00028 
00029 typedef struct {
00030   GstElement *          bin;
00031   GstPad *              src;
00032   GstPad *              sink;
00033   GQueue *              queue;          /* all the stored output GstBuffers */
00034 } SwfdecGstDecoder;
00035 
00036 gboolean        swfdec_gst_decoder_init         (SwfdecGstDecoder *     dec,
00037                                                  GstCaps *              srccaps,
00038                                                  GstCaps *              sinkcaps,
00039                                                  ...) G_GNUC_NULL_TERMINATED;
00040 
00041 gboolean        swfdec_gst_colorspace_init      (SwfdecGstDecoder *     dec,
00042                                                  GstCaps *              srccaps,
00043                                                  GstCaps *              sinkcaps);
00044                                                  
00045 void            swfdec_gst_decoder_push_eos     (SwfdecGstDecoder *     dec);
00046 GstBuffer *     swfdec_gst_decoder_pull         (SwfdecGstDecoder *     dec);
00047 gboolean        swfdec_gst_decoder_push         (SwfdecGstDecoder *     dec,
00048                                                  GstBuffer *            buffer);
00049 void            swfdec_gst_decoder_finish       (SwfdecGstDecoder *     dec);
00050 
00051 GstElementFactory *
00052                 swfdec_gst_get_element_factory  (GstCaps *              caps);
00053 
00054 GstElementFactory *
00055                 swfdec_gst_get_demuxer_factory  (GstCaps *              caps);
00056 GstElementFactory *
00057                 swfdec_gst_get_parser_factory   (GstCaps *              caps);
00058 
00059 GstPad *        swfdec_gst_connect_srcpad (GstElement *element, GstCaps *caps);
00060 
00061 GstPad *        swfdec_gst_connect_sinkpad (GstElement *element, GstCaps *caps);
00062 GstPad *    swfdec_gst_connect_sinkpad_by_pad (GstPad *srcpad, GstCaps *caps);
00063 
00064 G_END_DECLS
00065 #endif
00066