The setup is as follows:
PC ---- (net0) ---- router0 ---- (net1) ---- camera
router0 and the camera are in the same subnet, whereas the PC is in a different one.
router0 acts as the gateway, thus receiving all traffic not intended for the subnet.
Most routers have a simple firewall mechanism that blocks unrequested packets.
This means GVCP will work correctly as all data the camera sends is a
direct response to a packet the PC has sent.
GVSP however will fail. The stream is initialized via GVCP but sends to a port that is unrelated.
The router, not knowing that we want incoming data, blocks these packets as
no outgoing data exists that made the incoming ones appear as wanted.
This is where the patch comes in. What it does is it sends a single packet to the
router with the correct port. This is enough to make the router expect incoming traffic and
let it pass through, thus enabling GVSP. The content of the packet is not relevant.
It just has to be sent to the correct port.
Does that clear up what is going on?