Code view:

A painting is a person's account of this edit as text, recorded independently of the node mapping - a rendering often has several equally defensible answers where the mapping has one. Deletions and insertions carry no position on the opposite side in a painting, so that panel draws no caret for them.

Before

…lines 1–186 unchanged (186 lines)
187
188 if (video) {
189 Streamer videoStreamer = new Streamer(connection.getVideoFd(), options.getVideoCodec(), options.getSendCodecMeta(),
190 options.getSendFrameMeta());
191 SurfaceCapture surfaceCapture;
192 if (options.getVideoSource() == VideoSource.DISPLAY) {
193 surfaceCapture = new ScreenCapture(device);
194 } else {
195 surfaceCapture = new CameraCapture(options.getCameraId(), options.getCameraFacing(), options.getCameraSize(),
196 options.getMaxSize(), options.getCameraAspectRatio(), options.getCameraFps(), options.getCameraHighSpeed());
197 }
198 SurfaceEncoder surfaceEncoder = new SurfaceEncoder(surfaceCapture, videoStreamer, options.getVideoBitRate(), options.getMaxFps(),
199 options.getVideoCodecOptions(), options.getVideoEncoder(), options.getDownsizeOnError());
…lines 200–296 unchanged (97 lines)

After

…lines 1–186 unchanged (186 lines)
187
188 if (video) {
189 Streamer videoStreamer = new Streamer(connection.getVideoFd(), options.getVideoCodec(), options.getSendCodecMeta(),
190 options.getSendFrameMeta());
191 SurfaceCapture surfaceCapture;
192 if (options.getVideoSource() == VideoSource.DISPLAY) {
193 surfaceCapture = new ScreenCapture(device, options.getDisplayId(), options.getMaxSize(), options.getCrop(),
194 options.getLockVideoOrientation());
195 } else {
196 surfaceCapture = new CameraCapture(options.getCameraId(), options.getCameraFacing(), options.getCameraSize(),
197 options.getMaxSize(), options.getCameraAspectRatio(), options.getCameraFps(), options.getCameraHighSpeed());
198 }
199 SurfaceEncoder surfaceEncoder = new SurfaceEncoder(surfaceCapture, videoStreamer, options.getVideoBitRate(), options.getMaxFps(),
200 options.getVideoCodecOptions(), options.getVideoEncoder(), options.getDownsizeOnError());
…lines 201–297 unchanged (97 lines)

Before

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioCodec"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioDirectCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioEncoder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioPlaybackCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioRawRecorder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioSource"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "control"
. "."
identifier "ControlChannel"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "control"
. "."
identifier "Controller"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "control"
. "."
identifier "DeviceMessage"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "device"
. "."
identifier "ConfigurationException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "device"
. "."
identifier "DesktopConnection"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "device"
. "."
identifier "Device"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "device"
. "."
identifier "Streamer"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "util"
. "."
identifier "Ln"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "util"
. "."
identifier "LogUtils"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "util"
. "."
identifier "Settings"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "util"
. "."
identifier "SettingsException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "CameraCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "ScreenCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "SurfaceCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "SurfaceEncoder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "VideoSource"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "android"
. "."
identifier "os"
. "."
identifier "BatteryManager"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "android"
. "."
identifier "os"
. "."
identifier "Build"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "File"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "IOException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "ArrayList"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "List"
; ";"
class_declaration
modifiers
public "public"
final "final"
class "class"
identifier "Server"
class_body
{ "{"
field_declaration
modifiers
public "public"
static "static"
final "final"
type_identifier "String"
variable_declarator
identifier "SERVER_PATH"
; ";"
static_initializer (+47 nodes collapsed)
class_declaration (+159 nodes collapsed)
constructor_declaration
modifiers
private "private"
identifier "Server"
formal_parameters
( "("
) ")"
constructor_body
{ "{"
line_comment "// not instantiable"
} "}"
method_declaration (+375 nodes collapsed)
method_declaration
modifiers
private "private"
static "static"
void_type "void"
identifier "scrcpy"
formal_parameters
( "("
formal_parameter
type_identifier "Options"
identifier "options"
) ")"
throws
throws "throws"
type_identifier "IOException"
, ","
type_identifier "ConfigurationException"
block
{ "{"
if_statement (+62 nodes collapsed)
local_variable_declaration
type_identifier "CleanUp"
variable_declarator
identifier "cleanUp"
= "="
null_literal "null"
; ";"
local_variable_declaration
type_identifier "Thread"
variable_declarator
identifier "initThread"
= "="
null_literal "null"
; ";"
if_statement (+47 nodes collapsed)
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "scid"
= "="
method_invocation
identifier "options"
. "."
identifier "getScid"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "tunnelForward"
= "="
method_invocation
identifier "options"
. "."
identifier "isTunnelForward"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "control"
= "="
method_invocation
identifier "options"
. "."
identifier "getControl"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "video"
= "="
method_invocation
identifier "options"
. "."
identifier "getVideo"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "audio"
= "="
method_invocation
identifier "options"
. "."
identifier "getAudio"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "sendDummyByte"
= "="
method_invocation
identifier "options"
. "."
identifier "getSendDummyByte"
argument_list
( "("
) ")"
; ";"
local_variable_declaration (+22 nodes collapsed)
local_variable_declaration
modifiers
final "final"
type_identifier "Device"
variable_declarator
identifier "device"
= "="
ternary_expression
identifier "camera"
? "?"
null_literal "null"
: ":"
object_creation_expression
new "new"
type_identifier "Device"
argument_list
( "("
identifier "options"
) ")"
; ";"
expression_statement
method_invocation
identifier "Workarounds"
. "."
identifier "apply"
argument_list
( "("
) ")"
; ";"
local_variable_declaration (+21 nodes collapsed)
local_variable_declaration (+24 nodes collapsed)
try_statement
try "try"
block
{ "{"
if_statement (+31 nodes collapsed)
if_statement (+110 nodes collapsed)
if_statement (+212 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
identifier "video"
) ")"
block
{ "{"
local_variable_declaration (+43 nodes collapsed)
local_variable_declaration
type_identifier "SurfaceCapture"
variable_declarator
identifier "surfaceCapture"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
method_invocation
identifier "options"
. "."
identifier "getVideoSource"
argument_list
( "("
) ")"
== "=="
field_access
identifier "VideoSource"
. "."
identifier "DISPLAY"
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "surfaceCapture"
= "="
object_creation_expression
new "new"
type_identifier "ScreenCapture"
argument_list
( "("
identifier "device"
) ")"
; ";"
} "}"
else "else"
block (+69 nodes collapsed)
local_variable_declaration (+55 nodes collapsed)
expression_statement
method_invocation
identifier "asyncProcessors"
. "."
identifier "add"
argument_list
( "("
identifier "surfaceEncoder"
) ")"
; ";"
} "}"
local_variable_declaration
type_identifier "Completion"
variable_declarator
identifier "completion"
= "="
object_creation_expression
new "new"
type_identifier "Completion"
argument_list
( "("
method_invocation
identifier "asyncProcessors"
. "."
identifier "size"
argument_list
( "("
) ")"
) ")"
; ";"
enhanced_for_statement (+39 nodes collapsed)
expression_statement
method_invocation
identifier "completion"
. "."
identifier "await"
argument_list
( "("
) ")"
; ";"
} "}"
finally_clause (+122 nodes collapsed)
} "}"
method_declaration (+66 nodes collapsed)
method_declaration (+91 nodes collapsed)
method_declaration (+363 nodes collapsed)
} "}"

After

program
package_declaration
package "package"
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioCodec"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioDirectCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioEncoder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioPlaybackCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioRawRecorder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "audio"
. "."
identifier "AudioSource"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "control"
. "."
identifier "ControlChannel"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "control"
. "."
identifier "Controller"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "control"
. "."
identifier "DeviceMessage"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "device"
. "."
identifier "ConfigurationException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "device"
. "."
identifier "DesktopConnection"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "device"
. "."
identifier "Device"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "device"
. "."
identifier "Streamer"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "util"
. "."
identifier "Ln"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "util"
. "."
identifier "LogUtils"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "util"
. "."
identifier "Settings"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "util"
. "."
identifier "SettingsException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "CameraCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "ScreenCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "SurfaceCapture"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "SurfaceEncoder"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
scoped_identifier
scoped_identifier
identifier "com"
. "."
identifier "genymobile"
. "."
identifier "scrcpy"
. "."
identifier "video"
. "."
identifier "VideoSource"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "android"
. "."
identifier "os"
. "."
identifier "BatteryManager"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "android"
. "."
identifier "os"
. "."
identifier "Build"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "File"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "io"
. "."
identifier "IOException"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "ArrayList"
; ";"
import_declaration
import "import"
scoped_identifier
scoped_identifier
identifier "java"
. "."
identifier "util"
. "."
identifier "List"
; ";"
class_declaration
modifiers
public "public"
final "final"
class "class"
identifier "Server"
class_body
{ "{"
field_declaration
modifiers
public "public"
static "static"
final "final"
type_identifier "String"
variable_declarator
identifier "SERVER_PATH"
; ";"
static_initializer (+47 nodes collapsed)
class_declaration (+159 nodes collapsed)
constructor_declaration
modifiers
private "private"
identifier "Server"
formal_parameters
( "("
) ")"
constructor_body
{ "{"
line_comment "// not instantiable"
} "}"
method_declaration (+375 nodes collapsed)
method_declaration
modifiers
private "private"
static "static"
void_type "void"
identifier "scrcpy"
formal_parameters
( "("
formal_parameter
type_identifier "Options"
identifier "options"
) ")"
throws
throws "throws"
type_identifier "IOException"
, ","
type_identifier "ConfigurationException"
block
{ "{"
if_statement (+62 nodes collapsed)
local_variable_declaration
type_identifier "CleanUp"
variable_declarator
identifier "cleanUp"
= "="
null_literal "null"
; ";"
local_variable_declaration
type_identifier "Thread"
variable_declarator
identifier "initThread"
= "="
null_literal "null"
; ";"
if_statement (+47 nodes collapsed)
local_variable_declaration
integral_type
int "int"
variable_declarator
identifier "scid"
= "="
method_invocation
identifier "options"
. "."
identifier "getScid"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "tunnelForward"
= "="
method_invocation
identifier "options"
. "."
identifier "isTunnelForward"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "control"
= "="
method_invocation
identifier "options"
. "."
identifier "getControl"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "video"
= "="
method_invocation
identifier "options"
. "."
identifier "getVideo"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "audio"
= "="
method_invocation
identifier "options"
. "."
identifier "getAudio"
argument_list
( "("
) ")"
; ";"
local_variable_declaration
boolean_type "boolean"
variable_declarator
identifier "sendDummyByte"
= "="
method_invocation
identifier "options"
. "."
identifier "getSendDummyByte"
argument_list
( "("
) ")"
; ";"
local_variable_declaration (+22 nodes collapsed)
local_variable_declaration
modifiers
final "final"
type_identifier "Device"
variable_declarator
identifier "device"
= "="
ternary_expression
identifier "camera"
? "?"
null_literal "null"
: ":"
object_creation_expression
new "new"
type_identifier "Device"
argument_list
( "("
identifier "options"
) ")"
; ";"
expression_statement
method_invocation
identifier "Workarounds"
. "."
identifier "apply"
argument_list
( "("
) ")"
; ";"
local_variable_declaration (+21 nodes collapsed)
local_variable_declaration (+24 nodes collapsed)
try_statement
try "try"
block
{ "{"
if_statement (+31 nodes collapsed)
if_statement (+110 nodes collapsed)
if_statement (+212 nodes collapsed)
if_statement
if "if"
parenthesized_expression
( "("
identifier "video"
) ")"
block
{ "{"
local_variable_declaration (+43 nodes collapsed)
local_variable_declaration
type_identifier "SurfaceCapture"
variable_declarator
identifier "surfaceCapture"
; ";"
if_statement
if "if"
parenthesized_expression
( "("
binary_expression
method_invocation
identifier "options"
. "."
identifier "getVideoSource"
argument_list
( "("
) ")"
== "=="
field_access
identifier "VideoSource"
. "."
identifier "DISPLAY"
) ")"
block
{ "{"
expression_statement
assignment_expression
identifier "surfaceCapture"
= "="
object_creation_expression
new "new"
type_identifier "ScreenCapture"
argument_list
( "("
identifier "device"
, ","
method_invocation
identifier "options"
. "."
identifier "getDisplayId"
argument_list
( "("
) ")"
, ","
method_invocation
identifier "options"
. "."
identifier "getMaxSize"
argument_list
( "("
) ")"
, ","
method_invocation
identifier "options"
. "."
identifier "getCrop"
argument_list
( "("
) ")"
, ","
method_invocation
identifier "options"
. "."
identifier "getLockVideoOrientation"
argument_list
( "("
) ")"
) ")"
; ";"
} "}"
else "else"
block (+69 nodes collapsed)
local_variable_declaration (+55 nodes collapsed)
expression_statement
method_invocation
identifier "asyncProcessors"
. "."
identifier "add"
argument_list
( "("
identifier "surfaceEncoder"
) ")"
; ";"
} "}"
local_variable_declaration
type_identifier "Completion"
variable_declarator
identifier "completion"
= "="
object_creation_expression
new "new"
type_identifier "Completion"
argument_list
( "("
method_invocation
identifier "asyncProcessors"
. "."
identifier "size"
argument_list
( "("
) ")"
) ")"
; ";"
enhanced_for_statement (+39 nodes collapsed)
expression_statement
method_invocation
identifier "completion"
. "."
identifier "await"
argument_list
( "("
) ")"
; ";"
} "}"
finally_clause (+122 nodes collapsed)
} "}"
method_declaration (+66 nodes collapsed)
method_declaration (+91 nodes collapsed)
method_declaration (+363 nodes collapsed)
} "}"