Commit Graph

51 Commits

Author SHA1 Message Date
Tats 557227ac89 Explicitely wrote namespace in file instead of using MM_*_NAMESPACE (related to #278). 2016-11-29 00:21:25 -05:00
Tats 00c4762713 Cleanup and documentation. 2016-11-27 12:42:12 -05:00
Tats 3567e88940 Implemented support for animated GIFs (closes #291, closes #189). 2016-11-26 21:34:15 -05:00
Tats 689231d441 Adjustments in paint icons (make sure they are always square with the right dimensions). 2016-05-13 16:15:49 +00:00
Tats 3a83366164 New feature: Paints that are currently not visible are shown in interface with a red bar on them. 2016-05-13 15:31:18 +00:00
Vasilis Liaskovitis 5d37219833 Refactoring VideoImpl
VideoImpl now creates the backend pipeline (queue->videoconvert->...->appsink)
Separate subclasses build a different frontend of the pipeline depending on the
type of video stream (uri, webcam , shared memory) that attaches to the backend
pipeline.

- VideoUridecodeBin: front-end for video file / uri
- VideoV4l2SrcBin: front-end for webcam (at the moment only works with
  /dev/video*files, tested only on Ubuntu 14.04)
- VideoShmSrcBin: front-end for Shared memory / socket (used to work, currently
  has problems)

Code is still hacky, needs work.
2016-04-26 18:32:03 +02:00
Tats 345643bad1 Fixed: Flickering video images when loading from the commandline (closes #218). 2016-03-17 16:05:03 -04:00
baydam b375367811 Integrate all code inside a namespace 2016-03-16 18:05:47 +00:00
Bay Dam c708fc24e4 Preparing for Windows operating system 2016-03-16 11:08:49 +01:00
Tats ee5133a48a Fixed bug: when reloading video it was badly positioned. 2016-03-05 14:11:56 -05:00
Tats 5c29f54a66 Cosmetic change. 2016-03-04 18:12:51 -05:00
Tats e4ed0e939c Fixed bug introduced with latest changes: movie was not properly reloaded resulting in hanging. 2016-03-04 14:16:51 -05:00
Tats fc0f8f528c Save/load x,y in Texture but not considered a settable property (for example osc should not be able to change it). 2016-03-04 00:08:55 -05:00
Tats e87de3d3e9 Fixed signal/slot loop: on property changes model emits signals that are collected by the MainWindow and sent back to the PaintGui/MappingGui (this fixes OSC changes of model objects). 2016-03-03 22:25:00 -05:00
Tats 8b48b6dc8b Renamed Media* to Video* to avoid confusion. 2016-02-19 18:58:38 -05:00
Tats 21f124684a Cosmetic change. 2016-02-18 23:36:46 -05:00
Tats 1a368a7cd9 Fixed bug: thumbnail had wrong colors due to bad conversion from RGBA to ARGB 2016-02-18 22:45:50 -05:00
Tats c4df418f7b Fixed potential error in return policy of Media::setUri(). 2016-02-17 18:02:03 -05:00
Tats c8074e8e3a Cleanup. 2016-02-17 18:01:39 -05:00
Tats 5600d5a137 Defined constant to control thumbnail generation timeout. 2016-02-17 16:06:02 -05:00
Tats 890e4043bc Cosmetic change. 2016-02-17 16:05:43 -05:00
Tats 8d780aeb61 Use new methods in MediaImpl to appropriately gather a thumbnail for the video. 2016-02-17 15:55:23 -05:00
Tats 34abb070bb Provide default icon from system if problem seeking thumbnail. 2016-02-15 20:05:36 -05:00
Tats 3df0f7a955 Generate thumbnails for videos (closes #178). 2016-02-15 19:49:17 -05:00
Tats e1270cd17a Rate (speed) and volume both reset to be in 0..1 instead of 0..100. 2016-02-12 11:59:37 -05:00
Tats 42de64ff9f Fixed loading of video paints and mappings. 2016-02-12 11:52:20 -05:00
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