If the imported file is a socket path, we mark the media as "live". We
continuously poll for the socket path (in case e.g. it disappears / reappears).
As soon as the source socket patch exists, we connect a shmsrc ! gdpdepay
pipeline (instead of a normal uridecodebin element for file-based media) and we
set the pipeline state to PLAYING (playAction button is not needed at the moment
for live sources, but we can change behaviour to only start the pipeline if
play is selected, like with normal file-based media)
In case of a GST_MESSAGE_ERROR, the polling function keeps looking for the
socket path until it exists again. The existing shmsrc pipeline is re-used
once the live source is transmitting again.
Tested with live source gst-launch-1.0:
gst-launch-1.0 uridecodebin uri=file:////opt/Videos/test.avi ! queue !
videoconvert ! video/x-raw, format="RGBA" ! gdppay ! shmsink
socket-path=/tmp/sock shm-size=100000000
The live source was interrupted and restarted again, and the shmsrc in mapmap is
able to pick up the reappearing media stream.
Signed-off-by: Vasilis Liaskovitis <vliaskov@gmail.com>
When double-clicking a paint QListWidgetItem, the uri of that paint can be
altered.
A new signal is sent to ColorMapper and TextureMapper objects so that they can
update heir color and texture paints respectively. Mappings of the old paint are
transferred to the new paint.
TODO: the active mapping may be lost in some cases, needs some more testing.
Add OSC receiver
add BUGS
fix README
OSC: use QVariantList to send messages to the main window
show text under icons in toolbar
remove deprecated class
detect liblo and make it optional