forked from MonoGame/MonoGame
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Native AudioDecoder and VideoDecoder (MonoGame#8510)
This is a follow-up to MonoGame#8309 and part of the work on MonoGame#8194. This implements two new native APIs `AudioDecoder` and `VideoDecoder`. These native APIs live under the `Video` and `Song` classes. The design aims to let the native code handle the work of detecting the media format, selecting the correct decoder, process the media data, and return frames to C#. With `AudioDecoder` this means C# keeps a thread and pumps signed 16bit PCM data to a native `Voice`. With `VideoDecoder` a C# thread gathers `Texture`s and calls an `AudioDecoder` to process audio. There is no public implementation of audio or video decoders yet. The only implementation currently is for a native audio format of Nintendo Switch. The video decoder is totally experimental and untested, but i think it will generally work. I expect it be a good project for someone or should be made into bounties for different audio/video codecs. As always feedback is welcome!
- Loading branch information
1 parent
baac0a9
commit 5e918e9
Showing
18 changed files
with
664 additions
and
410 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.