diff --git a/daemon/media_socket.c b/daemon/media_socket.c index 15492cc50..1c8f8e0fe 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -1697,8 +1697,12 @@ out: // appropriate locks must be held int media_socket_dequeue(struct media_packet *mp, struct packet_stream *sink) { struct codec_packet *p; - while ((p = g_queue_pop_head(&mp->packets_out))) - send_timer_push(sink->send_timer, p); + while ((p = g_queue_pop_head(&mp->packets_out))) { + if (sink->send_timer) + send_timer_push(sink->send_timer, p); + else + codec_packet_free(p); + } return 0; }