changeset 4783:17f29765ea77

Support for retriving mp3 playlist from the network
author albeu
date Thu, 21 Feb 2002 13:14:52 +0000
parents 4b728967bd77
children 64be405bab7b
files libmpdemux/demuxer.h libmpdemux/network.c
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/demuxer.h	Thu Feb 21 13:12:53 2002 +0000
+++ b/libmpdemux/demuxer.h	Thu Feb 21 13:14:52 2002 +0000
@@ -25,6 +25,9 @@
 #define DEMUXER_TYPE_MAX 17
 
 #define DEMUXER_TYPE_DEMUXERS (1<<16)
+// A virtual demuxer type for the network code
+#define DEMUXER_TYPE_PLAYLIST (2<<16)
+
 
 #define DEMUXER_TIME_NONE 0
 #define DEMUXER_TIME_PTS 1
--- a/libmpdemux/network.c	Thu Feb 21 13:12:53 2002 +0000
+++ b/libmpdemux/network.c	Thu Feb 21 13:14:52 2002 +0000
@@ -49,6 +49,10 @@
 	{ "video/x-ms-wvx", DEMUXER_TYPE_ASF },
 	{ "video/x-ms-wmv", DEMUXER_TYPE_ASF },
 	{ "video/x-ms-wma", DEMUXER_TYPE_ASF },
+	// Playlists
+	{ "audio/x-scpls", DEMUXER_TYPE_PLAYLIST },
+	{ "audio/x-mpegurl", DEMUXER_TYPE_PLAYLIST },
+	{ "audio/x-pls", DEMUXER_TYPE_PLAYLIST }
 };
 
 static struct {
@@ -70,6 +74,8 @@
 	{ "y4m", DEMUXER_TYPE_Y4M },
 	{ "mp3", DEMUXER_TYPE_AUDIO },
 	{ "wav", DEMUXER_TYPE_AUDIO },
+	{ "pls", DEMUXER_TYPE_PLAYLIST },
+	{ "m3u", DEMUXER_TYPE_PLAYLIST }
 };
 
 streaming_ctrl_t *
@@ -706,6 +712,7 @@
 		case DEMUXER_TYPE_FILM:
 		case DEMUXER_TYPE_ROQ:
 		case DEMUXER_TYPE_AUDIO:
+		case DEMUXER_TYPE_PLAYLIST:
 		case DEMUXER_TYPE_UNKNOWN:
 			// Generic start, doesn't need to filter
 			// the network stream, it's a raw stream
@@ -713,6 +720,8 @@
 			if( ret<0 ) {
 				printf("nop_streaming_start failed\n");
 			}
+			if((*demuxer_type) == DEMUXER_TYPE_PLAYLIST)
+			  stream->type = STREAMTYPE_PLAYLIST;
 			break;
 		default:
 			printf("Unable to detect the streaming type\n");