This orders existing files into a new directory structure, to
group related elements together. The Xcode project is adapted
as well and reflects the same structure under macosx.
All includes include the subfolders now and are reordered and
cleaned up. Existing structure and alphabetic ordering shall be
kept.
The previous solution caused different problems. Therefore,
add this as a workaround to deinitialize InputManager, even if
the object still has strong references and therefore cannot be
destroyed yet.
The comment explains some problems, which look like not easily
fixable for the 3.0 branch.
close#19704
NoDisplay power assertion needs to be hold also in case input item
changed. This will prevent audio loss in case input item changed.
Assertions are only released if playback was finised and no new
item is playing.
closes#16924
For certain demuxers like mkv, that event is triggered with
very high rates (>= 100 events per second), which is not needed
to update our second-based controls.
By rate limiting in this patch, total CPU reduction from 30 to
15 % can be observed.
The current playlist model directly operates on the core playlist
datastructures without proper locking for a complete playlist table
reload/update. This resulted in various ugly hacks and workarounds.
The new playlist model encapsulates the data in own objects like
in the qt interface. This allows a much easier integration with
the table view and proper updates from the core playlist.
This way, the previous playlist objects, stored in an ugly map with
pointer strings as keys, pointing to the same pointer inside a
NSValue, is obsolete finally. :-)