Rename 'uid' to 'scid'

A random identifier is generated to differentiate multiple running
scrcpy instances. Rename it from 'uid' to 'scid' (scrcpy id) not to
confuse it with Linux UID.

Fixes #3729 <https://github.com/Genymobile/scrcpy/issues/3729>
Refs 4315be1648
This commit is contained in:
Romain Vimont 2023-02-11 09:52:31 +01:00
parent 49eb326ce9
commit 439a1fd4ed
6 changed files with 25 additions and 24 deletions

View file

@ -273,8 +273,9 @@ sc_server_on_disconnected(struct sc_server *server, void *userdata) {
// event
}
// Generate a scrcpy id to differentiate multiple running scrcpy instances
static uint32_t
scrcpy_generate_uid() {
scrcpy_generate_scid() {
struct sc_rand rand;
sc_rand_init(&rand);
// Only use 31 bits to avoid issues with signed values on the Java-side
@ -314,10 +315,10 @@ scrcpy(struct scrcpy_options *options) {
struct sc_acksync *acksync = NULL;
uint32_t uid = scrcpy_generate_uid();
uint32_t scid = scrcpy_generate_scid();
struct sc_server_params params = {
.uid = uid,
.scid = scid,
.req_serial = options->serial,
.select_usb = options->select_usb,
.select_tcpip = options->select_tcpip,

View file

@ -213,7 +213,7 @@ execute_server(struct sc_server *server,
cmd[count++] = p; \
}
ADD_PARAM("uid=%08x", params->uid);
ADD_PARAM("scid=%08x", params->scid);
ADD_PARAM("log_level=%s", log_level_to_server_string(params->log_level));
ADD_PARAM("bit_rate=%" PRIu32, params->bit_rate);
@ -787,7 +787,7 @@ run_server(void *data) {
LOGD("Device serial: %s", serial);
int r = asprintf(&server->device_socket_name, SC_SOCKET_NAME_PREFIX "%08x",
params->uid);
params->scid);
if (r == -1) {
LOG_OOM();
goto error_connection_failed;

View file

@ -22,7 +22,7 @@ struct sc_server_info {
};
struct sc_server_params {
uint32_t uid;
uint32_t scid;
const char *req_serial;
enum sc_log_level log_level;
enum sc_codec codec;

View file

@ -46,17 +46,17 @@ public final class DesktopConnection implements Closeable {
return localSocket;
}
private static String getSocketName(int uid) {
if (uid == -1) {
// If no UID is set, use "scrcpy" to simplify using scrcpy-server alone
private static String getSocketName(int scid) {
if (scid == -1) {
// If no SCID is set, use "scrcpy" to simplify using scrcpy-server alone
return SOCKET_NAME_PREFIX;
}
return SOCKET_NAME_PREFIX + String.format("_%08x", uid);
return SOCKET_NAME_PREFIX + String.format("_%08x", scid);
}
public static DesktopConnection open(int uid, boolean tunnelForward, boolean control, boolean sendDummyByte) throws IOException {
String socketName = getSocketName(uid);
public static DesktopConnection open(int scid, boolean tunnelForward, boolean control, boolean sendDummyByte) throws IOException {
String socketName = getSocketName(scid);
LocalSocket videoSocket;
LocalSocket controlSocket = null;

View file

@ -7,7 +7,7 @@ import java.util.List;
public class Options {
private Ln.Level logLevel = Ln.Level.DEBUG;
private int uid = -1; // 31-bit non-negative value, or -1
private int scid = -1; // 31-bit non-negative value, or -1
private int maxSize;
private VideoCodec codec = VideoCodec.H264;
private int bitRate = 8000000;
@ -41,12 +41,12 @@ public class Options {
this.logLevel = logLevel;
}
public int getUid() {
return uid;
public int getScid() {
return scid;
}
public void setUid(int uid) {
this.uid = uid;
public void setScid(int scid) {
this.scid = scid;
}
public int getMaxSize() {

View file

@ -66,7 +66,7 @@ public final class Server {
Thread initThread = startInitThread(options);
int uid = options.getUid();
int scid = options.getScid();
boolean tunnelForward = options.isTunnelForward();
boolean control = options.getControl();
boolean sendDummyByte = options.getSendDummyByte();
@ -84,7 +84,7 @@ public final class Server {
Workarounds.fillAppInfo();
}
try (DesktopConnection connection = DesktopConnection.open(uid, tunnelForward, control, sendDummyByte)) {
try (DesktopConnection connection = DesktopConnection.open(scid, tunnelForward, control, sendDummyByte)) {
VideoCodec codec = options.getCodec();
if (options.getSendDeviceMeta()) {
Size videoSize = device.getScreenInfo().getVideoSize();
@ -158,12 +158,12 @@ public final class Server {
String key = arg.substring(0, equalIndex);
String value = arg.substring(equalIndex + 1);
switch (key) {
case "uid":
int uid = Integer.parseInt(value, 0x10);
if (uid < -1) {
throw new IllegalArgumentException("uid may not be negative (except -1 for 'none'): " + uid);
case "scid":
int scid = Integer.parseInt(value, 0x10);
if (scid < -1) {
throw new IllegalArgumentException("scid may not be negative (except -1 for 'none'): " + scid);
}
options.setUid(uid);
options.setScid(scid);
break;
case "log_level":
Ln.Level level = Ln.Level.valueOf(value.toUpperCase(Locale.ENGLISH));