<br><br><div><span class="gmail_quote">On 3/8/07, <b class="gmail_sendername">Joe Harvell</b> <<a href="mailto:jharvell+lists.mythtv-users@dogpad.net">jharvell+lists.mythtv-users@dogpad.net</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I recently filed a bug report (<a href="http://svn.mythtv.org/trac/ticket/3093">http://svn.mythtv.org/trac/ticket/3093</a>)<br>having to do with input connections with no video sources. The bug is<br>that the frontend crashes when you try to access the program guide if
<br>there are no input connections associated to video sources. The<br>response I got was that the frontend should not crash, but instead, the<br>program guide should show nothing. I argue that as long as you have<br>channels defined you should be able to look in the program guide and
<br>make schedules.<br><br>Another problem associated with input connections is that if you have a<br>capture card defined, but none of that specific capture card's input<br>connections is associated with a video source, the backend complains
<br>that init of that card failed. Then later, the backend crashes if you<br>look at "Tuner Status" from "System Status" in mythfrontend. I think<br>this is a big problem when you have a capture card whose inputs are all
<br>temporarily unusable (e.g., disconnected). You have to delete the<br>capture card and restart the backend if you don't want the scheduler to<br>try to use it to make recordings.<br><br>An easy way to address both above problems is to allow input connections
<br>to be put in an "inactive" state. Inactive in this context means that<br>they are not eligible for watching LiveTV or making recordings. This<br>inactive state is what you would put the input connections in when
<br>nothing is connected to them. This can be implemented by adding a<br>boolean column to table cardinput with a default value of TRUE. It<br>should not be allowed to assign active=TRUE and have no video source.<br><br>
Currently, you can't even define an input connection without assigning a<br>video source to it. Table cardinput does not get populated at all if<br>you don't assign a video source. Similarly, rows are deleted from
<br>cardinput if you delete the video source from them. This means the<br>system throws away all the configuration data associated with the input<br>connection if you want to temporarily delete the association to the<br>
video source. This would no longer be necessary if the active/inactive<br>flag were there to tell you whether to use the input connection or not.<br><br>The reason the program guide doesn't show anything if you have no card
<br>inputs with video sources is because the program guide needs to know<br>which channels have video sources. But it shouldn't matter whether they<br>are currently usable (e.g. physically connected) to be able to look at
<br>the listings. If we no longer make input connections existence<br>dependent on their associated video sources, the system has all the data<br>it needs to be able to build the program guide and make schedules.<br><br>
It seems like most of the code that would need to change would be<br>limited to code specifically involved in selecting input connections for<br>Live TV and making recordings.<br><br>I would be willing to implement and test this.
</blockquote><div><br> </div></div>I agree that a user should be able to define a capture card with no video sources on its inputs without the backend crashing. I had this problem while I was trouble shooting my irblaster. I didn't want MythTV to use that capture card for recordings (yet) but I didn't want to have to redefine the card every time I wanted to work on getting the irblaster working.
<br><br>But I have to disagree with your idea that all defined channels should be shown in the listing even if they are not assigned to a card's input. That sounds like a troubleshooting nightmare. Plus why would I want to see a listing for something I can't watch/record?
<br clear="all"><br>-- <br>_____________<br>Ryan Patterson