diff options
| author | 2024-10-28 13:08:13 -0400 | |
|---|---|---|
| committer | 2024-10-28 13:23:02 -0400 | |
| commit | 846e17728f2ed2af3672987ef61853f0bc96c224 (patch) | |
| tree | e8e81fc8a2a7de208bd9ba397ef3928d33110824 /src/liana/handlers | |
| parent | d6735566cebf82a5d22a3ade22b9acd52fbe11a5 (diff) | |
| download | camu-846e17728f2ed2af3672987ef61853f0bc96c224.tar.gz camu-846e17728f2ed2af3672987ef61853f0bc96c224.tar.bz2 camu-846e17728f2ed2af3672987ef61853f0bc96c224.zip | |
Refactor video buffer and scaler, better A/V sync
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/liana/handlers')
| -rw-r--r-- | src/liana/handlers/codec_client.c | 2 | ||||
| -rw-r--r-- | src/liana/handlers/codec_server.c | 12 |
2 files changed, 10 insertions, 4 deletions
diff --git a/src/liana/handlers/codec_client.c b/src/liana/handlers/codec_client.c index 050cc6f..d420c59 100644 --- a/src/liana/handlers/codec_client.c +++ b/src/liana/handlers/codec_client.c @@ -1,6 +1,8 @@ #include "../../codec/codec.h" +#ifdef CAMU_HAVE_FFMPEG #include "../../codec/ffmpeg/decoder.h" #include "../../codec/ffmpeg/packet_ext.h" +#endif #include "../../codec/stb_image/decoder.h" #include "../../codec/spng/decoder.h" #include "../../codec/wuffs/decoder.h" diff --git a/src/liana/handlers/codec_server.c b/src/liana/handlers/codec_server.c index 07fafdf..58da2e6 100644 --- a/src/liana/handlers/codec_server.c +++ b/src/liana/handlers/codec_server.c @@ -1,6 +1,8 @@ #include "../../codec/codec.h" +#ifdef CAMU_HAVE_FFMPEG #include "../../codec/ffmpeg/demuxer.h" #include "../../codec/ffmpeg/packet_ext.h" +#endif #include "../../codec/stb_image/demuxer.h" #include "../../codec/spng/demuxer.h" #include "../../codec/wuffs/demuxer.h" @@ -41,12 +43,14 @@ static void codec_server_write_info(struct lia_server_handler *handler, struct a al_array_foreach_ptr(codec->demux->streams, i, stream) { aki_packet_write_u8(packet, stream->mode); switch (stream->mode) { - case CAMU_NORMAL: + case CAMU_NORMAL: { aki_packet_write_u8(packet, stream->type); - aki_packet_write_s32(packet, stream->video.width); - aki_packet_write_s32(packet, stream->video.height); - aki_packet_write_s32(packet, stream->video.format); + struct camu_video_format *fmt = &stream->video.fmt; + aki_packet_write_s32(packet, fmt->width); + aki_packet_write_s32(packet, fmt->height); + aki_packet_write_s32(packet, fmt->format); break; + } #ifdef CAMU_HAVE_FFMPEG case CAMU_FFMPEG_COMPAT: aki_packet_write_av_codec_id(packet, stream->av.stream->codecpar->codec_id); |