Hi
I have having big problems with my recordings lately (I have analog cable), so I decided to investigate the problem.
There is a bug in the TvCardCollection constructor. It reads the serialized definition of a TV card, but it turns out that this definition is not complete. Two members are missing _isAnalogCable, _defaultCountryCode, so when this was read, the two missing memebers was set to false/0. Causing every recording to record static.
The fix for this is quite easy:
Add the following code to the constructor:
...
SoapFormatter c = new SoapFormatter();
ArrayList cards = (ArrayList)c.Deserialize(r);
int i = 1;
foreach (TVCaptureDevice dev in cards)
{
// Must be done since _isAnalogCable, _defaultCountryCode is not made serializable!
// In future; consider make them serializable and remove this.
dev.ID = i++;
dev.LoadDefinitions();
_tvcards.Add(dev);
}
r.Close();
...
Cheers
Mr Hipp
I have having big problems with my recordings lately (I have analog cable), so I decided to investigate the problem.
There is a bug in the TvCardCollection constructor. It reads the serialized definition of a TV card, but it turns out that this definition is not complete. Two members are missing _isAnalogCable, _defaultCountryCode, so when this was read, the two missing memebers was set to false/0. Causing every recording to record static.
The fix for this is quite easy:
Add the following code to the constructor:
...
SoapFormatter c = new SoapFormatter();
ArrayList cards = (ArrayList)c.Deserialize(r);
int i = 1;
foreach (TVCaptureDevice dev in cards)
{
// Must be done since _isAnalogCable, _defaultCountryCode is not made serializable!
// In future; consider make them serializable and remove this.
dev.ID = i++;
dev.LoadDefinitions();
_tvcards.Add(dev);
}
r.Close();
...
Cheers
Mr Hipp