d133088fdf30273ec67f58795e762279b0ffb339
[framework/multimedia/libmm-imgp-gstcs.git] / gstcs / include / mm_util_gstcs_internal.h
1 /*
2  * libmm-imgp-gstcs\r
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.\r
5  *
6  * Contact: YoungHun Kim <yh8004.kim@samsung.com>
7  *\r
8  * Licensed under the Apache License, Version 2.0 (the "License");\r
9  * you may not use this file except in compliance with the License.\r
10  * You may obtain a copy of the License at\r
11  *\r
12  * http://www.apache.org/licenses/LICENSE-2.0\r
13  *\r
14  * Unless required by applicable law or agreed to in writing, software\r
15  * distributed under the License is distributed on an "AS IS" BASIS,\r
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
17  * See the License for the specific language governing permissions and\r
18  * limitations under the License.\r
19  *
20  */\r
21 \r
22 \r
23 #include <glib.h>\r
24 #include <gst/gst.h>\r
25 #include <gst/gstbuffer.h>\r
26 #include <gst/app/gstappsrc.h>\r
27 #include <gst/app/gstappbuffer.h>\r
28 #include <gst/app/gstappsink.h>\r
29 #ifdef __cplusplus\r
30         extern "C" {\r
31 #endif\r
32 #include "mm_util_gstcs.h"\r
33 #include "mm_log.h"\r
34 \r
35 #define buf_size 9\r
36 \r
37 typedef struct _image_format\r
38 {\r
39         char format_label[buf_size]; //I420, AYUV, RGB888, BGRA8888\r
40         char colorspace[buf_size]; // yuv, rgb, RGBA\r
41         int width;\r
42         int height;\r
43         int stride;\r
44         int elevation;\r
45         int blocksize;\r
46         GstCaps* caps;\r
47 } image_format; \r
48 \r
49 typedef struct _gstreamer\r
50 {\r
51         GMainLoop *loop;\r
52         GstElement *pipeline;\r
53         GstElement *appsrc;\r
54         GstElement *colorspace; \r
55         GstElement *videoscale;\r
56         GstElement *videoflip;\r
57         GstElement *appsink; \r
58         GstBuffer *output_buffer;\r
59 } gstreamer;\r