When connecting an FS camera and running the C++ sample MultiSource, the frame rate of Source0 is always 0fps, while frame rate of Source1 is correct.
This is due to a bug that the original code was trying to read a parameter which JAI cameras don't have:
PvResult lResult = mDevice->GetParameters()->GetIntegerValue( "SourceStreamChannel", lSourceChannel );
Then the value of lSourceChannel is always 0 (default value).
If you are using a Dual sensor FS camera, you should force lSourceChannel=1 at second channel.
And if you are using a Triple sensor FS camera, you should force lSourceChannel=1 at second channel, and lSourceChannel=2 at third channel.
In order to fix this you could replace the line:int64_t lSourceChannel = 0;
with
//returns the last character of the string ('0' from "Source0" and '1' from "Source1")
int64_t lSourceChannel = (static_cast<string>(mSource)).back();
//substract 48 because that is the ASCII value for char 0
lSourceChannel -= 48;
Then all channels should get correct right frame rate.
NOTE:
The versions of the eBUS SDK affected by this bug in the C++ MultiSource sample code are: up to 6.2.8.
0 Comments