AVFrame certainly sounds a good solution. For AVData I followed the lead from AVSubtitle as they are quite similar concepts. And AVFrame did really look quite a big struct ;). I'll rework the code to replace AVData with AVFrame. Thanks for review!