1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-21 06:14:32 +00:00

Support for retriving mp3 playlist from the network

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@4784 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
albeu 2002-02-21 13:14:52 +00:00
parent a43fe42a2a
commit c9fdd6b630
2 changed files with 12 additions and 0 deletions

View File

@ -25,6 +25,9 @@
#define DEMUXER_TYPE_MAX 17 #define DEMUXER_TYPE_MAX 17
#define DEMUXER_TYPE_DEMUXERS (1<<16) #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_NONE 0
#define DEMUXER_TIME_PTS 1 #define DEMUXER_TIME_PTS 1

View File

@ -49,6 +49,10 @@ static struct {
{ "video/x-ms-wvx", DEMUXER_TYPE_ASF }, { "video/x-ms-wvx", DEMUXER_TYPE_ASF },
{ "video/x-ms-wmv", DEMUXER_TYPE_ASF }, { "video/x-ms-wmv", DEMUXER_TYPE_ASF },
{ "video/x-ms-wma", 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 { static struct {
@ -70,6 +74,8 @@ static struct {
{ "y4m", DEMUXER_TYPE_Y4M }, { "y4m", DEMUXER_TYPE_Y4M },
{ "mp3", DEMUXER_TYPE_AUDIO }, { "mp3", DEMUXER_TYPE_AUDIO },
{ "wav", DEMUXER_TYPE_AUDIO }, { "wav", DEMUXER_TYPE_AUDIO },
{ "pls", DEMUXER_TYPE_PLAYLIST },
{ "m3u", DEMUXER_TYPE_PLAYLIST }
}; };
streaming_ctrl_t * streaming_ctrl_t *
@ -706,6 +712,7 @@ streaming_start(stream_t *stream, int *demuxer_type, URL_t *url) {
case DEMUXER_TYPE_FILM: case DEMUXER_TYPE_FILM:
case DEMUXER_TYPE_ROQ: case DEMUXER_TYPE_ROQ:
case DEMUXER_TYPE_AUDIO: case DEMUXER_TYPE_AUDIO:
case DEMUXER_TYPE_PLAYLIST:
case DEMUXER_TYPE_UNKNOWN: case DEMUXER_TYPE_UNKNOWN:
// Generic start, doesn't need to filter // Generic start, doesn't need to filter
// the network stream, it's a raw stream // the network stream, it's a raw stream
@ -713,6 +720,8 @@ streaming_start(stream_t *stream, int *demuxer_type, URL_t *url) {
if( ret<0 ) { if( ret<0 ) {
printf("nop_streaming_start failed\n"); printf("nop_streaming_start failed\n");
} }
if((*demuxer_type) == DEMUXER_TYPE_PLAYLIST)
stream->type = STREAMTYPE_PLAYLIST;
break; break;
default: default:
printf("Unable to detect the streaming type\n"); printf("Unable to detect the streaming type\n");