mirror of
https://github.com/LadybirdBrowser/ladybird
synced 2026-05-08 16:12:23 +02:00
Add IPC messages and server-side implementation for streaming animated image decode. Instead of decoding all frames upfront, only decode an initial batch and keep the decoder alive for on-demand frame requests. New IPC messages: - request_animation_frames: request decode of a batch of frames - stop_animation_decode: clean up a decode session - did_decode_animation_frames: deliver decoded frames to client - did_fail_animation_decode: report decode errors The existing did_decode_image message gains a session_id parameter (0 for single-shot decode, non-zero for streaming sessions).
14 lines
486 B
Plaintext
14 lines
486 B
Plaintext
#include <LibCore/AnonymousBuffer.h>
|
|
|
|
endpoint ImageDecoderServer
|
|
{
|
|
init_transport(int peer_pid) => (int peer_pid)
|
|
decode_image(Core::AnonymousBuffer data, Optional<Gfx::IntSize> ideal_size, Optional<ByteString> mime_type) => (i64 image_id)
|
|
cancel_decoding(i64 image_id) =|
|
|
|
|
request_animation_frames(i64 session_id, u32 start_frame_index, u32 count) =|
|
|
stop_animation_decode(i64 session_id) =|
|
|
|
|
connect_new_clients(size_t count) => (Vector<IPC::File> sockets)
|
|
}
|