diff -Naur MPlayer-20030719/libmpdemux/demuxer.c MPlayer-20030719-new/libmpdemux/demuxer.c --- MPlayer-20030719/libmpdemux/demuxer.c 2003-07-05 13:37:25.000000000 +0200 +++ MPlayer-20030719-new/libmpdemux/demuxer.c 2003-07-20 00:29:00.000000000 +0200 @@ -616,7 +616,7 @@ (ex: tv,mf). */ -static demuxer_t* demux_open_stream(stream_t *stream,int file_format,int audio_id,int video_id,int dvdsub_id,char* filename){ +demuxer_t* demux_open_stream(stream_t *stream,int file_format,int audio_id,int video_id,int dvdsub_id,char* filename){ //int file_format=(*file_format_ptr); diff -Naur MPlayer-20030719/libmpdemux/demux_rtp.cpp MPlayer-20030719-new/libmpdemux/demux_rtp.cpp --- MPlayer-20030719/libmpdemux/demux_rtp.cpp 2003-05-03 08:13:11.000000000 +0200 +++ MPlayer-20030719-new/libmpdemux/demux_rtp.cpp 2003-07-20 00:30:52.000000000 +0200 @@ -119,7 +119,15 @@ int rtspStreamOverTCP = 0; + +extern "C" demuxer_t* demux_open_stream(stream_t *stream,int file_format,int audio_id,int video_id,int dvdsub_id,char* filename); + extern "C" void demux_open_rtp(demuxer_t* demuxer) { + demuxer_t *od; + stream_t *s; + sh_video_t *sh_video; + sh_audio_t *sh_audio; + do { TaskScheduler* scheduler = BasicTaskScheduler::createNew(); if (scheduler == NULL) break; @@ -254,6 +262,19 @@ rtpState->flags |= flags; } } while (0); + + s = new_ds_stream(demuxer->video); + od = demux_open_stream(s, DEMUXER_TYPE_UNKNOWN, -1, -1, -1, NULL); + //WILL TURN TO (OR CAN BE FORCED TO) DEMUXER_TYPE_MPEG_TS or any other DEMUXER_TYPE_* if correctly flagged + + sh_video = new_sh_video(od, 0); + sh_video->ds = od->video; + demuxer->video->sh = sh_video; + + sh_audio = new_sh_audio(od, 0); + sh_audio->ds = od->audio; + demuxer->audio->sh = sh_audio; + } extern "C" int demux_is_mpeg_rtp_stream(demuxer_t* demuxer) {