Initialize Tizen 2.3
[framework/multimedia/gst-plugins-ext0.10.git] / wearable / avsystem / src / gstavsysmemsink.h
1 /*
2  * avsystem
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: JongHyuk Choi <jhchoi.choi@samsung.com>
7  *
8  * This library is free software; you can redistribute it and/or modify it under
9  * the terms of the GNU Lesser General Public License as published by the
10  * Free Software Foundation; either version 2.1 of the License, or (at your option)
11  * any later version.
12  *
13  * This library is distributed in the hope that it will be useful, but WITHOUT ANY
14  * WARRANTY; without even the implied warranty of MERCHANTABILITY or
15  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
16  * License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this library; if not, write to the Free Software Foundation, Inc., 51
20  * Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21  *
22  */
23
24  
25 #ifndef __GST_AVSYSMEMSINK_H__
26 #define __GST_AVSYSMEMSINK_H__
27
28 #include <gst/gst.h>
29 #include <gst/video/gstvideosink.h>
30 #include <gst/interfaces/xoverlay.h>
31
32 G_BEGIN_DECLS
33
34 #define GST_TYPE_AVSYS_MEM_SINK             (gst_avsysmemsink_get_type())
35 #define GST_AVSYS_MEM_SINK(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),GST_TYPE_AVSYS_MEM_SINK, GstAvsysMemSink))
36 #define GST_AVSYS_MEM_SINK_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass),GST_TYPE_AVSYS_MEM_SINK, GstAvsysMemSinkClass))
37 #define GST_IS_AVSYS_MEM_SINK(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),GST_TYPE_AVSYS_MEM_SINK))
38 #define GST_IS_AVSYS_MEM_SINK_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_AVSYS_MEM_SINK))
39
40
41 typedef struct _GstAvsysMemSink      GstAvsysMemSink;
42 typedef struct _GstAvsysMemSinkClass GstAvsysMemSinkClass;
43
44 struct _GstAvsysMemSink
45 {
46     GstVideoSink        videosink;
47
48     int                 src_width;
49     int                 src_height;
50
51     int                 src_changed;
52     int                 src_length;
53
54
55     int                 dst_width;
56     int                 dst_height;
57
58     int                 dst_length;
59     int                 dst_changed;
60
61     unsigned char       *con_buf;
62     unsigned char       *rot_buf;
63     unsigned char       *rsz_buf;
64
65         int                 rotate;
66
67         int                             is_rgb;
68 };
69
70 struct _GstAvsysMemSinkClass
71 {
72         GstVideoSinkClass parent_class;
73 };
74
75 GType gst_avsysmemsink_get_type (void);
76
77 G_END_DECLS
78
79
80 #endif /* __GST_AVSYSMEMSINK_H__ */
81
82 /* EOF */