Commit Graph

258 Commits

Author SHA1 Message Date
Julian Winkler
5454d9ed3c MediaCodec: throw IOException for unimplemented codecs
fixes SEGFAULT when libavcodec is built without aac decoder
2024-06-13 20:07:01 +02:00
Julian Winkler
47e070bec6 AudioTrack: add missing null pointer check 2024-06-13 20:04:37 +02:00
Julian Winkler
5be3401af5 MediaCodec: fall back to software decoding, if hardware decoding doesn't work 2024-06-13 20:04:37 +02:00
Julian Winkler
8f993fd822 AbsListView: add fallback layout params
If the child doesn't specify layout params, use width=MATCH_PARENT and
height=WRAP_CONTENT. Same as AOSPs defaults
2024-06-12 23:04:54 +02:00
Julian Winkler
f249e1c487 MediaCodec: implement software decoding
The decoding is done by libavcodec, libswscale converts YUV to RGB data, which is
then put into a GtkPicture as GdkMemoryTexture.
2024-06-02 18:12:59 +02:00
Julian Winkler
03887e8c2d MediaCodec: add support for hardware decocders with AV_PIX_FMT_DRM_PRIME
This change should enable hardware decoding using v4l2 m2m, but it
hasn't been tested with v4l2 m2m yet.
2024-06-02 18:06:17 +02:00
Mis012
2a3106f205 api-impl: com/google/android/gles_jni/GLImpl: implement some things by calling into GLES10 2024-05-27 19:01:52 +02:00
Mis012
b9cef2e565 api-impl-jni: GLES20: fix formatting 2024-05-27 19:00:22 +02:00
Mis012
97e59437b9 Bitmap: implement copyPixelsToBuffer 2024-05-27 18:58:04 +02:00
Julian Winkler
c5e0f8a7fd View.draw(): draw background, content, children in same order as AOSP 2024-05-27 16:37:49 +00:00
Julian Winkler
e8eabb2027 GskCanvas.drawBitmap(): reuse GdkTexture objects 2024-05-27 16:37:49 +00:00
Julian Winkler
6f02565920 GskCanavas: draw default content when custom View calls super.onDraw() 2024-05-27 16:37:49 +00:00
Julian Winkler
6575fef58e replace SkArea with GskCanvas
This reduces RAM usage, as we no longer need to have separate graphics
buffers for all Views with custom onDraw() method
2024-05-27 16:37:49 +00:00
Julian Winkler
d941fd5a81 implement more GskCanvas methods 2024-05-27 16:37:49 +00:00
Julian Winkler
8afdd181d0 WrapperWidget: simulate GTK_OVERFLOW_HIDDEN for 0x0 allocated Views 2024-05-27 16:37:49 +00:00
Mis012
92bb75d19f AssetManager: fix open and openNonAsset not throwing exception on error 2024-05-27 14:01:43 +02:00
Mis012
4374ac01ad AssetManager: use libandroidfw to read assets straight from the apk file
they can still be put on the filesystem and will be read from there
preferentially, though overriding assets in this way can confuse
some creatively written apps and cause them to crash.
2024-05-26 00:10:16 +02:00
Mis012
54dd61da3d main-executable: add '-e' cmdline option
Some multi-platform apps accept cmdline options using the `-e` option
of `am`. For example, you can now use `-e unity='<unity cmdline>'`
to pass cmdline arguments to a unity game.
2024-05-22 17:06:28 +02:00
Mis012
14e870c9b5 util: add _gdb_force_java_stack_trace 2024-05-21 23:16:39 +02:00
Julian Winkler
c56dd88fb6 fix View.getGlobalVisibleRect() for 0x0 allocated Views
fixes commit f82af6ecb7
2024-05-20 08:12:28 +02:00
Julian Winkler
dd3965df8a WrapperWidget: create SkArea also for Views with custom draw() method
Previously we only handled custom onDraw() methods
2024-05-20 08:12:02 +02:00
Julian Winkler
5fdcff4419 put sk_area behind the widget
Most widgets want to draw something behind the default content.

If we replace SkArea with GskCanvas in the future, we could draw
the default content, when the super.onDraw() gets called.
2024-05-20 08:09:01 +02:00
Julian Winkler
3cc7070839 MediaCodec: don't access ATL_codec_context in render_frame callback
The ATL_codec_context may have been freed already, when MediaCodec.release() was called
2024-05-13 22:32:48 +02:00
Julian Winkler
b28e90a75c implement SeekBar.getProgress() 2024-05-13 22:01:24 +02:00
Julian Winkler
cc5d4a3cb3 use libandroidfw for resource XML parsing
androidfw is implemented in native code and has much better performance
than ARSClib
2024-05-12 16:49:14 +00:00