Details
-
Task
-
Resolution: Fixed
-
Not Evaluated
-
None
-
None
Description
Current ffmpeg media player design is based on multithreading and mutex locks. This causes unexpected deadlocks and it's not very flexible and extensible.
The idea is to refactor the ffmpeg part via multithreading and signals/slots system. Mutex lockings should be minimized if possible, performing tasks in a thread tasks loop is preferable.
The task is to propose a new design of ffmpeg playback.
Possible solutions:
- Use an approach similar to the existing one but with threads interactions via signal/slots and QueuedConnection.
- Use QThreadPool where tasks produce new tasks and push the to the pool.
Some prototypes could be proposed as well.