Commit Graph

49 Commits

Author SHA1 Message Date
brindosch fa75143dbf
remove kodiVideoChecker (#475) 2017-11-22 00:52:55 +01:00
brindosch 59ec767373 Add SECAM video standard to v4l2 2017-10-04 21:23:45 +02:00
redPanther cb7b5fa588 amlogic: integrate grabbing via ge2d (#469)
* - grabber auto off when not set as active prio
- join aml and fb - on aml platform both grabbers are needed, so they joind in one module and share one prio. user don't the the nasty magic behind
- aml: preparation for direct ge2d access

* just save it, in the middle of ge2d impl

* fix compile issues

* now grabbing works basicly

* add 3d support for ge2d

* next step, we got some video from aml

* switch back to rgba

* cleanup

* code cleanup, remove unused stuff
2017-09-03 13:48:16 +02:00
redPanther 2aa4df92a9 amlogic refactoring (#464)
* - grabber auto off when not set as active prio
- join aml and fb - on aml platform both grabbers are needed, so they joind in one module and share one prio. user don't the the nasty magic behind
- aml: preparation for direct ge2d access

* just save it, in the middle of ge2d impl

* fix compile issues

* now grabbing works basicly

* add 3d support for ge2d

* next step, we got some video from aml

* switch back to rgba

* remove unfinished ge2d stuff

* commit missing changes

* some urgent fixes, needs some beautifying, but it works now

* fixes and refctoring
2017-09-01 08:50:37 +02:00
redPanther 9eff6384cc grabber api and feature unification (#462)
* move setvideomode to common place

* implement more croping and 3d support

* more api unification

* more refactoring

* osx fix

* next step

* add a mock for osx grabber. Now it is possible to test compile on none osx platforms.

* more unifications ...

* remove obsolete includes and grabbers are not dyn allocated. dispmanx needs rework an probaly not work atm

* first version of dispmanx mock. it compiles, but outputs a black image

* now dispmanx mock works!

* activate mocks in travis linux build
prepare dispmanx to rgb image out

* dispmanx now with image rgb output
fix deadlock with w/h -1 in grabber v4l
cleanups

* fix json

* fix some runtime stuff

* Update FramebufferWrapper.cpp

fix missing code

* unify grabframe

* 3d and croping for amlogic

* fix setimage not working

* make use of templates
save some codelines

* save more code lines
2017-08-12 07:55:32 +02:00
redPanther 569e59110e implement set videomode via json api (#457)
* implement set videomode via json api

* refactor grabbers:
- new base class
- move shared code to base class

* fix osx

* rework all cmakelist files with auto file collection. except leddevices (need further restructuring)

* store current video and grabbing mode

* add json stuff

* remove grabbingmode - we do not want to expose it
2017-08-04 23:08:15 +02:00
redPanther 6625a318ac hyperiond desktop integration (#453)
* add deployment

* add correct api key

* fix cmake lists and add heroku app name

* Update .gitmodules

sync modules with upstream

* add possibility to start hyperiond as systray app

* cleanup

* - new command line options: --desktop --service to set desired mode (systray icon / console only)
- auto detect x server - if avail run in gui mode
- on osx always run in gui mode
- use existing icon from webconfig, instead of own icon
- add ability to no gice a config file name. If config not given, default config file will be set (home dir, or hyperiond dir, depending on writable state)

* fix warnings and compile error

* use own icon for systray purpose

* use new logo

* - set application properties
- fix force service mode
2017-08-01 17:29:47 +02:00
redPanther a20e073bbd make v4l signal detection switchable (#415) 2017-03-15 20:33:11 +01:00
redPanther bfb9a08c80 migrate std::string to qstring + add sysinfo via json (#412)
* std::string -> qstring part 1

* more string migration

* more string migration ...

* ...

* more qstring mogrations
add sysinfo via json

* remove unneccessary includes

* integrate sysinfo into webui
2017-03-04 22:17:42 +01:00
redPanther 05ee316c1d remove obsolete kodi code for grabbers (#372) 2017-01-20 23:43:22 +01:00
redPanther d59c94421d Kill "Rainbow lights" when v4l grabber has no signal (#334)
* on v4l screenshot, print out nosignal threshold values

* separate fractional parameters for no signal detection

* fully implement handling for "rainbow grabber"
2016-12-16 19:48:43 +01:00
Paulchen-Panther 6acf68c87e Update X11 Grabber (scaling improvements) (#191)
* Add transform Matrix for scaling

* Add Image scaling by XRender

* Coding Style correction
2016-08-22 11:59:07 +02:00
redPanther 7ee2e7cf8d rework kodi grabbing mode for all grabbers (#169)
* pull out setgrabbing mode from every grabber into parent class

* implement optional kodi check for v4l

* fix typo

* fix dispmanx build
2016-08-12 23:07:32 +02:00
redPanther 050ab11c8e v4l grabber wont crash hyperiond anymore (#168)
* v4l errors won't lead to crash hyperiond (exceptions are catched)
v4l auto device mode with better log messages
createV4l in hyperiond.cpp refactored, now v4l is always available as long as it is compiled in

* change back, code accidently altered

* fix compile of dispmanx grabber
2016-08-12 09:39:41 +02:00
redPanther f1cc82b8c7 enable components at runtime + grabber refactoring (#160)
* implement enable/disable on runtime for:
- smoothing
- kodi
- udplistener
- boblight

* implement enable/disable for forwarder
refactor component

* - implement grabber enable/disable at runtime
- big grabber refactoring. now with common base class for all grabbers

* implement enable/disable at runtime for bb detector

* osx fix

* try to fix cutted travis output for osx build
2016-08-11 07:13:55 +02:00
redPanther 30b9c20611 new frame grabber handling (#137)
* - implement framegrabber type option
- framegrabber autoselect
- integrate x11 grabber in hyperiond

* add doxy

* v4l: select device by name
hyperiond: fix x11 grabber connection to kodichecker
config: tune default prios of boblight and v4l

* make v4l name finding case insensitive
2016-07-24 15:18:34 +02:00
redPanther b49ada956b hyperion won't fail, if v4l2 has invalid device + auto device (#118)
* hyperion won't fail, if v4l2 has invalid device

* add v4l auto select. use "auto" as device name
2016-07-14 23:40:10 +02:00
brindosch 76acff8043 Logging for dispmanx, framebuffer, x11, v4l2, osx (#103)
* dispmanx

* typi

* Framebuffer

* fix attempt

* x11

* osx

* V4L2
2016-07-12 00:53:48 +02:00
XfableX 6327a38582 Added logging to X11Grabber (#71)
* Added logging to X11Grabber

* Added logging to Amlogic grabber.

* Fixed mistake in amlogicgrabber.h

* fixed compile issue

* Trigger

* cleaned up log messages
2016-06-29 16:48:53 +02:00
redPanther 88fbc4dfde refactoring and cleanup (#2)
* make hyperion to singelton.
remove arguments for config and hyperion - both are gettable via Hyperion::getInstance

* refactor hyperiond

* remove qt4 comapt
make zeroconf mandatory
refactor hyperiond

* xbmcchecker is now a singleton

* cleanup in hyperiond
zeroconf switchable between static and shared linking

* fix xbmcchecker
2016-06-17 01:25:40 +02:00
Paulchen-Panther f0dec4cf73 Hyperion X11 KodiCheck (#685)
* Update X11Grabber.h

* Update ProtoConnection.h

* Update ProtoConnectionWrapper.h

* Update ProtoServer.h

* Update X11Grabber.cpp

* Update message.proto

* Update ProtoClientConnection.cpp

* Update ProtoClientConnection.h

* Update ProtoConnection.cpp

* Update ProtoConnectionWrapper.cpp

* Update ProtoServer.cpp

* Update hyperion-x11.cpp

* Update X11Wrapper.cpp

* Update X11Wrapper.h

* Update hyperiond.cpp

* Update ProtoClientConnection.cpp

* Update X11Wrapper.cpp

* Update hyperiond.cpp


Former-commit-id: a572f275b270217cd8ce8cdd91b3eca3037d6472
2016-06-07 23:12:18 +02:00
redPanther 945f3d1c5b big code cleanup. mostly line endings and indentions (#659)
No functional changes - except protobuffer is mandatory and not optional now.

Former-commit-id: 1e6347e708707cc388cdedb8d0352a9f017030b8
2016-05-26 23:44:27 +02:00
Paulchen-Panther 409ef383f3 XRender support for X11 Grabber (#649)
* Update X11Grabber.h

* Update X11Grabber.cpp

* Update CMakeLists.txt

* Update hyperion-x11.cpp

* Update X11Wrapper.cpp

* Update X11Wrapper.h


Former-commit-id: d2f7cb0e22248a0c2963bf53728f2e0d7bb9dee1
2016-05-24 19:55:50 +02:00
Matthias Reichl f584b05de5 dispmanx: fix grabber issues with certain widths and support cropping (#634)
* dispmanx: fix grabber issues with certain widths and support cropping

The dispmanx grabber will produce garbage output if the destination
pitch is not set to a multiple of 64 bytes (16 RGBA pixels).

It can also fail when retrieving only a part of the image
(eg in 3DSBS or TAB mode).

Handle these cases by capturing the full image into a separate
buffer with the pitch set to an appropriate value and manually
handle 3D SBS/TAB left/top half copying.

At this point supporting cropping like in the V4L2 grabber is
rather easy and added as well. This'll help handling overscan
setups (old TVs) and removing (possibly asymmetric) overscan
borders.

Cropping is disabled in video capture mode (when the
DISPMANX_SNAPSHOT_FILL flag is set).

Signed-off-by: Matthias Reichl <hias@horus.com>

* hyperion-dispmanx: add optional crop values and 3D mode options

Signed-off-by: Matthias Reichl <hias@horus.com>

* hyperiond: support cropping on the dispmanx grabber

Honor cropLeft, cropRight, cropTop and cropBottom settings in
the framegrabber section of the conf file to control cropping.

Signed-off-by: Matthias Reichl <hias@horus.com>

Former-commit-id: bbb55f6621b90384e417f37da4f2543d112ef57a
2016-05-18 11:26:25 +02:00
redpanther 014a4288f9 implement osx grabber .... not tested! need testers!
tune usage hints in external grabbers


Former-commit-id: 816821dd773e90b8076e9b50ced9eb052f43c2f4
2016-03-09 11:03:20 +01:00
redpanther e6170ed698 create external framebuffer grabber
cleanup some cmakelist files
fix qt5 build


Former-commit-id: 024b5b6dc5dc96fcb16f6e8958ad3684a6728504
2016-03-09 07:03:17 +01:00
redpanther 0bc725054c make all prios settable and make prios more consistent
Former-commit-id: f1d1c35063e98389d627f3535d2a94da33a22da4
2016-03-08 17:31:56 +01:00
redpanther 8fdf97e693 prepare standalone amlogic grabber
activate internal amlogic grabber forwarding


Former-commit-id: 21dabf759935836eef556baeb8a27e362e95ae96
2016-02-24 14:42:25 +01:00
redpanther 6bef43887b implement dispmanx forwarding a a separate dispmanx wrapper
implement forwarding for amlogic grabber


Former-commit-id: 8a793d24bd083f9eca07c34ec3b222f0e54b4426
2016-02-24 14:34:19 +01:00
redpanther a9e8f0264a implement proto forwarding for osxgrabber and framebuffer. prepare forwarding in amlogic and dispmanx
Former-commit-id: d67fc2b7fe8877e6eadf31a8c76e4a68110c6680
2016-02-17 00:44:06 +01:00
redpanther 629461b944 implement proto forwarding for hyperiond internal v4l2 grabber
cleanup


Former-commit-id: 669f139386633e3435cdc33639134819464afd4d
2016-02-16 15:41:40 +01:00
Paulchen-Panther b9a9c3126f Update X11Grabber.h
Former-commit-id: 895bc985c0e732ec5d8e064068cb6f3e0920d09a
2016-01-21 16:39:52 +01:00
Paulchen-Panther 9156742aaa Update X11Grabber.h
Former-commit-id: 7b3ba3f760ba4b403061642549164ef2e1768b32
2016-01-17 18:00:38 +01:00
T.van der Zwan 5497fbf577 Finished the amlogic grabber for the 'WeTek Play'
Former-commit-id: e459cdfe6273ad2bfee92d2d190801ebdc691a5c
2015-08-20 09:51:44 +02:00
T.van der Zwan 2de173722d Added code for amlogic grabber.
Former-commit-id: fdb9c1c5d8ce02d531d2008057e22f1ae8f7d04e
2015-08-07 14:37:41 +02:00
Gamadril 3fd20ec5fa - refactored framebuffer grabber to use ImageResampler
- added OsxGrabber for OSX
- added binary for imx6 (cubox-i) and updated install script


Former-commit-id: 2c55e292c842c67e54ce36bd91e4f6303b98687a
2015-01-24 23:42:22 +01:00
Gamadril c89e1fcefa Added frame buffer grabber support
Former-commit-id: a73767a1abb2cac977492bd8c6cc593fb21840e1
2015-01-18 00:04:45 +01:00
poljvd 2b6d485ea7 Use ImageResampler in V4L2 grabber
Former-commit-id: c6ec92c17b07444a49a303cdced6f59347f98f76
2014-12-16 21:30:08 +01:00
poljvd e608b11caa Extract ImageResampler from X11Grabber
Former-commit-id: 63e95fa85fc0ef5a66f6eb8b396cf4b6370cf5dd
2014-12-14 14:26:59 +01:00
poljvd d89f504d83 Refactor V4L2 and X11 grabbers to share more code
Former-commit-id: 46176e53d1acf39f9bd0c0ecbb8e5fb5ab4d45be
2014-11-21 21:24:33 +01:00
johan ef6aa76409 V4L2: Fix error with frame size of RGB32
Former-commit-id: ab98c7b87acb7654c40a715ed21c0857c11a30ff
2014-04-14 19:19:47 +02:00
poljvd dd1adc4e90 Merge pull request #73 from lobocobra/patch-1
Fix error in start script


Former-commit-id: 6a02b865c86befa29e970a7465b256cde5335e95
2014-04-11 19:52:33 +02:00
johan 6fafb23a3f Added functionality to disable the embedded v4l2 grabber when a higher priority source is active
Former-commit-id: 4c0403584093a1fac29d16b502773c3ed11a13a9
2014-03-22 15:35:25 +01:00
johan 5e3cb497fa Add support to set the threshold for each RGB channel separately
Former-commit-id: 5edb206bb2657e78f711f67625fd5f6164d8296c
2014-03-04 22:04:15 +01:00
johan 4888294e03 Reduce copying of data
Former-commit-id: 858ca2331d68458acf87359df87cb25fd051fa30
2014-03-04 20:32:54 +01:00
johan 99fd50805c Added image handler to v4l2 grabber to send colors to Hyperion
Former-commit-id: be6fb4dd8080b3325ba6161f48c093f8a145786d
2014-02-23 22:43:02 +01:00
johan e58f84d5c8 Merge branch 'master' into merge_v4l2
Former-commit-id: 97b281cc14b3bc239fc5eab1f66c9d15e67f753f
2014-02-23 21:53:13 +01:00
johan 69d6e47328 Create image callback using Qt signal
Former-commit-id: cf469ba01ffd26d286e6fb8d9f081cf126042e50
2014-02-19 21:52:37 +01:00
johan f0c35071da Move V4L2 grabber code to separate library
Former-commit-id: f3003eb0142af3d085ccf93fff1b297ebc2321fc
2014-02-07 21:11:50 +01:00