From 80e4d671d2271c8a6a3ec463c277fcf7b3fa3ab9 Mon Sep 17 00:00:00 2001 From: Thom Johansen Date: Thu, 1 Nov 2007 21:34:15 +0000 Subject: Make Speex read its input directly from the Ogg packet, which makes for less copying and one less malloc(). Thanks to Jean-Marc Valin for the tip. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15395 a1c6a512-1295-4272-9138-f99709370657 --- apps/codecs/libspeex/speex_header.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'apps/codecs/libspeex') diff --git a/apps/codecs/libspeex/speex_header.c b/apps/codecs/libspeex/speex_header.c index 8fd1665..1cb25ac 100644 --- a/apps/codecs/libspeex/speex_header.c +++ b/apps/codecs/libspeex/speex_header.c @@ -128,10 +128,11 @@ char *speex_header_to_packet(SpeexHeader *header, int *size) } #endif +static SpeexHeader global_le_header; /* Avoid malloc */ SpeexHeader *speex_packet_to_header(char *packet, int size) { int i; - SpeexHeader *le_header; + SpeexHeader *le_header = &global_le_header; const char *h = "Speex "; for (i=0;i<8;i++) if (packet[i]!=h[i]) @@ -147,7 +148,7 @@ SpeexHeader *speex_packet_to_header(char *packet, int size) return NULL; } - le_header = (SpeexHeader*)speex_alloc(sizeof(SpeexHeader)); + /* le_header = (SpeexHeader*)speex_alloc(sizeof(SpeexHeader)); */ speex_move(le_header, packet, sizeof(SpeexHeader)); -- cgit v1.1