Probe hardware rate transitions and clear stale call port commands
This commit is contained in:
1 parent
96e8f6c0ac
commit
ea5ef4abc2
2 files changed
+15
-4
No files matched your search
@@ -8,9 +8,16 @@ class CallVideoProbe : Instrumentation() {
|
||||
override fun onCreate(arguments: Bundle?) { super.onCreate(arguments); start() }
|
||||
override fun onStart() {
|
||||
try {
|
||||
val decoders = CallVideoCodec.probeDecoders()
|
||||
val codecs = CallVideoCodec.probe()
|
||||
check(codecs.isNotEmpty()) { "No conforming encoder/decoder pair" }
|
||||
finish(0, Bundle().apply { putString("codecs", codecs.toString()) })
|
||||
check(codecs.isNotEmpty() && decoders.isNotEmpty()) { "No verified encoders or decoders" }
|
||||
for ((codec, entry) in codecs) {
|
||||
val f = CallVideoFormat(1, 640, 480, codec = codec, level = entry.level, profile = entry.profile)
|
||||
for (rate in listOf(4_000_000, 300_000, 4_000_000)) {
|
||||
CallVideoCodec(f, rate, entry.name).use { it.prepare() }
|
||||
}
|
||||
}
|
||||
finish(0, Bundle().apply { putString("codecs", codecs.toString()); putString("decoders", decoders.toString()) })
|
||||
} catch (e: Exception) {
|
||||
android.util.Log.e("CallVideoProbe", "probe failed", e)
|
||||
finish(1, Bundle().apply { putString("error", e.toString()) })
|
||||
|
||||
Reference in new issue
Block a user