this allows to apply features that were previously implemented for single codecs (like RTP packet resizing), to any codec, and simplifies future development.