1. Is it OK to expose URLProtocol as public API for user to implement custom protocol more than custom IO? 2. Is it OK to add (void *opaque) field to URLContext to represent AVFormatContext.opaque?