The ‘Name’ contains the edited name by the administrator, I suggest you use the StreamReferenceId, and lookup where it matches the id in the StreamReferenceIdValues - and pick the name from there.
As for the FPS key, I do not see same issue - what version of the VideoOS.Platform.dll are you using in your solution? (From what MIPSDK install?)
You need to use the ReferenceId, to get from the selected live stream to the defined stream. Insert these lines instead of just picking the strStreamSel:
if (streamChild.LiveDefault == true)
{
String strStreamSel = "";
foreach (var st in streamChild.StreamReferenceIdValues)
{
if (st.Value == streamChild.StreamReferenceId)
{
strStreamSel = st.Key;
break;
}
}
Also, be aware that the FPS match you perform will NOT always work, as some camera definitions has keys like: stream:0.0.0/ZFpsMode/…guid… and the value is ‘fixed’ for this property