AFD: Correctly render data only (MHEG) streams without audio or video

Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
MHEG: Fixes for InteractionChannel streaming from network URI's

This patch includes fixes for:
- Prevent memory leak on stream close
- Improve logging of streams with no content length header
- Add a mutex to prevent concurrent access to QNetworkAccessManager

Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
MHEG: Interaction channel uses SSL certificate from the DSMCC carousel

Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
MHEG: Serialise accesses to the MHEG engine

Fix race conditions in the MHEG engine that can occur when delivering
asynchronous engine events during restart and stream start/stop.

Fix race conditions in the DSM carousel which can result in page loading
timeouts.

Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
MHEG: Support BBC iPLayer on Freeview

Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
MHEG: Rermove an unnecessary mutex lock operation

QueueDSMCCPacket is called by the decoder thread to deliver MHEG data
packets.  If the MHEG engine is in a busy wait then acqiring m_runLock
can stall the decodere and caused dropped frames.

Acquiring the mutex is unnecessary simply to signal the m_engine_wait
condition

Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
MHEG: Avoid an Interaction channel deadlock if data is cached

If a request to NetStream is pending when a 2nd is requested that can be
resolved from the cache then a deadlock occurs if the 1st request
finishes while the cached request is processed.

This patch releases the MHInteractionChannel mutex while the
synchronous request for cached data is processed.

Signed-off-by: Lawrence Rust <lvr@softsystem.co.uk>
Signed-off-by: Stuart Morgan <smorgan@mythtv.org>