Closed U039b closed 1 year ago
We should probably pass the -n
option to the scrcpy
command:
-n, --no-control Disable device control (mirror the device in read-only).
scrcpy -t --max-size=1024 --max-fps=15 --bit-rate=2M --record=output.mp4 -N -n
pi@pirogue0:~ $ scrcpy -t --max-size=1024 --max-fps=15 --bit-rate=2M --record=output.mp4 -N -n
INFO: scrcpy 1.17 <[https://github.com/Genymobile/scrcpy>](https://github.com/Genymobile/scrcpy%3E)
* daemon not running; starting now at tcp:5037
* daemon started successfully
/usr/share/scrcpy/scrcpy-server: 1 file pushed. 3.6 MB/s (34015 bytes in 0.009s)
[server] INFO: Device: Google Pixel 6a (Android 13)
[server] ERROR: Could not invoke method
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.ContentProvider.call(ContentProvider.java:83)
at com.genymobile.scrcpy.wrappers.ContentProvider.getValue(ContentProvider.java:124)
at com.genymobile.scrcpy.wrappers.ContentProvider.getAndPutValue(ContentProvider.java:140)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:32)
at com.genymobile.scrcpy.Server.main(Server.java:252)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
Caused by: java.lang.SecurityException: The authority unknown does not match the one of the contentProvider: settings
at android.os.Parcel.createExceptionOrNull(Parcel.java:3011)
at android.os.Parcel.createException(Parcel.java:2995)
at android.os.Parcel.readException(Parcel.java:2978)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
at android.content.ContentProviderProxy.call(ContentProviderNative.java:732)
at android.content.IContentProvider.call(IContentProvider.java:119)
... 8 more
Caused by: android.os.RemoteException: Remote stack trace:
at android.content.ContentProvider.validateIncomingAuthority(ContentProvider.java:2568)
at android.content.ContentProvider.-$$Nest$mvalidateIncomingAuthority(Unknown Source:0)
at android.content.ContentProvider$Transport.call(ContentProvider.java:519)
at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:295)
at android.os.Binder.execTransactInternal(Binder.java:1280)
[server] ERROR: Could not invoke method
java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.ContentProvider.call(ContentProvider.java:83)
at com.genymobile.scrcpy.wrappers.ContentProvider.putValue(ContentProvider.java:136)
at com.genymobile.scrcpy.wrappers.ContentProvider.getAndPutValue(ContentProvider.java:142)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:32)
at com.genymobile.scrcpy.Server.main(Server.java:252)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
Caused by: java.lang.SecurityException: The authority unknown does not match the one of the contentProvider: settings
at android.os.Parcel.createExceptionOrNull(Parcel.java:3011)
at android.os.Parcel.createException(Parcel.java:2995)
at android.os.Parcel.readException(Parcel.java:2978)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:190)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:142)
at android.content.ContentProviderProxy.call(ContentProviderNative.java:732)
at android.content.IContentProvider.call(IContentProvider.java:119)
... 8 more
[server] ERROR: Exception on thread Thread[main,5,main]
java.lang.AssertionError: java.lang.reflect.InvocationTargetException
at com.genymobile.scrcpy.wrappers.SurfaceControl.setDisplaySurface(SurfaceControl.java:75)
at com.genymobile.scrcpy.ScreenEncoder.setDisplaySurface(ScreenEncoder.java:243)
at com.genymobile.scrcpy.ScreenEncoder.internalStreamScreen(ScreenEncoder.java:91)
at com.genymobile.scrcpy.ScreenEncoder.streamScreen(ScreenEncoder.java:60)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:80)
at com.genymobile.scrcpy.Server.main(Server.java:252)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:355)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at com.genymobile.scrcpy.wrappers.SurfaceControl.setDisplaySurface(SurfaceControl.java:73)
... 7 more
Caused by: java.lang.IllegalArgumentException: displayToken must not be null
at android.view.SurfaceControl$Transaction.setDisplaySurface(SurfaceControl.java:3439)
at android.view.SurfaceControl.setDisplaySurface(SurfaceControl.java:2377)
... 9 more
INFO: Recording started to mp4 file: output.mp4
INFO: Finishing recording...
ERROR: Recording failed to output.mp4
WARN: Device disconnected
WARN: Killing the server...
Should be fixed since v1.25 but we are stuck with v1.17 since no newer version of scrcpy is available on Debian.
Is v1.25 the first fixed version, or is that a known fixed version?
kibi@tokyo:~$ rmadison scrcpy -a source
scrcpy | 1.17-1 | stable | source
scrcpy | 1.23-1~bpo11+1 | bullseye-backports | source
scrcpy | 1.25-1 | unstable | source
If v1.23 might help, it's available in bullseye-backports
.
What's worrying is that scrcpy
is no longer in testing
so won't be in Debian 12…
It was removed with the following bug references:
# 1011567,1012103,1012572 in android-framework-23,android-platform-external-doclava,android-platform-frameworks-base