On Fri, Feb 26, 2010 at 12:01 AM, Chris Adams <span dir="ltr"><<a href="mailto:rocket@extremelan.net">rocket@extremelan.net</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">>> I think a lot of the conceptual difficulty that some of us have is this:<br>
>> all preselected recordings represent *scheduled* events, whereas by it's<br>
>> nature, LiveTV is an *unscheduled* event. I would even go so far as to say<br>
>> unschedule-able.<br>
>><br>
>> However, your point above, may be solved in a straightforward (note: does<br>
>> not say simple) way, that is, whenever a channel change is made in LiveTV<br>
>> why not force a reschedule? That would enable the scheduler to take notice<br>
>> of the fact that resource availability has changed, and allocate resources<br>
>> required for forthcoming recordings according to latest availability.<br>
>><br>
>> I note this would /not/ be optimal for your average channel-surfer,<br>
>> because you'd trigger a reschedule every few seconds. Perhaps a timer which<br>
>> delays a reschedule for perhaps 1 minute would suffice to ensure that the<br>
>> user was actually watching the channel. i.e.<br>
>><br>
>> LiveTV channel change --> start 1 minute timer<br>
>> Timer completes --> Force reschedule<br>
>><br>
>> --<br>
>><br>
>> Mike Perkins<br>
><br>
> Well my concern with the approach you suggest above is that even with the<br>
> 'delay' you might end up with some kind of 'race condition' fairly easily.<br>
> But I do agree something needs to be done to keep the LiveTV & scheduler out<br>
> of each others 'hair'.<br>
> Andrew<br>
<br>
</div>LiveTV could be set up to take up any "gaps" the scheduler leaves -<br>
but never interfere with its operation.<br>
In this pie-in-the-sky scenario:<br>
<br>
- LiveTV always chooses "the optimal tuner": this is whichever tuner<br>
will allow the desired channel to remain tuned longest.<br>
- Each time the LiveTV user changes channel a new "optimal tuner" is chosen.<br>
- LiveTV doesn't use the virtual tuners - they are only for the<br>
scheduler. LiveTV would use something else such as a dynamically<br>
created virtual tuner.<br>
- If you're watching LiveTV and the scheduler wants your tuner, LiveTV<br>
code searches for another optimal tuner then tries to make a seamless<br>
switch. If done REALLY well the user (and the ringbuffer) wouldn't<br>
even notice...<br>
- If no switch can be made, bring up the existing dialog and let the<br>
user decide what to do!<br>
<br>
This reduces interaction by setting a hierarchy: scheduler eats first<br>
(since it deals with predictable events) and LiveTV(s) get whatever's<br>
left.. plus the scheduler code stays as it is today.<br>
<br>
No promises but I'll look into making a patch out of this.</blockquote><div><br></div><div>That approach sounds like a worthwhile exploration for sure. But our preference would still be for a harmonisation of the tuner management for both LiveTV and the scheduler... and since we're part way down that road here I'd like to finish our current work and see whether we can get a working patch.</div>
<div><br></div><div>Andrew</div></div><br><br clear="all"><br><br>