Merge branch 'master' into 0.11-fdo
[platform/upstream/gstreamer.git] / docs / random / porting-to-0.11.txt
1 The 0.11 porting guide
2 ----------------------
3
4 * All deprecated methods were removed. Recompile against 0.10 with
5   DISABLE_DEPRECATED and fix issues before attempting to port to 0.11.
6
7 * multifdsink, tcpclientsink, tcpclientsrc, tcpserversrc the protocol property
8   is removed, use gdppay and gdpdepay.
9
10 * GstObject:
11     GST_OBJECT_DISPOSING flag removed
12     GST_OBJECT_IS_DISPOSING removed
13     GST_OBJECT_FLOATING flag remove, GstObject is now GInitiallyUnowned
14     GST_OBJECT_IS_FLOATING removed, use g_object_is_floating()
15
16     GST_CLASS_GET_LOCK, GST_CLASS_LOCK, GST_CLASS_TRYLOCK, GST_CLASS_UNLOCK,
17     used to be a workaround for thread-unsafe glib < 2.8
18
19     gst_object_ref_sink() has gpointer as result to make it more like the
20     GObject version.
21
22     gst_object_sink() removed, use gst_object_ref_sink() instead.
23
24     gst_class_signal_connect() removed, was only used for XML
25
26     parent-set and parent-unset signals removed. Use notify:parent. Currently
27     still disabled because of deep notify locking issues.
28
29 * GstElement:
30     GstElementDetails is removed and replaced with more generic metadata.
31
32     gst_element_class_set_details_simple() -> gst_element_class_set_metadata()
33     gst_element_class_set_documentation_uri -> gst_element_class_add_metadata
34     gst_element_class_set_icon_name -> gst_element_class_add_metadata
35
36     gst_element_factory_get_longname -> gst_element_factory_get_metadata
37     gst_element_factory_get_klass -> gst_element_factory_get_metadata
38     gst_element_factory_get_description -> gst_element_factory_get_metadata
39     gst_element_factory_get_author -> gst_element_factory_get_metadata
40     gst_element_factory_get_documentation_uri -> gst_element_factory_get_metadata
41     gst_element_factory_get_icon_name -> gst_element_factory_get_metadata
42
43     gstelementmetadata.h contains the keys for all standard metadata.
44
45 * GstPad:
46     gst_pad_get_caps() does not return writable caps anymore and an explicit
47     gst_caps_make_writable() needs to be performed. This was the functionality
48     of gst_pad_get_caps_reffed(), which is removed now.
49
50     A similar change was done for gst_pad_peer_get_caps() and
51     gst_pad_peer_get_caps_reffed()
52
53 * GstMiniObject
54     A miniobject is now a simple refcounted structure holding the information
55     common to buffers, events, messages, queries and caps.
56
57     There is no more GST_TYPE_MINIOBJECT as the type for subclasses.
58     G_TYPE_BOXED can be used as the type of all GstMiniObject based types such
59     as buffers, events, messages, caps, etc. Signals, for example, would use the
60     boxed type if the argument include GstMiniObject derived types.
61
62     gst_mini_object_new() is removed. You would allocate memory with the the
63     methods specific for the derived type.
64
65     GstParamSpecMiniObject is removed, use boxed param spec now with the GType
66     of the specific GstMiniObject derived type. Also
67     gst_param_spec_mini_object().
68
69     gst_param_spec_mini_object() -> g_param_spec_boxed()
70
71     The specific gst_value_*_mini_object() methods are removed, used the generic
72     boxed methods instead.
73
74     gst_value_set_mini_object() -> g_value_set_boxed()
75     gst_value_take_mini_object() -> g_value_take_boxed()
76     gst_value_take_get_object() -> g_value_get_boxed()
77     gst_value_take_dup_object() -> g_value_dup_boxed()
78
79 * GstBuffer
80     A GstBuffer is now a simple boxed type this means that subclassing is not
81     possible anymore. To add more data to the buffer, you have to use the
82     metadata feature of buffers.
83
84 * GstEvent
85 * GstQuery
86     Boxed types derived from GstMiniObject.
87
88 * GstBufferList
89     Is now a boxed type derived from GstMiniObject.
90
91 * GstMessage
92     Is now a boxed type derived from GstMiniObject
93
94 * GstCaps
95     Is now a boxed type derived from GstMiniObject. 
96
97