mirror of
https://github.com/mpv-player/mpv
synced 2025-01-09 01:36:25 +01:00
added support for raw udp:// streaming
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@14721 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
31bb03baaa
commit
32dc0fe1b0
@ -700,6 +700,11 @@ extension=NULL;
|
||||
#endif
|
||||
}
|
||||
|
||||
if(!strcasecmp(url->protocol, "udp") ) {
|
||||
*file_format = DEMUXER_TYPE_UNKNOWN;
|
||||
return 0;
|
||||
}
|
||||
|
||||
// Old, hacked RTP support, which works for MPEG Streams
|
||||
// RTP streams only:
|
||||
// Checking for RTP
|
||||
@ -1185,7 +1190,7 @@ rtp_streaming_read( int fd, char *buffer, int size, streaming_ctrl_t *streaming_
|
||||
}
|
||||
|
||||
static int
|
||||
rtp_streaming_start( stream_t *stream ) {
|
||||
rtp_streaming_start( stream_t *stream, int raw_udp ) {
|
||||
streaming_ctrl_t *streaming_ctrl;
|
||||
int fd;
|
||||
|
||||
@ -1199,7 +1204,10 @@ rtp_streaming_start( stream_t *stream ) {
|
||||
stream->fd = fd;
|
||||
}
|
||||
|
||||
streaming_ctrl->streaming_read = rtp_streaming_read;
|
||||
if(raw_udp)
|
||||
streaming_ctrl->streaming_read = nop_streaming_read;
|
||||
else
|
||||
streaming_ctrl->streaming_read = rtp_streaming_read;
|
||||
streaming_ctrl->streaming_seek = nop_streaming_seek;
|
||||
streaming_ctrl->prebuffer_size = 64*1024; // 64 KBytes
|
||||
streaming_ctrl->buffering = 0;
|
||||
@ -1244,7 +1252,7 @@ streaming_start(stream_t *stream, int *demuxer_type, URL_t *url) {
|
||||
mp_msg(MSGT_NETWORK,MSGL_ERR,"streaming_start : Closing socket %d failed %s\n",stream->fd,strerror(errno));
|
||||
}
|
||||
stream->fd = -1;
|
||||
ret = rtp_streaming_start( stream );
|
||||
ret = rtp_streaming_start( stream, 0);
|
||||
} else
|
||||
|
||||
if( !strcasecmp( stream->streaming_ctrl->url->protocol, "pnm")) {
|
||||
@ -1269,6 +1277,14 @@ streaming_start(stream_t *stream, int *demuxer_type, URL_t *url) {
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
} else if(!strcasecmp( stream->streaming_ctrl->url->protocol, "udp")) {
|
||||
stream->fd = -1;
|
||||
ret = rtp_streaming_start(stream, 1);
|
||||
if(ret<0) {
|
||||
mp_msg(MSGT_NETWORK,MSGL_ERR,"rtp_streaming_start(udp) failed\n");
|
||||
return -1;
|
||||
}
|
||||
*demuxer_type = DEMUXER_TYPE_UNKNOWN;
|
||||
} else
|
||||
|
||||
// For connection-oriented streams, we can usually determine the streaming type.
|
||||
|
Loading…
Reference in New Issue
Block a user