[mythtv] Major commflag problems with current CVS

Chris Pinkham cpinkham at bc2va.org
Tue Jun 22 22:04:37 EDT 2004


> Yes, sorry, I think we have had this discussion before.  On a seperate
> note, I actually tried to USE the commercial flagger for the first
> time the other day (note that I am running CVS from just before 0.15
> release), and I noticed that it only seems possible to have
> autoflaging on or off.  You can't decide to flag just a single program

> button in the watch-recording menu.  I suppose I should upgrade to the
> latest CVS and debug, But I thought I'd check if there was something
> more fundamental that would prevent doing what I want.

Yeah, current CVS has an option on the Watch Recording's menu to start/stop
flagging in an individual recording basis.  So you can stop one flagging
if you want or you can flag just one program if you leave auto-flag turned
off.  This is part of the code that I was talking about that I said needed
to be done whether I tried to merge the commflagging stuff in with the
transcoding queue or not.  The commercial flagging used to fire off
the thread itself.  Now, wherever flagging needs to be started or stopped,
an event is sent.  That makes it easier to setup a consolidated queue later
on because it's just a matter of changing where the events are received.
There will be less code to touch later since I already have all the places
sending the proper start/stop events.

I did some perusing of mythbackend's transcoder.cpp the other day and
am wondering if it makes sense to try to put the commflagging stuff in
there or to setup a new queueing mechanism.  I'm thinking this common
queue could run built-in things like commercial flagging and transcoding,
but could also be configured to run external commands at some point.

So I could have a bitmask setting for actions that could be performed on a
file after it finished recording.  The bottom 8 or 16 bits could be for
hardcoded features like commercial flagging, transcoding, etc.. and later
on the upper bits could be customizeable by the user.

	0x0001 = commercial flagging
	0x0002 = transcoding (internal)

	0x0100 = User Defined Action #1
	0x0200 = User Defined Action #2
	0x0400 = User Defined Action #3
	0x0800 = User Defined Action #4

This could be per-scheduled recording or global or based upon other things
like the profile (for transcoding).  This could give users the ability to
do something like automatically run nuvexport on every episode of CSI
that they record, automatically archive recordings, or anything else they
wrote a custom script to do.

Anyway, only ideas, nothing I'm ready to tackle just yet, just things
floating around in my head sometimes.  That's part of the reason I didn't
try to merge in commflagging into the transcoding queue because I think
we could design it to be a whole lot more powerful.  One of the things I
added with the commercial flagging was the ability to run flagging on
another host other than the one that made the original recording.  That
was easy once I setup the start/stop events.

-- 

Chris



More information about the mythtv-dev mailing list