1
0
Fork 0
mirror of https://github.com/albfan/miraclecast.git synced 2025-03-09 23:38:56 +00:00
Commit graph

39 commits

Author SHA1 Message Date
albfan
412ce067b6 Use resolution provided to resize viewer 2016-07-23 19:15:38 +02:00
albfan
1e69dd6dae UIBC support
Basic support for UIBC (single mouse events and key events)

 - Option --uibc on miracle-sinkctl to enable it
 - Option --log-journal-level to see player execution on journalctl
 - Controller for uibc miracle-uibcctl
 - Player based on PyGtk to receive and communicate mouse and keyevents

closes #57
2016-07-02 15:47:15 +02:00
albfan
4637409d0b relay on PATH to find executables 2016-07-02 15:22:13 +02:00
albfan
c94be167c8 open UIBC connection
relates to #57
2016-04-02 13:15:38 +02:00
albfan
117ed2071b Parse text log level
closes #42
2015-08-30 14:53:12 +02:00
albfan
b0f985069c change callback interface
resolves #30
2015-07-04 05:06:26 +02:00
albfan
8484a126be fix cmake compilation
closes #7
2015-04-11 23:11:52 +02:00
albfan
640f731d44 Merge branch 'agusakov' 2015-03-30 13:40:52 +02:00
Andrey Gusakov
1a86754573 Show timeout error
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
c1b476146c RTSP: reply with only requested parameters
Some peers (like Nexus 5 and Nexus 7) send empty GET_PARAMETER
request during streaming. Seems it just some kind of ping. Do not
include unnecessary information in reply.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
62460a9e89 RTSP: parse SET_PARAMETER resolution
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
c6334a7509 Allow to set resolution mask from command line
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
9be88e46bf Add WFD defines and helpers
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
0d54cd4e0b Separate go_neg_request and provision_discovery
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
16d90afcd2 Remove unnecessary close body and close head
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:37 +02:00
albfan
cda6da3144 Allow virtual path on cmake
Remove fixed paths on CMake whom broke virtual path compilation

Relates to #7 but still not resolve it.
2015-03-22 11:25:19 +01:00
albfan
2e933497ff cmake configuration 2015-03-13 07:54:19 +01:00
albfan
f884dd858c split monolithic Makefile.am to follow autotools standards 2015-03-08 22:16:57 +01:00
Alberto Fanjul
931cbea770 include stdio.h 2014-09-09 12:16:12 +02:00
Andrey Gusakov
5fc9133a60 sink: fix session ID extraction
Devices sometimes report sessions followed by ";timeout=..". Cut this off.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-09-03 08:44:40 +02:00
Andrey Gusakov
e81f5e2833 sink: use RTSP_CODE_OK
Avoid magic numbers when creating rtsp responses, use RTSP_CODE_*
constants instead.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-09-03 08:11:53 +02:00
Andrey Gusakov
dbf3972619 sink: add arguments to enable/disable audio and scaling
Forward the --audio and --scale arguments to our gst-spawn helper and
parse them via bash for now.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-09-03 08:11:13 +02:00
Andrey Gusakov
e7aa531dca sink: move GST pipeline construction to bash script
The sinkctl tool is currently a hack to make Miracast sinks work. The
embedded gst-launch invocation is kinda ugly to handle. Move it into a
bash-script so we can experiment a bit more with different pipelines.
Ultimatively, the goal is obviously to make this work as its own gst
element.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-09-03 08:11:03 +02:00
David Herrmann
b7d04aa20d sink: exit header/body in case rtsp_message_readv() fails
rtsp_message_readv() is a convenience function. If one of the values to be
read fails, it does not restore the previous situation. Therefore, handle
that in sinkctl in case we cannot read a value.

Reported-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-15 15:53:25 +02:00
Thomas Hindoe Paaboel Andersen
f489b45f9a ctl: remove unused variables
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-08 15:15:43 +02:00
Andrey Gusakov
60e2254e9e ctl: save wfd_presentation_URL from M4
M6 M7 messages should use URL from wfd_presentation_URL of M4. Parse it
during set_parameter and use it in further requests instead of a
hard-coded URL.

Signed-off-by: Andrey Gusakov <adnrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-05 13:30:35 +02:00
Andrey Gusakov
40484a022a ctl: divide M6 (SETUP) and M7 (PLAY) stages
In M7 message session ID should be included. Session ID is returned in M6
response. So we should wait for M6 response.

Signed-off-by: Andrey Gusakov <adnrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-05 13:21:02 +02:00
Andrey Gusakov
9196c5c426 wifi: handle P2P_GROUP_FORMATION_FAILURE
Forward group-formation-failure events via dbus so sinkctl can restart
p2p-scans immediately. Unfortunately, the event itself does not contain
any useful information at all. Therefore, we have to track the connection
attempts ourselves.

Signed-off-by: Andrey Gusakov <adnrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-05 13:02:18 +02:00
Andrey Gusakov
2a84a2d868 dbus: use 'int' instead of 'bool' in sd_bus
sd_bus never uses 'bool', and given the weird implicit type promotions, it
is totally right to do so. Make sure we never pass pointers to 'bool' to
va_arg sd_bus functions to avoid overwriting stack space.

Signed-off-by: Andrey Gusakov <adnrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-05 12:37:20 +02:00
Andrey Gusakov
97323d905c dbus: update to systemd API >=213
The libsystemd-bus API changed recently. Update our calls to use the new
API so it compiles with newer systemd versions.

Signed-off-by: Andrey Gusakov <adnrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-05 11:57:56 +02:00
David Herrmann
0f9ca6e7b8 build: adjust to new libsystemd-event API
The individual timer-sources were replaced by a unified timer-source.
Adjust to that.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-09 09:29:39 +02:00
David Herrmann
37c2169c9e ctl: spawn gstreamer on sink-connect
Once we have a source connection to our local sink, spawn gstreamer so the
actual video data is rendered.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-09 09:28:57 +02:00
David Herrmann
4907155317 ctl: add sinkctl
miracle-sinkctl is a very basic Miracast-Sink implementation. It is meant
for debugging and as proof-of-concept.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-08 15:29:46 +02:00
David Herrmann
95866f54f4 ctl: advertise wifi-connected changes after updating props
If we advertise changes in Peer.Connected _before_ updating other props,
they're not available in the callbacks. Delay the notifications after we
parsed all props.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-08 15:23:53 +02:00
David Herrmann
0d5b431367 ctl: make cli_bus and cli_event global
The event-loop might be needed in later ctl additions for timeouts, so
make it global. Same for the bus-logic.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-08 11:35:33 +02:00
David Herrmann
b3f4527444 ctl: suppress unused-result warnings
Use the 'v' variants of cli_vENOMEM() if the result is unused.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-08 11:34:17 +02:00
David Herrmann
78cf818484 ctl: publish objects after parsing properties
Delay object-broadcasts so we first parse properties and then advertise
the objects. Otherwise, the caller will get almost empty objects which are
rather useless.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-04-23 12:30:20 +02:00
David Herrmann
d0a85ac46c ctl: parse wfd-subelements
Parse and show wfd-subelements.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-04-23 12:09:03 +02:00
David Herrmann
6f9ab46448 Add new miracle-wifictl program
The miracle-wifictl program can be used to manage miracle-wifid. It
provides low-level P2P helpers, so the main miraclectl can skip thos.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-19 13:10:30 +01:00