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:
parent
a43fe42a2a
commit
c9fdd6b630
@ -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
|
||||||
|
@ -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");
|
||||||
|
Loading…
Reference in New Issue
Block a user