Quote:
Originally Posted by diehard2 Hi misterd, looks like you've done quite a bit of work. I can shed a bit of light on why it is so slow to build the analog graph sometimes. The problem is with pin connections. It takes forever when a pin connection is rejected (you can see this in graphedit) and is the reason for my special hack with the hauppauge cards. An ideal fix (which I've been too busy to implement) would be to create the graph using the current methods and
1. iterate through the graph and get each filter's CLSID, the order of the filter in the graph, and the pin connections (by name)
2. Store this information in the database (or an xml file)
3. When the tv server is run again, if the card is in the system and nothing has changed, it will check the database, add all of the filters by CLSID, and connect each pin on the correct filter by pin name. This will make the appropriate connections directly instead of using trial and error.
This would be extremely fast. |
Graph building takes here ~1 second. For me this is fast enough, but for sure there are improvements and your idea is really good. My problem is that you need a fallback system when something has changed and than update the db etc.
During my tests I found out that it only takes very long to connect pins, if you try to connect to a pin that is already connected to a different pin. Therefor my modifications just checks at first, if the pin is already connected.
Quote:
Originally Posted by SciDoctor Having just rolled back my tuner drivers to CATS 6.2 which are NSP software only drivers (ie no posibility of a confusion of hardware mpeg) there is a fundimental flaw in the auto graph build of the TVSEREVR whcih probably affects quite a few software cards.
The problem is there may be two or more filters that essentialy do one job and may share jobs between audio and video ;the TVSERVER is only finding the first and ignoring the second before it moves on.
With the ATI cards I have tested the x-bar has two filters (ATI TV audio crosbar and ATI rage theatre video cross bar ) before the capture filter.
The tv audio crossbar handles audio and video, the TV server can't cope with this
When the TVserver tries a filter and fails it doesn't seem to try another filter but closes the graph build . |
The TvServer tries different filters, but only while it tries to add a specific one. There is no retry if there an error occurs somewhere later in the graph building process.
Perhaps I will think about how such a problem could be solved at weekend.
MisterD
Quote:
Originally Posted by BKCH 1. If I have an Hauppauge card (PVR-250MCE) - which is a H/W encoding card - would you expect any benefit??
2. Do you plan to roll this patch into the SVNs?
3. I'd like to test the patch but I'm not sure how to roll back - can you provide any information about how to delete the new table "SoftwareEncoder" in the db?? (I use Microsoft SQL). (sorry for the Noob question!!) |
1. Perhaps the channel switching is also improved here, but I'm not quite sure.
2. Since I'm not a developer of MP, I can't commit the patch into SVN.
3. You have to connect to the db server with the SQL Server Management Studio. Than select the Database "TvLibrary" and delete there the table by right-clicking on the table and selecting "Delete".
But I highly suggest only to try the patch, if you know what you are doing. The reason is quite simple. If the patch will be included sometime in SVN and you haven't deleted the table properly, you'll get an error when you update to this version. Perhaps I will post some delete scripts at weekend when I find some time.
MisterD