Media Player cannot handle multiple command requests within the same frame

The Media Player for WMV files is unable to handle multiple command requests (seek, play, rewind, etc) within the same frame. An incoming request is placed into what amounts to a single slot queue with additional request essentially being ignored. Additionally the processing of requests occurs in another thread at some time in the future and (based on my tests) is very rarely processed by the next frame. So, for example, if you need to seek to some new position and pause then the seek will get processed but the pause will not. Attempting to place some delay (for me about 0.5s was required) between requests will allow the individual requests to be processed - of course this requires a fairly complex blueprint state machine to handle even basic sequential requests.

Your observations are correct.

On Windows we currently use the Windows Media Foundation API, which is, unfortunately, rather limited and somewhat poorly designed in that it requires an external state machine. This is mainly because the framework does not allow certain state transitions. For example, in order to reverse playback, one first has to stop playback, etc.

The current implementation of our WmfMedia plug-in follows the reference implementation from MSDN, which uses a single slot queue. Even with this simplification, the state machine has already become extremely complicated. The implementation of a more flexible state machine is on the to-do list, but I was actually hoping to replace WMF altogether with a cross-platform framework that does not have these limitations. Unfortunately, that, too, turned out to be quite challenging as cross-platform, open source, easy to integrate and use video playback without licensing and patent restrictions is apparently still an unsolved problem in the year 2015.

I’m open for suggestions :slight_smile:

Thanks for your response! I was mainly reporting for archival purposes.

since you are open for suggestions, I would put your best guys on this immediately this functionality is highly in demand we need a very flexible video rendering framework please I promise you if you can make this a priority I can make epic a lot of money my team does not want to move over unity.

How much money are we talking?