Commit Graph

25 Commits

Author SHA1 Message Date
Tats 8ec9192f69 Common parent class Element for Paint and Mapping, with appropriate QProperties. 2016-01-21 16:18:59 -05:00
Tats 99b19dfcc6 First step in refactoring: brought both Paint and Mapping under the common umbrella class Element and implemented basic QProperties. 2016-01-04 00:19:34 -06:00
Tats 978b4ae7ae Added paint opacity. 2015-07-11 12:52:07 -06:00
Vasilis Liaskovitis d1f63b8501 Fix issue #114: Audio playback of the video files played
We now create an audio pipeline with a volume gstreamer element. The "volume"
property of the element has a range of 0.0 - 1.0 and is 0.0 by default (i.e.
effectively muted input). The property can be seen and changed in the paint
property browser (in %)
2015-02-09 21:49:44 +01:00
Tats 818d985ad1 Uniformize rate to be in % (except in MediaImpl). 2014-10-21 19:33:03 +00:00
Tats c8e0c23858 Allow for live changing of video rate with osc. 2014-10-21 17:47:43 +00:00
Tats db97f6dcf5 Implemented basic control of rate (reverse playback not yet operational so disabled option in the gui). 2014-10-21 16:20:20 +00:00
Tats f9d51e6880 More cleanups and documentation in media related stuff. 2014-10-20 19:10:08 +00:00
Tats 7fe2a1f1a7 Bugfix #30 : Reimplemented MediaImpl removing the defective queue system and implementing a thread-safe system. Removed the memory leaks previously shown by valgrind. 2014-10-20 17:00:22 +00:00
Vasilis Liaskovitis f3e94f743c Support shmsrc (live source)
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>
2014-10-13 16:07:50 +02:00
Tats 4246c5a3b4 Bugfix: video size was not properly set for many videos. 2014-09-16 20:54:40 -04:00
Tats bbc0eeb6ae Added option to import image files using QImage 2014-06-26 00:08:46 -04:00
Tats cb0deae5f1 Base implementation of play/pause/rewind (working, still adjustments to do in the GUI) 2014-06-23 16:54:44 -04:00
Tats 32e3175fbc Fixed bug that prevented videos from displaying 2014-05-01 13:39:36 -04:00
Alexandre Quessy 69640f8e32 just more prints 2014-04-30 16:15:46 -04:00
Alexandre Quessy 348ffcb37e Implement OSC callback to set video URI 2014-04-26 19:20:21 +01:00
Tats ca9ba38682 Performance improvement: copy texture bits to video card only if they have changed 2014-04-26 13:32:27 +01:00
Tats 430b0f223a Refactor Video -> Media 2014-04-26 12:22:33 +01:00
Tats ada827de41 Replaced images by videos + implemented hack on update() / runVideo() to quickly test gstreamer (works!) 2014-04-26 00:07:25 +01:00
Tats ed3f476d6b Brutal port of Drone code to try to make video work using gstreamer 0.10 using appsink 2014-04-25 23:38:46 +01:00
Alexandre Quessy 16ce2a449f private declaration of VideoImpl 2014-03-06 15:19:06 -05:00
Alexandre Quessy 93b55cb61a Print GStreamer version 2014-03-05 23:43:39 -05:00
Alexandre Quessy 572ceeadd5 Link to GStreamer 2014-03-05 23:30:30 -05:00
Alexandre Quessy e49a358b45 add empty Video class 2014-03-05 23:04:52 -05:00
Tats dbab46565c Use UID allocators for Paint and Mapping 2014-01-11 18:55:26 -05:00