Skip to content

Commit

Permalink
Rename 'uid' to 'scid'
Browse files Browse the repository at this point in the history
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 <#3729>
Refs 4315be1
  • Loading branch information
rom1v committed Feb 11, 2023
1 parent 49eb326 commit 439a1fd
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 24 deletions.
7 changes: 4 additions & 3 deletions app/src/scrcpy.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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,
Expand Down
4 changes: 2 additions & 2 deletions app/src/server.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);

Expand Down Expand Up @@ -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;
Expand Down
2 changes: 1 addition & 1 deletion app/src/server.h
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,17 +46,17 @@ private static LocalSocket connect(String abstractName) throws IOException {
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;
Expand Down
10 changes: 5 additions & 5 deletions server/src/main/java/com/genymobile/scrcpy/Options.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
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;
Expand Down Expand Up @@ -41,12 +41,12 @@ public void setLogLevel(Ln.Level logLevel) {
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() {
Expand Down
14 changes: 7 additions & 7 deletions server/src/main/java/com/genymobile/scrcpy/Server.java
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ private static void scrcpy(Options options) throws IOException {

Thread initThread = startInitThread(options);

int uid = options.getUid();
int scid = options.getScid();
boolean tunnelForward = options.isTunnelForward();
boolean control = options.getControl();
boolean sendDummyByte = options.getSendDummyByte();
Expand All @@ -84,7 +84,7 @@ private static void scrcpy(Options options) throws IOException {
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();
Expand Down Expand Up @@ -158,12 +158,12 @@ private static Options createOptions(String... args) {
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));
Expand Down

0 comments on commit 439a1fd

Please sign in to comment.