9 Commits

Author SHA1 Message Date
Joshua M. Doe
a92281c965 pleora: add support for sending/receiving KLV metadata as chunk data
This attemps to partially implement MISB ST1608.1, "Transport of Motion
Imagery and Metadata over GigE Vision". This relies on GstKLVMeta, which
is currently a merge request 124 for gst-plugins-base. For now we
include it here. Currently all KLVMeta is packed into one chunk, no
special handling of timestamps is done. Testing has only been done
between pleorasink and pleorasrc, no other MISB-compliant stream.
2019-11-25 07:57:04 -05:00
Joshua M. Doe
6084edb3f7 pleorasrc: refactor device/stream opening 2019-11-07 09:17:49 -05:00
Joshua M. Doe
76e67ee5fc pleorasrc: set caps before _create to avoid bad negotiation
Caps must be fixated before _create, otherwise initial caps is
width=1,height=1 which cause some sinks to create incorrect window
sizes.
2019-11-07 09:17:49 -05:00
Joshua M. Doe
88f7a82818 pleorasrc: cache caps if width, height, and pixel type don't change 2019-11-07 09:17:49 -05:00
Joshua M. Doe
19ce118c96 pleorasrc: add config-file and config-file-connect properties
If config-file is set to the filepath of a XML file, such as is
generated by eBUS Player, it will be used to restore configuration
to the device and stream. By default, the device and stream will be
connected using the information from the config-file. Set
config-file-connect=false to connect to the camera using other element
properties, and then apply the configuration changes from the
config-file.
2019-11-07 09:17:49 -05:00
Joshua M. Doe
e4ae64b44b pleorasrc: add packet-size property
Also, if auto-negotiate (packet-size=0) is used (the default), and
negotiation fails, use the safe packet size of 1476 bytes.
2019-11-07 09:17:49 -05:00
Joshua M. Doe
e364cfe4d5 pleorasrc: fix handling of strides that aren't 32-bit aligned
For example, a Mono8 642x482 would have failed to work, as GStreamer
expects the stride to be a multiple of 4-bytes, that is 644 bytes in
this example, while Pleora doesn't do this alignment. This incurs a copy
unfortunately, and there might be a way with memory meta to avoid this,
however eventually most elements will need to have the data 4-byte
aligned.
2019-08-29 14:56:18 -04:00
Joshua M. Doe
c5ee1a5706 pleorasrc: add multicast and receiver-only support 2018-07-10 14:56:08 -04:00
Joshua M. Doe
1bc0829d81 pleorasrc: initial working plugin for Pleora eBUS SDK U3V and GEV cameras 2018-05-21 06:50:57 -04:00