瀏覽代碼

fix vorbis and ogg ending early - release

philippe44 1 年之前
父節點
當前提交
8b764c0c2d
共有 3 個文件被更改,包括 4 次插入6 次删除
  1. 0 2
      components/raop/dmap_parser.c
  2. 2 2
      components/squeezelite/opus.c
  3. 2 2
      components/squeezelite/vorbis.c

+ 0 - 2
components/raop/dmap_parser.c

@@ -7,8 +7,6 @@
 #define DMAP_STRINGIFY_(x) #x
 #define DMAP_STRINGIFY(x) DMAP_STRINGIFY_(x)
 
-#define DMAP_FULL 1
-
 typedef enum {
 	DMAP_UNKNOWN,
 	DMAP_UINT,

+ 2 - 2
components/squeezelite/opus.c

@@ -152,9 +152,9 @@ static int get_opus_packet(void) {
 		if (status)	OG(&go, stream_pagein, &u->state, &u->page);
 	} 
     
-    // only return a negative value when end of streaming is reached
+    // only return a negative value when true end of streaming is reached
     if (status > 0) packet = status;
-    else if (stream.state > DISCONNECT) packet = 0;
+    else if (stream.state > DISCONNECT || _buf_used(streambuf)) packet = 0;
 
 	UNLOCK_S;
 	return packet;

+ 2 - 2
components/squeezelite/vorbis.c

@@ -152,9 +152,9 @@ static int get_ogg_packet(void) {
 		if (status)	OG(&go, stream_pagein, &v->state, &v->page);
 	}
     
-    // only return a negative value when end of streaming is reached
+    // only return a negative value when true end of streaming is reached
     if (status > 0) packet = status;
-    else if (stream.state > DISCONNECT) packet = 0;
+    else if (stream.state > DISCONNECT || _buf_used(streambuf)) packet = 0;
 
 	UNLOCK_S;
 	return packet;