gst: Add a filter caps parameter to all get_caps() functions
[platform/upstream/gstreamer.git] / docs / random / porting-to-0.11.txt
index 9c221cf..e0c1571 100644 (file)
@@ -4,12 +4,19 @@ The 0.11 porting guide
 * All deprecated methods were removed. Recompile against 0.10 with
   DISABLE_DEPRECATED and fix issues before attempting to port to 0.11.
 
+* GST_BOILERPLATE is gone, use G_DEFINE_TYPE instead.
+
 * various methods take a gsize instead of a guint when talking about memory
   sizes.
 
 * multifdsink, tcpclientsink, tcpclientsrc, tcpserversrc the protocol property
   is removed, use gdppay and gdpdepay.
 
+* Presets and plugins moved to $XDG_DATA_HOME/gstreamer-0.11/ root
+  directory. Registry moved to $XDG_CACHE_HOME/gstreamer-0.11/.
+  XDG_CACHE_HOME usually points to $HOME/.cache and XDG_DATA_HOME
+  usually is $HOME/.local/share/.
+
 * GstObject:
     GST_OBJECT_DISPOSING flag removed
     GST_OBJECT_IS_DISPOSING removed
@@ -45,6 +52,19 @@ The 0.11 porting guide
 
     gstelementmetadata.h contains the keys for all standard metadata.
 
+    Element metadata and pad templates are inherited from parent classes and
+    should be added in class_init instead of base_init.
+
+    gst_element_class_add_pad_template() takes ownership of the template
+
+    Elements that change the duration must post DURATION messages on the
+    bus when the duration changes in PAUSED or PLAYING.
+
+    gst_element_lost_state_full() -> gst_element_lost_state()
+    gst_element_lost_state() -> gst_element_lost_state(, TRUE)
+
+    request_new_pad_full() -> request_new_pad()
+
 * GstPad:
     gst_pad_get_caps() does not return writable caps anymore and an explicit
     gst_caps_make_writable() needs to be performed. This was the functionality
@@ -53,6 +73,21 @@ The 0.11 porting guide
     A similar change was done for gst_pad_peer_get_caps() and
     gst_pad_peer_get_caps_reffed()
 
+    gst_pad_set_bufferalloc_function(), gst_pad_alloc_buffer() and
+    gst_pad_alloc_buffer_and_set_caps() are removed. Use the ALLOCATION query
+    now to obtain a reference to a bufferpool object that can be used to
+    allocate buffers.
+
+    removed sched_private, it should not be used, use g_object_set_qdata() or
+    use element_private.
+
+    Removed GST_PAD_CAPS() use gst_pad_get_current_caps() to get a handle to the
+    currently configured caps.
+
+    GstPadGetCapsFunction, gst_pad_get_caps(), gst_pad_peer_get_caps(),
+    gst_pad_proxy_getcaps() now takes a GstCaps* parameter to inform
+    the other side about the possible caps and preferences.
+
 * GstMiniObject
     A miniobject is now a simple refcounted structure holding the information
     common to buffers, events, messages, queries and caps.
@@ -122,6 +157,10 @@ The 0.11 porting guide
     gst_buffer_try_new_and_alloc() is replaced with gst_buffer_new_and_alloc(),
     which now returns NULL when memory allocation fails.
 
+    GST_BUFFER_CAPS() is gone, caps are not set on buffers anymore but are set
+    on the pads where the buffer is pushed on. Likewise GST_BUFFER_COPY_CAPS is
+    not needed anymore. gst_buffer_get/set_caps() are gone too.
+
 * GstBufferList
     The GstBufferList object is much simplified because most of the
     functionality in the groups is now part of the GstMemory in buffers.
@@ -135,18 +174,39 @@ The 0.11 porting guide
     GstBuffer and use the normal buffer API to get and merge the groups.
 
 * GstEvent
+    GST_EVENT_SRC is removed. Don't use this anymore.
+
+    gst_event_new_new_segment_full() -> gst_event_new_new_segment()
+    gst_event_parse_new_segment_full() -> gst_event_parse_new_segment()
+
+    gst_event_new_qos_full() -> gst_event_new_qos()
+    gst_event_parse_qos_full() -> gst_event_parse_qos()
+
+    The GstStructure is removed from the public API, use the getters to get
+    a handle to a GstStructure.
+
 * GstQuery
     Boxed types derived from GstMiniObject.
 
+    The GstStructure is removed from the public API, use the getters to get
+    a handle to a GstStructure.
+
 * GstBufferList
     Is now a boxed type derived from GstMiniObject.
 
 * GstMessage
     Is now a boxed type derived from GstMiniObject
 
+    The GstStructure is removed from the public API, use the getters to get
+    a handle to a GstStructure.
+
 * GstCaps
     Is now a boxed type derived from GstMiniObject. 
 
+* GstSegment
+    abs_rate was removed from the public fields, it can be trivially calculated
+    from the rate field.
+
 * GstTypeFind
     gst_type_find_peek() returns a const guin8 * now.