To that end I added audio decoding support. It only requires a couple of functions and field accessors beyond what you need for video, but they needed some extra native functions to make them work. Mainly with
decode_audio3
as it takes an AVPacket but may not fully consume it and doesn't update it to indicate this, so you really need to make a copy of it and update the copy's pointers based on the decoding results. At least I did it in a way which requires no allocation activity on the Java side during the decoding loop, I just use the wrapping ByteBuffer's to perform a memcpy and have a single native function to update the data pointer and size on the copy.I don't have any immediate need for it, but it was easy enough to add and now the day doesn't feel like a total waste.
I'm slowly working toward a loose idea of 'something' that uses this stuff, although I haven't really pinned down what that 'something' might be exactly. Which leaves the options pretty wide open for now.
No comments:
Post a Comment