Files
ladybird/Services/ImageDecoder/ImageDecoderServer.ipc
Andreas Kling a4f126554d ImageDecoder: Add streaming animation decode sessions
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).
2026-02-13 18:34:24 +01:00

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)
}