Is my program expected to provide the datasource and other parameters to the OggVorbis_File structure before calling ov_open_callbacks? Or are my callback functions expected to maintain state themselves?