Skip to content

Commit 0aa9828

Browse files
committed
fixup allocate refcounted packet via av_new_packet
1 parent 7c64707 commit 0aa9828

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

app/src/stream.c

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -46,20 +46,17 @@ stream_recv_packet(struct stream *stream, AVPacket *packet) {
4646
uint32_t len = buffer_read32be(&header[8]);
4747
SDL_assert(len);
4848

49-
void *buf = av_malloc(len);
50-
if (!buf) {
51-
LOGE("Could not allocate packet buffer");
49+
if (av_new_packet(packet, len)) {
50+
LOGE("Could not allocate packet");
5251
return false;
5352
}
5453

55-
r = net_recv_all(stream->socket, buf, len);
54+
r = net_recv_all(stream->socket, packet->data, len);
5655
if (r < len) {
57-
av_free(buf);
56+
av_packet_unref(packet);
5857
return false;
5958
}
6059

61-
packet->data = buf;
62-
packet->size = len;
6360
packet->pts = pts != NO_PTS ? pts : AV_NOPTS_VALUE;
6461

6562
return true;
@@ -225,15 +222,14 @@ run_stream(void *data) {
225222

226223
for (;;) {
227224
AVPacket packet;
228-
av_init_packet(&packet);
229225
bool ok = stream_recv_packet(stream, &packet);
230226
if (!ok) {
231227
// end of stream
232228
break;
233229
}
234230

235231
ok = stream_push_packet(stream, &packet);
236-
av_free(packet.data);
232+
av_packet_unref(&packet);
237233
if (!ok) {
238234
// cannot process packet (error already logged)
239235
break;

0 commit comments

Comments
 (0)