# HG changeset patch # User albeu # Date 1014297292 0 # Node ID 17f29765ea771e519d66d0f3b67f1b4337c5454c # Parent 4b728967bd77ffde206eb0858e5fea18fa0f2021 Support for retriving mp3 playlist from the network diff -r 4b728967bd77 -r 17f29765ea77 libmpdemux/demuxer.h --- 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 diff -r 4b728967bd77 -r 17f29765ea77 libmpdemux/network.c --- 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");