diff --git a/daemon/media_socket.c b/daemon/media_socket.c index ae56c92a2..d29b2b7df 100644 --- a/daemon/media_socket.c +++ b/daemon/media_socket.c @@ -1735,8 +1735,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; }