Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update rpiplay.cpp to use the new API features for choosing network #258

Closed
wants to merge 34 commits into from
Closed

Conversation

fduncanh
Copy link

@fduncanh fduncanh commented Jul 31, 2021

ports and display size. Also add a "random MAC" feature to replace the
hard-coded DEFAULT_HW_ADDRESS and allow multiple instances of
rpiplay to coexist on the same machine. The parsing of the input
options is made more robust, and README.md is updated for the changes.

This adds 3 new features to FD-: master, using the API extension of my PR #257.
It needs PR #257 to be first applied, followed by this PR #258.

  1. It allows the display width x height to be set, as was found in #PR 141 by flatsiedatsie in Jul 12 2020
    and further worked on by seungjun in PR 191.. This is a great improvement that was already there in the code base, but had not been given an interface to use it.

  2. The network ports can now be set with a -p option, for use with firewalls. The starting point was the idea of hard coding fixed ports by Waester in PR Use static ports #196, but it is implemented flexibly using a suggestion by FD-

  3. an option -rm allows a random MAC address to be used . This allows multiple instances of rpiplay to coexist
    the idea of doing this was suggested in PR Fix: Cannot run rpiplay on multiple computers of the same network or pc #244 by Sergi030

I also cleaned up the option parsing and made it more robust. and update the README document.

everything is tested with the gstreamer renderer on desktop linux, ,by not on the Rpi.

I hope this can be of use. This software is very useful for online teaching and interactions using Zoom or similar .

Your Name and others added 30 commits April 15, 2020 16:23
the plist library is removed (the Linux distributions version will be used)
(libplist 2.0)

the library llhttp v 6.0.2 is added to replace http_parser

The curve25519 and ed25519 libraries are removed, and replaced with their
OpenSSL 1.1.1 implementations

crypto is updated
to writen into raop_t raop for later use when connections are made.
new functions : raop_set_udp_ports, raop_set_tcp_ports, raop_set_display_size
The behavior of the library is unchanged if these functions are not used.
to server name, so this name appears in gstreamer window title bar
…en-sharing software #31

(added fix from  PR #3 from https://github.com/DavidVentura/UxPlay)

Gstreamer does not set the _NET_WM_NAME property on the window it
creates when using autovideosink (or ximagesink/xvimagesink for that
matter).

A lot of tools (like Zoom) filter based on this field being non-null, so
the window can't be shared.

This horrible hack finds the first open window that matches our application
name and proceeds to set _NET_WM_NAME on it.

It is very ugly, and I do not know what I am doing, but it works. Feel free to use this to write something that makes more sense.

---------------------------
changes from PR #31:
use the UxPlay server-name as the widow name.
…een-sharing software antimof#31

(should have been part of previous commi)
uses putenv; conditional compilation set in CMakelists.txt
(this allows multiple copies of uxplay to run)
@fduncanh fduncanh closed this Aug 3, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants