[mythtv-commits] mythtv/master commit: ca0419d89 by Daniel Thor Kristjansson (daniel-kristjansson)

MythTV noreply at mythtv.org
Mon Dec 12 23:01:46 UTC 2011


      Author:  Daniel Thor Kristjansson <danielk at cuymedia.net>
 Change Date:  2011-12-12T15:01:05-08:00
   Push Date:  2011/12/12 15:01:17 -0800
  Repository:  mythtv
      Branch:  master
New Revision:  ca0419d8969b97bba80c590e5fed02f7c1d948c8
   Changeset:  https://github.com/MythTV/mythtv/commit/ca0419d89

Log:

Adds recording quality tracking to DTV recorders.

This ads a recording gap list to RecorderBase to track gaps in the recording.

DTVRecorder updates this with any gaps in video dts values over one second in
duration or if it can't extract the dts then gap in pts values then a gap
is two seconds or greater in duration. In addition we count transport stream
continuity errors and if these are greater than 1% or 0.1% we apply a 40%
and 20% derating on the quality metric respectively.

The NuppelVideoRecorder could update the recording gap list, but would need to
use some other means to detect and measure the length of gaps. For now we just
assume there are no gaps in these recordings.

Once the recording completes we look at the gaps and score them, giving higher
priority to gaps near the start and end of the recording, on the assumption
that these are more information rich, i.e. "Who shot JR?"

If the score doesn't meet a quality threshold the recording is flagged as a
damaged recording and MythTV will try to re-record it when it re-airs.

Note: There are a few thresholds that may need additional tuning, only one
of which is DB tunable, "MinimumRecordingQuality". I'd appreciate
"mythbackend -v record" logs if you see any good recordings marked as bad
or bad recordings marked as good. So I can suggest new values for this
threshold or try other tweaks to the grading algorithm.

Added:

   mythtv/libs/libmythtv/recordingquality.cpp
   mythtv/libs/libmythtv/recordingquality.h

Modified:

   mythtv/libs/libmythtv/NuppelVideoRecorder.cpp
   mythtv/libs/libmythtv/asirecorder.cpp
   mythtv/libs/libmythtv/cetonrecorder.cpp
   mythtv/libs/libmythtv/dtvrecorder.cpp
   mythtv/libs/libmythtv/dtvrecorder.h
   mythtv/libs/libmythtv/dvbrecorder.cpp
   mythtv/libs/libmythtv/firewirerecorder.cpp
   mythtv/libs/libmythtv/hdhrrecorder.cpp
   mythtv/libs/libmythtv/importrecorder.cpp
   mythtv/libs/libmythtv/libmythtv.pro
   mythtv/libs/libmythtv/mpegrecorder.cpp
   mythtv/libs/libmythtv/recorderbase.cpp
   mythtv/libs/libmythtv/recorderbase.h
   mythtv/libs/libmythtv/tv_rec.cpp
   mythtv/libs/libmythtv/tv_rec.h



More information about the mythtv-commits mailing list