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

34 commits

Author SHA1 Message Date
Andrey Alekseenko
be54804768 Remove access to freed memory
If rtsp_unlink_waiting(m) is called and actually destroys m, it's not
safe to pass it to rtsp_unlink_outgoing later.

We make rtsp_unlink_waiting and rtsp_unlink_outgoing return true if they
destroy the message, and in this case we make sure not to try freeing it
again.
2020-09-20 06:38:05 +02:00
Andrey Alekseenko
57d05a1808 Remove double free
The function parser_submit_data is only called from parser_feed_char_data_body, which frees the buffer pointer anyway.
2020-09-20 06:38:05 +02:00
Xu Fasheng
8b76e3c212 Make miracle-wifid conexists with other network tools
The new option --lazy-managed will let miracle-wifid don't managed the
links automatically. Instead, the link will be managed only when the new
DBus property Managed was set to true. So this will be possible that
miracle-wifid could be coexists with other network tools like
networkmanager.

For example, unmanage the device in networkmanager with setting the DBus
property org.freedesktop.NetworkManager.Device.Managed to false and
manage it in miracle-wifid with setting
org.freedesktop.miracle.wifi.Link.Managed to true, then both them could
works and don't need to kill each other.

Besides, there is new command named make-managed in miracle-wifictl and
miracle-sinkctl.

closes #135, #75
2018-09-21 13:41:16 +02:00
Derek Dai
6b5907ad45 Add meson build system
Use it as:

    $ meson build
    $ cd build
    $ ninja build
    $ ninja test
    $ sudo ninja install
2017-04-14 11:32:27 +02:00
albfan
04a1ec8aa3 Ini files for miracle-wifid
Honor ~/.miraclecast or ~/.config/miraclecastrc

Properties avaliable:
- wifid: log-level
- sinkctl: external-player, rstp-port, log-level, log-journal-level, autocmd
- wifictl: log-level, journal-log-level

Command line has always higher priority over ini files

fixes #113
2017-04-04 22:00:39 +02:00
albfan
cedfeeebe1 Debug GStreamer execution
Allow to config gstreamer log level
2016-10-23 10:20:12 +02:00
albfan
5e93ad0638 Fix compilation warnings 2016-10-23 04:27:17 +02:00
Derek Dai
1cc667a00c don't modify raw message 2016-09-14 15:01:26 +08:00
albfan
117ed2071b Parse text log level
closes #42
2015-08-30 14:53:12 +02:00
albfan
73adee82bf Select interface to use
Start miraclecast against interface of choose.

- By tagged udev device
- By `--interface` or `-i` option

resolves #36, resolves #43, resolves #46
2015-08-30 11:20:41 +02:00
albfan
0bf42867ad log wpa messages 2015-08-22 16:48:51 +02:00
albfan
544758f3d2 cleanup cmake config 2015-04-12 10:34:42 +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
ca07b34f3b RTSP: support reading hex and skiping
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:38 +02:00
Andrey Gusakov
066eca8638 RTSP: close message header and body on fail
Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
2015-03-30 12:06:37 +02: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
e40f7f744e shared: format MAC with leading zeros
Don't skip leading zeroes for MAC addresses. Some software cannot handle
this well.

Signed-off-by: Andrey Gusakov <andrey.gusakov@cogentembedded.com>
Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-13 08:48:21 +02:00
David Herrmann
67de17a511 rtsp/wpas: pass va_list by reference
As it turns out, the C standard forbids passing va_list by value and then
continue using it in the parent function (C Standard, 7.16, paragraph 3).

Luckily, there's a footnote stating:
    "It is permitted to create a pointer to a va_list and pass that
    pointer to another function, in which case the original function may
    take further use of the original list after the other function
    returns."

Therefore, we're safe passing va_list by reference and thus can keep the
current coding style.

This fixes weird bugs on ARM32 which really doesn't allow passing va_list
by value.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-08-05 13:10:03 +02:00
David Herrmann
3dcb89e98b shl: update shl-macro.h
Fix a bug in SHL_ALIGN_POWER2 and add new shl_closep helpers.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-12 14:32:41 +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
f275a60401 rtsp: strip remote-cookie during reply-matching
We need to drop the remote-cookie flag when matching replies. Otherwise,
we will never find the local request.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-08 15:23:17 +02:00
David Herrmann
f6e434e86a rtsp: add rtsp bus
WifiDisplay uses RTSP for stream-setups. This adds a basic rtsp-bus
implementations that we can use for sinks and sources.

Note that the implementation is optimized for usability, not speed. RTSP
is used for control-data, not streaming-data so there's no need to
over-optimize it. In case inlined RTP is used, we still provide proper
speed, even though that's usually not used by WifiDisplay implementations
(due to the TCP requirement).

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-05-08 11:39:02 +02:00
David Herrmann
61db4a1d71 shl: fix shl_qstr_tokenize() quote parser
The parser is simply broken, fix it.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-29 12:51:40 +01:00
David Herrmann
9fdda3b09a wpas: drain input-queues before signalling HUP
We _must_ aggressively drain input queues before we signal any HUP. There
might be queued messages that tell us important information about the
termination of wpa_supplicant.

Therefore, if a write() operation fails, we only signal HUP if the input
queues are empty. However, we cannot rely on EPOLLIN to be set, as the
input data might have arrived in between epoll_wait() and write(),
therefore, always run the non-blocking read() in case write() failed.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-28 12:40:17 +01:00
David Herrmann
4f55a01dc3 shl: remove custom offsetof helpers
Use the generic shl_container_of() instead of all the custom helpers.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-21 12:17:08 +01:00
David Herrmann
12bf5e026e shl: add ring-buffer helpers
The shl_ring helpers manage a dynamically-growing ring-buffer. We need
that for the following RTSP stream parsers, so add them to src/shared/.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-21 12:15:57 +01:00
David Herrmann
920f3ae250 shl: add u64 htable helpers
Add u64 helpers to shl_htable. They're fairly trivial and just copied from
unsigned-long, however, in case size_t is not 64bit wide we need to do
some trivial hashing.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-21 11:54:45 +01:00
David Herrmann
f34face988 shared: add wpa_supplicant bus-helpers
The wpas-helpers provide easy _asynchronous_ access to wpa_supplicant
control interfaces. Compared to the old wpa_ctrl_* stuff it's no longer
synchronous. Thus, it doesn't block our daemon while wpa_supplicant runs
some heavy work again..

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-19 13:03:32 +01:00
David Herrmann
4f740dfffb shl: update shl dlist/util
Two new helpers to verify empty strings and list-link-state.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-19 12:36:49 +01:00
David Herrmann
bc69f5b27b shl: update shl files
Sync files with upstream libshl. See upstream commits for changes/fixes.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-03-14 19:44:53 +01:00
David Herrmann
47539226cd Move shared helpers into ./src/shared/
Move all shared helpers into a separate subdirectory and rename to
libmiracle-shared.la.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
2014-02-18 13:56:12 +01:00