MythMusic: Use MythErrorNotification in place of MythNotification

It will be more consistent with other errors. Default time for an error
notification is 10s already.

Fixes #11735.

Signed-off-by: Paul Harrison <pharrison@mythtv.org>
mytharchivehelper: comment out av_estimate_timings() in getFileInfo()

Don't know what has changed but calling that function here is causing a
segfault. Removing it doesn't seem to affect the result at all so just
comment it out for now.
Make the spelling of two strings more consistent with the others.

Thanks to Karl Dietz for reporting this!
Merge branch 'master' of code.mythtv.org:mythtv
mythburn.py: fix ejecting the DVD on some systems and file encoding fixes

Fixes #10535. Refs #4022.

Signed-off-by: Paul Harrison <pharrison@mythtv.org>
Revert "Prevent multiple instances of the same DownloadInfo pointer being added to the cancellation queue"

This reverts commit eb78c7bda7c1859831997a54a3e3eadbb0993dd7.
Revert "Fix MythDownloadManger after 997f7aa10. It was possible for queue and cancel requests to be handled out of order resulting in newly queued downloads being cancelled almost immediately. We avoid this by removing any cancelled downloads  from the download queue to a new cancellation queue, then we clean up the cancelled downloads later without affecting new additions."

This reverts commit 277feb598e975d43c68f4b0a042a3ce6d5fd48bb.
Ensure cancelling a download is done in the same thread it started; take #2

MythDownloadManager::cancelDownload() needs to wait for the cancel to actually occur as some code relies on that behaviour.
This includes the same fix as commit eb78c7bda7c1859831997a54a3e3eadbb0993dd7 "Prevent multiple instances of the same DownloadInfo"

Fixes #11663
Fix potential deadlocks.

when changing channel very quickly, and depending on when a cancel would be called, we could enter various deadlocks.
Do not use QMap::operator[] unless map definitely contains the key

QMap::operator[] would add here a NULL entry in the list of cards which would later cause a null dereference.

Fixes #11279
Fix comment typo
MpegRecorder::StartEncoding: Fix HD-PVR startup with recent kernels

(at least) with the 3.10 kernel, the V4L2_ENC_CMD_START does not reliably start the data flow.  A read() seems to consistently work, though.
MythMusic: re-acquire the pointer to the current MusicMetadata when used

Don't store a pointer to the current MusicMetadata which can become a
stale pointer if for example a playing CD is ejected which removes the
CD tracks from the active playlist. It's much safer to update it each time
it's needed and NULL check the returned pointer.

Refs #11708.
MythMusic: Stop playing if a CD is ejected and we were playing a track from it

Refs #11708.
MythMusic: Don't stop playback when ejecting a CD/DVD drive

Don't assume that all the tracks on the active playlist was removed when we
receive a media changed event for an ejected CD/DVD.

Fixes #11708.
MythMusic: Fix mismatched memory deallocation
Revert "Ensure cancelling a download is done in the same thread it started; take #2"

This reverts commit 229a4267480a59b9a0de02e2d5ad4c9a971b7c9c.
Revert "Revert "Fix MythDownloadManger after 997f7aa10. It was possible for queue and cancel requests to be handled out of order resulting in newly queued downloads being cancelled almost immediately. We avoid this by removing any cancelled downloads  from the download queue to a new cancellation queue, then we clean up the cancelled downloads later without affecting new additions.""

This reverts commit eb3a3382a21c71fd0d1c9ff57aa64480ad03b36a.
Revert "Revert "Prevent multiple instances of the same DownloadInfo pointer being added to the cancellation queue""

This reverts commit e715acc3fbf72c54cea97df27ef7661221fb3dab.
Use a queue to cancel downloads.
cancelDownload can be blocking or not.
Add API to cancel a list of urls.
Hopefully prevent another racing conditions seen with HLS recorder when changing channels quickly.

Fixes #11663