| |
| 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. |