PLEASE FIX: @erichpleny OO Design Issue on MediaSource keeps breaking the app. Too hard too maintain.
[fix] MediaSource: fixes to make a better design for display text fields.  derived classes will initialize the two strings in their constructors.
Refactor on TbCm to make demuxMP4Audio reusable for mp4 file paths
New Feature: Extract Audio (from MP4 video), gotta fix a UI Threading violaiton exception and it's done. Meat of the feature is in. One more refactor on TbCm.demuxMP4Audio for when the given file path ends with .mp4
implemented with SwingWorker and UI refreshed on right thread. A full refresh of the library cache is too slow, I'll try adding the new objects to the audio table model next.
Parametrized the deletion of the MP4 video after demuxing. Lost a bunch of videos testing :)
More on demuxing mp4 action. avoids double execution while it's already demuxing a selection. Still some issues
Extract audio works as expected (except with really long files, I think we left some sort of memory protection we left for huge files not to be demuxed?)
Merge branch '5.5.3' of https://github.com/frostwire/frostwire-desktop into 5.5.3
merge