gst/gstpad.c: Remove handling of filtered caps. Fix/merge functions that handle...
[platform/upstream/gstreamer.git] / docs / random / ds / element-checklist
1
2 This is a list of things to check in elements.
3
4
5
6 1. Add a "Element-Checklist-Version: 1" comment
7
8 This comment is to indicate which items on this checklist have been
9 checked, so that future checkers can skip things that you've already
10 carefully checked.  This number should obviously be updated whenever
11 you do additional checks.  Ideally, you should not do checks out of
12 order, but using "1, also 4-6" is acceptable.
13
14
15 2. Each pad should have a pad template
16
17 Create and register a pad template to the element class.
18
19
20 3. config.h
21
22 Make sure that each .c file includes config.h (conditionally on
23 HAVE_CONFIG_H).  Make sure that each .h file does _not_ include
24 config.h.
25
26 4. src event handling
27
28 Every element having multiple sink pads or having a specific need to handle
29 src events in a different manner than the default event handler should do that 
30 correctly. Correctly means that :
31
32 - It should not leak the event if it is handled (gst_event_unref)
33 - It should call return gst_pad_event_default (pad, event) for all non handled 
34 localy events. Otherwise it breaks navigation, seeking, etc...
35 - it should return a TRUE/FALSE boolean if the localy handled event was handled.
36
37
38
39
40 other ideas:
41
42 - plugins should avoid using gst_caps_to_string() in debug statement.
43   They should use %"GST_PTR_FORMAT" instead.  Check all usage for leaks.