Tizen 2.0 Release
[framework/multimedia/gst-plugins-bad0.10.git] / ext / resindvd / rsnparsetter.h
1 /*
2  * Copyright (C) 2008 Jan Schmidt <thaytan@noraisin.net>
3  */
4
5 #ifndef __RSN_PARSETTER_H__
6 #define __RSN_PARSETTER_H__
7
8 #include <gst/gst.h>
9
10 #include "rsnwrappedbuffer.h"
11
12 G_BEGIN_DECLS
13
14 #define RSN_TYPE_RSNPARSETTER \
15   (rsn_parsetter_get_type())
16 #define RSN_PARSETTER(obj) \
17   (G_TYPE_CHECK_INSTANCE_CAST((obj),RSN_TYPE_RSNPARSETTER,RsnParSetter))
18 #define RSN_PARSETTER_CLASS(klass) \
19   (G_TYPE_CHECK_CLASS_CAST((klass),RSN_TYPE_RSNPARSETTER,RsnParSetterClass))
20 #define RSN_IS_PARSETTER(obj) \
21   (G_TYPE_CHECK_INSTANCE_TYPE((obj),RSN_TYPE_RSNPARSETTER))
22 #define RSN_IS_PARSETTER_CLASS(klass) \
23   (G_TYPE_CHECK_CLASS_TYPE((klass),RSN_TYPE_RSNPARSETTER))
24
25 typedef struct _RsnParSetter      RsnParSetter;
26 typedef struct _RsnParSetterClass RsnParSetterClass;
27
28 struct _RsnParSetter
29 {
30   GstElement element;
31
32   GstPad *sinkpad, *srcpad;
33
34   gboolean override_outcaps;
35   GstCaps *outcaps;
36
37   gboolean is_widescreen;
38
39   GMutex *caps_lock;
40   GstCaps *in_caps_last;
41   gboolean in_caps_was_ok;
42   GstCaps *in_caps_converted;
43 };
44
45 struct _RsnParSetterClass 
46 {
47   GstElementClass parent_class;
48 };
49
50 GType rsn_parsetter_get_type (void);
51
52 G_END_DECLS
53
54 #endif /* __RSN_PARSETTER_H__ */