#pragma once #include #include "../codec/codec.h" #include "vcr.h" enum { LIANA_CLIENT_CONFIGURE = 0, LIANA_CLIENT_CONFIGURE_COMPLETE, LIANA_CLIENT_DATA, LIANA_CLIENT_SUBTITLE, LIANA_CLIENT_REMOVE_BUFFERS, LIANA_CLIENT_RECOVER_TO, LIANA_CLIENT_RESUME_AT, LIANA_CLIENT_RECONNECTED, LIANA_CLIENT_EOF, LIANA_CLIENT_ERRORED, LIANA_CLIENT_CLOSED }; struct lia_reconnect_info { bool reconnect; bool unconfigured; u64 mask; array(struct camu_codec_stream *) detached; }; struct lia_prefs { u8 enabled; struct { u8 audio; u8 subtitles; } language; }; struct lia_client { struct nn_event_loop *loop; u32 node_id; struct lia_prefs prefs; array(struct camu_codec_stream) streams; u64 mask; u64 pos; u64 at; u8 reconnect; struct lia_reconnect_info rec; str addr; u16 port; u32 connection_id; struct nn_packet_stream data; u64 duration; struct lia_vcr vcr; struct camu_renderer *renderer; void (*callback)(void *, u8, struct camu_codec_stream *stream, void *); void *userdata; }; void lia_client_connect(struct lia_client *client, struct nn_event_loop *loop, u8 type, str *addr, u16 port, u32 node_id, u64 pos); void lia_client_seek(struct lia_client *client, u64 pos, u64 at); void lia_client_disconnect(struct lia_client *client); void lia_client_free(struct lia_client *client);