one comment on this: it’s very weird I think that you don’t normally override (@Override) these API methods and not even implementing a normal interface. Looks like these methods are invoked via reflection or something else. The possible methods are all scattered in that API docs you have, and unfortunately they are not documented. I know that this generated javadoc enumerates them, but the tricks are not there at all. Some examples: the method names suggest that they are general (e.g. onConnect) but it takes some research to see that they are only called for RTMP clients.