
This is a list of things to check in elements.



1. Add a "Element-Checklist-Version: 1" comment

This comment is to indicate which items on this checklist have been
checked, so that future checkers can skip things that you've already
carefully checked.  This number should obviously be updated whenever
you do additional checks.  Ideally, you should not do checks out of
order, but using "1, also 4-6" is acceptable.


2. Each pad should have a pad template

Create and register a pad template to the element class.


3. config.h

Make sure that each .c file includes config.h (conditionally on
HAVE_CONFIG_H).  Make sure that each .h file does _not_ include
config.h.

4. src event handling

Every element having multiple sink pads or having a specific need to handle
src events in a different manner than the default event handler should do that 
correctly. Correctly means that :

- It should not leak the event if it is handled (gst_event_unref)
- It should call return gst_pad_event_default (pad, event) for all non handled 
localy events. Otherwise it breaks navigation, seeking, etc...
- it should return a TRUE/FALSE boolean if the localy handled event was handled.




other ideas:

- plugins should avoid using gst_caps_to_string() in debug statement.
  They should use %"GST_PTR_FORMAT" instead.  Check all usage for leaks.
