Fixes playback of some streaming media.

For some HTTP media, ffurl_read returns 0 in the number of bytes read instead of EOF. So exit early otherwise it would loop forever
(cherry picked from commit 2ed284bca5cea3fb4de51eac890d2c56bb9e0e12)
Allow the use of cutlists with --video and --mpeg2
(cherry picked from commit 59f336996dc3fd27129a806fe480a04de6b9aae5)

Refs #11614
DVD PTS discontinuities are now handled by 'flattening' the timecodes of incoming packets. This prevents AVFormatDecoder getting stuck buffering video frames when the timecodes jump backwards.

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
(cherry picked from commit b6c0ec5529d8b921a846c38b5d6afeb06a4d5671)

Refs #11371
MythWeather Environment Canada Parser update

Fixes #11623

Signed-off-by: Stuart Morgan <smorgan@mythtv.org>
(cherry picked from commit 34620185a9a5b832bcc9bb597e3afe0668fbee06)
H264Parser: Fix decoding of SPS

This also tightens up our implementation against the latest H.264 spec.

A BIG thank you to blm-ubunet@slingshot.co.nz for taking the time to read
the spec and compare it to our implementation.

Refs #11435
(cherry picked from commit efdff1ba50c1ad412b4417ffc4a1d0de07b75395)
dtvrecorder: Flush the payload buffer whenever a new payload starts.

We start buffering at the beginning of each payload, and don't write out the
data until we know if this payload has a keyframe.  This is so a new file
(for back to back recordings) would start on a keyframe.

Further, the keyframe offset recorded in the DB, is the offset to the
beginning of the payload with the keyframe.  Or at least it was supposed to
be.  Since we were not actually flushing any data currently in the buffer at
the start of a payload, that offset could be pointing to a completely
different payload!

(cherry picked from commit 09b787346e5de8809b3905e64c1887dd273a860e)
Add support for Miro v6.x. Fix watch video detection.

Signed-off-by: Raymond Wagner <rwagner@mythtv.org>
(cherry picked from commit ad8bfd5439d37dc8a3d9c1cfe1e2db901b8b309f)
Fix Dvr::GetFilteredRecordedList() to return entries when no count is
given.  Previously, if filters were given without a count limit, no
entries would ever be returned.

(cherry picked from commit 712a0c224084298a3a55eb6c658f194917e3138b)