2
0
philippe44 2 жил өмнө
parent
commit
3372aaea69

+ 5 - 3
components/squeezelite/opus.c

@@ -187,7 +187,6 @@ static int read_opus_header(void) {
 		switch (u->status) {
 		case OGG_SYNC:
 			u->status = OGG_HEADER;
-			//OG(&gu, sync_pageout, &u->sync, &u->page);
 			OG(&gu, stream_reset_serialno, &u->state, OG(&gu, page_serialno, &u->page));
 			break;
 		case OGG_HEADER:
@@ -352,9 +351,9 @@ static decode_state opus_decompress(void) {
 }
 
 static void opus_open(u8_t size, u8_t rate, u8_t chan, u8_t endianness) {   
-    if (u->decoder) OP(&gu, decoder_destroy, u->decoder);
-          
+    if (u->decoder) OP(&gu, decoder_destroy, u->decoder);         
 	if (!u->overbuf) u->overbuf = malloc(MAX_OPUS_FRAMES * BYTES_PER_FRAME);
+    
     u->status = OGG_SYNC;
 	u->fetch = true;
 	u->overframes = 0;
@@ -365,7 +364,10 @@ static void opus_open(u8_t size, u8_t rate, u8_t chan, u8_t endianness) {
 
 static void opus_close(void) {  
 	if (u->decoder) OP(&gu, decoder_destroy, u->decoder);
+    
 	free(u->overbuf);
+    u->overbuf = NULL;
+    
 	OG(&gu, stream_clear, &u->state);
 	OG(&gu, sync_clear, &u->sync);
 }