gst_plugins_base/gst/playback/gstplaysink.h
changeset 0 0e761a78d257
child 8 4a7fac7dd34a
equal deleted inserted replaced
-1:000000000000 0:0e761a78d257
       
     1 /* GStreamer
       
     2  * Copyright (C) <2007> Wim Taymans <wim.taymans@gmail.com>
       
     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., 59 Temple Place - Suite 330,
       
    17  * Boston, MA 02111-1307, USA.
       
    18  */
       
    19  
       
    20 #ifndef __GST_PLAY_SINK_H__
       
    21 #define __GST_PLAY_SINK_H__
       
    22 
       
    23 #include <gst/gst.h>
       
    24 
       
    25 #include "gstplay-enum.h"
       
    26 
       
    27 G_BEGIN_DECLS
       
    28 
       
    29 #define GST_TYPE_PLAY_SINK \
       
    30   (gst_play_sink_get_type())
       
    31 #define GST_PLAY_SINK(obj) \
       
    32   (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_PLAY_SINK, GstPlaySink))
       
    33 #define GST_PLAY_SINK_CLASS(klass) \
       
    34   (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLAY_SINK, GstPlaySinkClass))
       
    35 #define GST_IS_PLAY_SINK(obj) \
       
    36   (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_PLAY_SINK))
       
    37 #define GST_IS_PLAY_SINK_CLASS(klass) \
       
    38   (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_PLAY_SINK))
       
    39 
       
    40 /**
       
    41  * GstPlaySinkType:
       
    42  * @GST_PLAY_SINK_TYPE_AUDIO: A non-raw audio pad
       
    43  * @GST_PLAY_SINK_TYPE_AUDIO_RAW: a raw audio pad
       
    44  * @GST_PLAY_SINK_TYPE_VIDEO: a non-raw video pad
       
    45  * @GST_PLAY_SINK_TYPE_VIDEO_RAW: a raw video pad
       
    46  * @GST_PLAY_SINK_TYPE_TEXT: a raw text pad
       
    47  * @GST_PLAY_SINK_TYPE_LAST: the last type
       
    48  *
       
    49  * Types of pads that can be requested from the sinks.
       
    50  */
       
    51 typedef enum {
       
    52   GST_PLAY_SINK_TYPE_AUDIO     = 0,
       
    53   GST_PLAY_SINK_TYPE_AUDIO_RAW = 1,
       
    54   GST_PLAY_SINK_TYPE_VIDEO     = 2,
       
    55   GST_PLAY_SINK_TYPE_VIDEO_RAW = 3,
       
    56   GST_PLAY_SINK_TYPE_TEXT      = 4,
       
    57   GST_PLAY_SINK_TYPE_LAST      = 5
       
    58 } GstPlaySinkType;
       
    59 
       
    60 typedef struct _GstPlaySink GstPlaySink;
       
    61 typedef struct _GstPlaySinkClass GstPlaySinkClass;
       
    62 #ifdef __SYMBIAN32__
       
    63 IMPORT_C
       
    64 #endif
       
    65 
       
    66 
       
    67 GType gst_play_sink_get_type (void);
       
    68 #ifdef __SYMBIAN32__
       
    69 IMPORT_C
       
    70 #endif
       
    71 
       
    72 
       
    73 GstPad *         gst_play_sink_request_pad    (GstPlaySink *playsink, GstPlaySinkType type);
       
    74 #ifdef __SYMBIAN32__
       
    75 IMPORT_C
       
    76 #endif
       
    77 
       
    78 void             gst_play_sink_release_pad    (GstPlaySink *playsink, GstPad *pad);
       
    79 #ifdef __SYMBIAN32__
       
    80 IMPORT_C
       
    81 #endif
       
    82 
       
    83 
       
    84 void             gst_play_sink_set_video_sink (GstPlaySink * playsink, GstElement * sink);
       
    85 #ifdef __SYMBIAN32__
       
    86 IMPORT_C
       
    87 #endif
       
    88 
       
    89 void             gst_play_sink_set_audio_sink (GstPlaySink * playsink, GstElement * sink);
       
    90 #ifdef __SYMBIAN32__
       
    91 IMPORT_C
       
    92 #endif
       
    93 
       
    94 void             gst_play_sink_set_vis_plugin (GstPlaySink * playsink, GstElement * vis);
       
    95 #ifdef __SYMBIAN32__
       
    96 IMPORT_C
       
    97 #endif
       
    98 
       
    99 
       
   100 void             gst_play_sink_set_volume     (GstPlaySink *playsink, gdouble volume);
       
   101 #ifdef __SYMBIAN32__
       
   102 IMPORT_C
       
   103 #endif
       
   104 
       
   105 gdouble          gst_play_sink_get_volume     (GstPlaySink *playsink);
       
   106 #ifdef __SYMBIAN32__
       
   107 IMPORT_C
       
   108 #endif
       
   109 
       
   110 
       
   111 void             gst_play_sink_set_mute       (GstPlaySink *playsink, gboolean mute);
       
   112 #ifdef __SYMBIAN32__
       
   113 IMPORT_C
       
   114 #endif
       
   115 
       
   116 gboolean         gst_play_sink_get_mute       (GstPlaySink *playsink);
       
   117 #ifdef __SYMBIAN32__
       
   118 IMPORT_C
       
   119 #endif
       
   120 
       
   121 
       
   122 gboolean         gst_play_sink_set_flags      (GstPlaySink * playsink, GstPlayFlags flags);
       
   123 #ifdef __SYMBIAN32__
       
   124 IMPORT_C
       
   125 #endif
       
   126 
       
   127 GstPlayFlags     gst_play_sink_get_flags      (GstPlaySink * playsink);
       
   128 #ifdef __SYMBIAN32__
       
   129 IMPORT_C
       
   130 #endif
       
   131 
       
   132 
       
   133 GstBuffer *      gst_play_sink_get_last_frame (GstPlaySink * playsink);
       
   134 #ifdef __SYMBIAN32__
       
   135 IMPORT_C
       
   136 #endif
       
   137 
       
   138 
       
   139 gboolean         gst_play_sink_reconfigure    (GstPlaySink * playsink);
       
   140 
       
   141 G_END_DECLS
       
   142 
       
   143 #endif /* __GST_PLAY_SINK_H__ */