summaryrefslogtreecommitdiff
path: root/src/liana/handlers/codec_server.c
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-09-14 08:57:42 -0400
committerAndrew Opalach <andrew@akon.city> 2026-09-14 08:57:42 -0400
commit8f208c26b6fa1a9f3372679c047cab559c06e26b (patch)
tree323d894d6ff8e1ed1445c40cb1e2f5d3cee5e8e8 /src/liana/handlers/codec_server.c
parentc66c7c64ebd16287b892f8a780cffcabafba3799 (diff)
downloadcamu-8f208c26b6fa1a9f3372679c047cab559c06e26b.tar.gz
camu-8f208c26b6fa1a9f3372679c047cab559c06e26b.tar.bz2
camu-8f208c26b6fa1a9f3372679c047cab559c06e26b.zip
Server-side fixes from DIRECT_MODE testing
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/liana/handlers/codec_server.c')
-rw-r--r--src/liana/handlers/codec_server.c13
1 files changed, 2 insertions, 11 deletions
diff --git a/src/liana/handlers/codec_server.c b/src/liana/handlers/codec_server.c
index ddba182..592f592 100644
--- a/src/liana/handlers/codec_server.c
+++ b/src/liana/handlers/codec_server.c
@@ -35,9 +35,7 @@ static bool codec_server_init(struct lia_server_handler *handler, struct cch_han
break;
#ifdef CAMU_HAVE_FFMPEG
case CAMU_FFMPEG_COMPAT:
-#ifndef CAMU_DIRECT_MODE
codec->packet.av.pkt = av_packet_alloc();
-#endif
break;
#endif
}
@@ -104,11 +102,6 @@ static bool codec_server_seek(struct lia_server_handler *handler, u64 pos)
static void codec_server_step(struct lia_server_handler *handler)
{
struct lia_codec_server *codec = (struct lia_codec_server *)handler;
-#ifdef CAMU_HAVE_FFMPEG
-#ifdef CAMU_DIRECT_MODE
- codec->packet.av.pkt = av_packet_alloc();
-#endif
-#endif
codec->handler.status = codec->demux->get_packet(codec->demux, &codec->packet);
}
@@ -139,11 +132,11 @@ static void codec_server_write_packet(struct lia_server_handler *handler, struct
nn_packet_write_s32(packet, pkt->stream_index);
nn_packet_write_u8(packet, codec->packet.mode);
#ifdef CAMU_DIRECT_MODE
- packet->opaque = pkt;
+ packet->opaque = av_packet_clone(pkt);
#else
nn_packet_write_av_packet(packet, pkt);
- av_packet_unref(pkt);
#endif
+ av_packet_unref(pkt);
break;
}
#endif
@@ -168,9 +161,7 @@ static void codec_server_free(struct lia_server_handler **handler)
break;
#ifdef CAMU_HAVE_FFMPEG
case CAMU_FFMPEG_COMPAT:
-#ifndef CAMU_DIRECT_MODE
av_packet_free(&codec->packet.av.pkt);
-#endif
break;
#endif
}