Streaming Driver Information¶
Types of Drivers¶
The Teledyne Spinnaker SDK offers three types of stream modes when acquiring images from a GigE camera depending on the platform and available hardware.
By default:
- Windows: Spinnaker streams with the Teledyne GigE Vision Driver stream mode
- Linux and macOS: Spinnaker streams with the Socket stream mode
Alternatively, the Light Weight Filter Driver can be selected on Windows for features such as multistream.
| Stream Mode | Platform |
|---|---|
| Teledyne GigE Vision Driver | Windows |
| Light Weight Filter Driver (LWF) | Windows |
| Socket | Linux / macOS |
Teledyne GigE Vision Stream Mode¶
The Teledyne GigE Vision Filter Driver checks all incoming packets from the network interface card to determine if they contain image data. If so, the packet is forwarded to the GigE Vision driver; otherwise it is passed through to the host.
Note
Teledyne GigE Vision stream mode is only supported starting with Spinnaker SDK 4.0. Users can stream with either the LWF or Teledyne GigE Vision stream mode on Windows, but we recommend the Teledyne GigE Vision Driver for most cases.
Light Weight Filter Driver Stream Mode¶
In this stream mode, images are filtered and processed through the light weight filter driver. On Windows, this mode utilizes the NDIS kernel driver architecture to accelerate performance with a single copy from the network stack to the user memory buffer.
Socket Stream Mode¶
For macOS and Linux users, the socket stream mode is available where images are received and processed through native operating system specific network sockets.
Setting Up Teledyne GigE Vision Stream Mode¶
There is no specific setup required. Spinnaker defaults to using the Teledyne GigE Vision driver. A GenICam GenTL Transport Layer DataStream node is available for GigE data streams to switch between stream modes manually.
Switching Stream Modes¶
CEnumerationPtr streamMode = camera->GetTLStreamNodeMap().GetNode("StreamMode");
// Select LWF Stream Mode
streamMode->SetIntValue(streamMode->GetEntryByName("LWF")->GetValue());
// Select Teledyne GigE Vision Stream Mode
streamMode->SetIntValue(streamMode->GetEntryByName("TeledyneGigEVision")->GetValue());
// Select Socket Stream Mode
streamMode->SetIntValue(streamMode->GetEntryByName("Socket")->GetValue());
In SpinView, navigate to the features tab, expand "Stream Parameters" and "Stream Information", then click on the drop-down menu for "StreamMode" to select the available modes.