[mythtv-commits] mythtv commits
mythtv at cvs.mythtv.org
mythtv at cvs.mythtv.org
Sat Jun 4 02:50:02 UTC 2005
----------------------------------------------------------------------------
Changes committed by cpinkham on Sat Jun 4 02:46:30 2005
Added Files:
in mythtv/programs/mythcommflag:
ClassicCommDetector.cpp ClassicCommDetector.h
CommDetectorBase.cpp CommDetectorBase.h
CommDetectorFactory.cpp CommDetectorFactory.h
CustomEventRelayer.h SlotRelayer.h
Modified Files:
in mythtv/libs/libmyth:
exitcodes.h
in mythtv/libs/libmythtv:
NuppelVideoPlayer.cpp NuppelVideoPlayer.h
NuppelVideoRecorder.cpp NuppelVideoRecorder.h dtvrecorder.cpp
dtvrecorder.h libmythtv.pro mpegrecorder.cpp mpegrecorder.h
programinfo.cpp programinfo.h recorderbase.h tv_play.cpp
tv_play.h tv_rec.cpp
in mythtv/programs/mythcommflag:
.cvsignore main.cpp mythcommflag.pro
in mythtv/programs/mythfrontend:
globalsettings.cpp
Removed Files:
in mythtv/libs/libmythtv:
commercial_skip.cpp commercial_skip.h
Log Message:
The "if this won't put you over your email inbox quota for the day, then
nothing will" commit log message....
* This is a large Commercial Detection re-organization patch by Lucas Meijer
with a little cleanup and minor modifications by me (Chris Pinkham).
The comments here are mine so don't fault him for my wordiness or typos. :)
Even though the patch is large, no big new Commercial Detection
functionality is being added, this is mainly a re-org and cleanup of code.
The main purposes are to move the Commmercial Flagger code out of libmythtv
into mythtv/programs/mythcommflag and to make it easier to add and test
new commercial detection methods. The commercial detection results from
this code should be the same as from prior code, no enhancement or
degredation should be experienced.
- Added files/classes:
- ClassicCommDetector.(cpp|h). This is the main guts of the current
(aka original) commercial detection code previously located in
mythtv/libs/libmythtv/commercial_skip.(cpp|h).
- CommDetectorBase.(cpp|h). This is a base commercial detector
class which is now inherited by ClassicCommDetector.
- CommDirectorFactory.(cpp|h). This is a wrapper for the
ClassicCommDetector and any new detectors that are added/tested.
mythcommflag now instantiates a commercial detector via the
CommDirectorFactory.
- CustomEventRelayer.h. A simple class for relaying QCustomEvent events
to a function pointer.
- SlotRelayer.h. A simple class for relaying a Qt slot to a function
pointer.
- Removed files/classes:
- commercial_skip.(cpp|h) containing CommDetect class. This
code and functionality has been moved to ClassicCommDetector.(cpp|h).
- Minor feature additions:
- mythcommflag now sends out a COMMFLAG_START event when it starts
flagging a recording.
- players send out a COMMFLAG_REQUEST event when the user starts playing
a recording.
- If the player receives a COMMFLAG_START event for the recording being
played, the player sends out a COMMFLAG_REQUEST event.
- If mythcommflag receives a COMMFLAG_REQUEST event for the recording
being flagged, it will recalculate the commercial skip list and send
out a COMMFLAG_UPDATE event.
- mythcommflag no longer sends out COMMFLAG_UPDATE events unless it has
previously received a COMMFLAG_REQUEST event indicating that someone
is playing back the recording currently being flagged. This should
cut down on uncessary messages being sent out from the flagger.
- logic changed in ClassicCommDetector to check contents of new
commercial break list versus the commercial break list last sent
rather than just checking the size of the two maps and (falsely)
assuming they were equal in contents if they were equal in size.
- Code additions/changes in NuppelVideoPlayer:
- Added NuppelVideoPlayer::GetRawVideoFrame() to return a VideoFrame*
for a specified frameNumber or by default the next frame in the
recording if no frameNumber is given.
- Made NVP::InitVideo() public.
- Other major items affected by the code cleanup:
- The old record-time detection of blank frames for people using software
encoding has been removed. The new ~realtime flagging using the ALL
method can do a much better job and still can occur at record-time.
- The old playback-time commercial detection code in NuppelVideoPlayer
which would use blank frames to try to do realtime detection during
playback has been removed as well. This code hasn't been maintained
at all for a very long time and didn't work very well anyway. With
the new ~realtime commercial detection, this playback-time detection
is obsolete.
- Quite a bit of cleanup in mythcommflag to get rid of a bunch of old
code that was in there for testing but is either no longer necessary
or is replaced by new testing features.
- To help in testing the re-org, the following new command line args were
added to mythcommflag:
--onlydumpdb - causes mythcommflag to not flag, but to read the
commercial break liast from the DB and display
--outputfile FILENAME - causes mythcommflag to print --onlydumpdb and/or
normal flagging results to FILENAME
--dontwritetodb - causes mythcommflag to skip writing flagging
results to the database. results can still be
displayed out output to a file using --outputfile
--allstart DATE
--allend DATE - these two settings control the start and end
times for the query used to select programs to
flag. start defaults to Jan 1, 1970, end defaults
to the current time. These aren't necessary but
can be used for instance to reflag all recordings
made over the past week. DATE format is the same
as the --starttime option. YYYYMMDDHHMMSS
----------------------------------------------------------------------------
More information about the mythtv-commits
mailing list