Gagravarr / VorbisJava

A library for working with Ogg Vorbis files
Apache License 2.0
126 stars 26 forks source link

Add further opus info fields. #10

Closed andrm closed 9 years ago

andrm commented 9 years ago

More information about Opus streams implemented. I know it's quite a lot of changes, but hopefully you can review it and incorporate them into VorbisJava. Comments, hints, bug reports welcome!

I pretty much did what info_opus.c in the opus-tools-0.1.9 does. Multiple opus streams are not supported right now.

I changed OggFile/OggPacketReader so it can be reset to the position before the info extraction. OpusInfo needs to read the entire stream for its work.

The frame check is removed in this pull request.

Gagravarr commented 9 years ago

Few bits:

Given the stream reset issue, maybe the answer is to have another class / method to cover the functionality of updateInfoFromStream, then have the new OpusInfoTool call out to that. That way, people wanting other functionality don't have to worry about the mark/reset while this info is calculated, since they won't calculate it, but people who do want it (eg OpusInfoTool) can call to it?

andrm commented 9 years ago

I agree with all your points. I'll try to rework the patch/pull request.