summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2012-08-18 10:50:14 +0200
committerwm4 <wm4@nowhere>2012-08-20 15:36:03 +0200
commite181547db10c48a92b6c4d891c184b416ebe2add (patch)
tree080c0e8d8c5b6f621a92abbc1bd47906d2230506
parent3a5d5f01d4d8d7beb53c3288d72db20f2ad0b141 (diff)
downloadmpv-e181547db10c48a92b6c4d891c184b416ebe2add.tar.bz2
mpv-e181547db10c48a92b6c4d891c184b416ebe2add.tar.xz
Remove support for libnemesi RTSP streaming
Removed due to being a maintainance burden. Support for FFmpeg is available.
-rw-r--r--Makefile2
-rw-r--r--cfg-mplayer.h19
-rwxr-xr-xconfigure23
-rw-r--r--libmpdemux/demux_nemesi.c500
-rw-r--r--libmpdemux/demuxer.c4
-rw-r--r--libmpdemux/demuxer.h1
-rw-r--r--stream/stream.c4
-rw-r--r--stream/stream_nemesi.c79
8 files changed, 0 insertions, 632 deletions
diff --git a/Makefile b/Makefile
index 91795fb4fa..31a83a4aa4 100644
--- a/Makefile
+++ b/Makefile
@@ -60,8 +60,6 @@ SRCS_COMMON-$(LIBDV) += libmpcodecs/ad_libdv.c \
SRCS_COMMON-$(LIBMAD) += libmpcodecs/ad_libmad.c
-SRCS_COMMON-$(LIBNEMESI) += libmpdemux/demux_nemesi.c \
- stream/stream_nemesi.c
SRCS_COMMON-$(LIBPOSTPROC) += libmpcodecs/vf_pp.c
SRCS_COMMON-$(LIBSMBCLIENT) += stream/stream_smb.c
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index ed788aab9a..4e2756b298 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -180,13 +180,6 @@ const m_option_t pvropts_conf[]={
extern const m_option_t dvbin_opts_conf[];
extern const m_option_t lavfdopts_conf[];
-int rtsp_transport_tcp;
-int rtsp_transport_http;
-int rtsp_transport_sctp;
-int rtsp_port;
-char *rtsp_destination;
-
-
extern int sws_chr_vshift;
extern int sws_chr_hshift;
extern float sws_chr_gblur;
@@ -382,18 +375,6 @@ const m_option_t common_opts[] = {
#endif /* HAVE_AF_INET6 */
#endif /* CONFIG_NETWORKING */
-#if defined(CONFIG_LIBNEMESI)
- // -rtsp-stream-over-tcp option, specifying TCP streaming of RTP/RTCP
- {"rtsp-stream-over-tcp", &rtsp_transport_tcp, CONF_TYPE_FLAG, 0, 0, 1, NULL},
-#endif /* defined(CONFIG_LIBNEMESI) */
-#ifdef CONFIG_LIBNEMESI
- {"rtsp-stream-over-sctp", &rtsp_transport_sctp, CONF_TYPE_FLAG, 0, 0, 1, NULL},
-#endif /* CONFIG_LIBNEMESI */
-#ifdef CONFIG_NETWORKING
- {"rtsp-port", &rtsp_port, CONF_TYPE_INT, CONF_RANGE, -1, 65535, NULL},
- {"rtsp-destination", &rtsp_destination, CONF_TYPE_STRING, CONF_MIN, 0, 0, NULL},
-#endif /* CONFIG_NETWORKING */
-
// ------------------------- demuxer options --------------------
// number of frames to play/convert
diff --git a/configure b/configure
index 3ebf7be99d..a92a488deb 100755
--- a/configure
+++ b/configure
@@ -320,7 +320,6 @@ Optional features:
--enable-winsock2_h enable winsock2_h [autodetect]
--enable-smb enable Samba (SMB) input [autodetect]
--enable-libquvi enable libquvi [autodetect]
- --enable-nemesi enable Nemesi Streaming Media [autodetect]
--enable-lcms2 enable LCMS2 support [autodetect]
--disable-vcd disable VCD support [autodetect]
--disable-bluray disable Blu-ray support [autodetect]
@@ -473,7 +472,6 @@ _libbs2b=auto
_vcd=auto
_bluray=auto
_dvdread=auto
-_nemesi=auto
_lcms2=auto
_xinerama=auto
_vm=auto
@@ -692,8 +690,6 @@ for ac_option do
--disable-bluray) _bluray=no ;;
--enable-dvdread) _dvdread=yes ;;
--disable-dvdread) _dvdread=no ;;
- --enable-nemesi) _nemesi=yes ;;
- --disable-nemesi) _nemesi=no ;;
--enable-lcms2) _lcms2=yes ;;
--disable-lcms2) _lcms2=no ;;
--enable-xinerama) _xinerama=yes ;;
@@ -3013,23 +3009,6 @@ else
fi
echores "$_lcms2"
-echocheck "Nemesi Streaming Media libraries"
-if test "$_nemesi" = auto && test "$networking" = yes ; then
- _nemesi=no
- if pkg_config_add libnemesi ; then
- _nemesi=yes
- fi
-fi
-if test "$_nemesi" = yes; then
- def_nemesi='#define CONFIG_LIBNEMESI 1'
- inputmodules="nemesi $inputmodules"
-else
- _nemesi=no
- def_nemesi='#undef CONFIG_LIBNEMESI'
- noinputmodules="nemesi $noinputmodules"
-fi
-echores "$_nemesi"
-
# Test with > against Libav 0.8 versions which will NOT work rather than
# specify minimum version, to allow (future) point releases to possibly work.
@@ -3489,7 +3468,6 @@ LIBBS2B = $_libbs2b
LIBDCA = $_libdca
LIBDV = $_libdv
LIBMAD = $_mad
-LIBNEMESI = $_nemesi
LCMS2 = $_lcms2
LIBPOSTPROC = $libpostproc
LIBSMBCLIENT = $_smb
@@ -3716,7 +3694,6 @@ $def_ftp
$def_inet6
$def_inet_aton
$def_inet_pton
-$def_nemesi
$def_networking
$def_smb
$def_libquvi
diff --git a/libmpdemux/demux_nemesi.c b/libmpdemux/demux_nemesi.c
deleted file mode 100644
index b5c9cd4ad2..0000000000
--- a/libmpdemux/demux_nemesi.c
+++ /dev/null
@@ -1,500 +0,0 @@
-/*
- * Copyright (C) 2007 Alessandro Molina <amol.wrk@gmail.com>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#include <stdlib.h>
-#include <stdio.h>
-#include "stream/stream.h"
-#include "demuxer.h"
-#include "stheader.h"
-#define HAVE_STRUCT_SOCKADDR_STORAGE
-#include "nemesi/rtsp.h"
-#include "nemesi/rtp.h"
-#include <sched.h>
-
-int rtsp_transport_http = 0;
-int rtsp_transport_tcp = 0;
-int rtsp_transport_sctp = 0;
-int rtsp_port = 0;
-
-typedef struct {
- char * mime;
- unsigned int fourcc;
-} MIMEto4CC;
-
-#define NMS_MAX_FORMATS 16
-
-MIMEto4CC supported_audio[NMS_MAX_FORMATS] = {
- {"MPA", 0x55},
- {"vorbis", mmioFOURCC('v','r','b','s')},
- {"mpeg4-generic", mmioFOURCC('M','P','4','A')},
- {NULL, 0},
-};
-
-MIMEto4CC supported_video[NMS_MAX_FORMATS] = {
- {"MPV", mmioFOURCC('M','P','E','G')},
- {"theora",mmioFOURCC('t','h','e','o')},
- {"H264", mmioFOURCC('H','2','6','4')},
- {"H263-1998", mmioFOURCC('H','2','6','3')},
- {"MP4V-ES", mmioFOURCC('M','P','4','V')},
- {NULL, 0},
-};
-
-typedef enum { NEMESI_SESSION_VIDEO,
- NEMESI_SESSION_AUDIO } Nemesi_SessionType;
-
-typedef struct {
- rtsp_ctrl * rtsp;
- rtp_session * session[2];
- rtp_frame first_pkt[2];
- double time[2];
- double seek;
-} Nemesi_DemuxerStreamData;
-
-
-#define STYPE_TO_DS(demuxer, stype) \
- ((stype) == NEMESI_SESSION_VIDEO ? (demuxer)->video : (demuxer)->audio)
-
-#define DS_TO_STYPE(demuxer, ds) \
- ((ds) == (demuxer)->video ? NEMESI_SESSION_VIDEO : NEMESI_SESSION_AUDIO)
-
-#define INVERT_STYPE(stype) ((stype + 1) % 2)
-
-static unsigned int get4CC(MIMEto4CC * supported_formats, char const * format)
-{
- unsigned i;
-
- for(i = 0; i < NMS_MAX_FORMATS; ++i) {
- if (!supported_formats[i].mime)
- return 0;
- else if ( strcmp(supported_formats[i].mime, format) == 0 )
- return supported_formats[i].fourcc;
- }
-
- return 0;
-}
-
-static rtp_ssrc *wait_for_packets(Nemesi_DemuxerStreamData * ndsd, Nemesi_SessionType stype)
-{
- rtp_ssrc *ssrc = NULL;
-
- /* Wait for prebuffering (prebuffering must be enabled in nemesi) */
- int terminated = rtp_fill_buffers(rtsp_get_rtp_th(ndsd->rtsp));
-
- /* Wait for the ssrc to be registered, if prebuffering is on in nemesi
- this will just get immediatly the correct ssrc */
- if (!terminated) {
- while ( !(ssrc = rtp_session_get_ssrc(ndsd->session[stype], ndsd->rtsp)) )
- sched_yield();
- }
-
- return ssrc;
-}
-
-static void link_session_and_fetch_conf(Nemesi_DemuxerStreamData * ndsd,
- Nemesi_SessionType stype,
- rtp_session * sess,
- rtp_buff * buff, unsigned int * fps)
-{
- extern double force_fps;
- rtp_ssrc *ssrc = NULL;
- rtp_frame * fr = &ndsd->first_pkt[stype];
- rtp_buff trash_buff;
- int must_prefetch = ((fps != NULL) || (buff != NULL)) ? 1 : 0;
-
- ndsd->session[stype] = sess;
-
- ssrc = wait_for_packets(ndsd, stype);
-
- if ( ((ssrc) && (must_prefetch)) ) {
- if (buff == NULL)
- buff = &trash_buff;
-
- rtp_fill_buffer(ssrc, fr, buff); //Prefetch the first packet
-
- /* Packet prefecthing must be done anyway or we won't be
- able to get the metadata, but fps calculation happens
- only if the user didn't specify the FPS */
- if ( ((!force_fps) && (fps != NULL)) ) {
- while ( *fps <= 0 ) {
- //Wait more pkts to calculate FPS and try again
- sched_yield();
- *fps = rtp_get_fps(ssrc);
- }
- }
- }
-}
-
-static demuxer_t* demux_open_rtp(demuxer_t* demuxer)
-{
- nms_rtsp_hints hints;
- char * url = demuxer->stream->streaming_ctrl->url->url;
- rtsp_ctrl * ctl;
- RTSP_Error reply;
- rtsp_medium * media;
- Nemesi_DemuxerStreamData * ndsd = calloc(1, sizeof(Nemesi_DemuxerStreamData));
-
- memset(&hints,0,sizeof(hints));
- if (rtsp_port) hints.first_rtp_port = rtsp_port;
- if (rtsp_transport_tcp) {
- hints.pref_rtsp_proto = TCP;
- hints.pref_rtp_proto = TCP;
- }
- if (rtsp_transport_sctp) {
- hints.pref_rtsp_proto = SCTP;
- hints.pref_rtp_proto = SCTP;
- }
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Initializing libNemesi\n");
- if ((ctl = rtsp_init(&hints)) == NULL) {
- free(ndsd);
- return STREAM_ERROR;
- }
-
- ndsd->rtsp = ctl;
- demuxer->priv = ndsd;
- //nms_verbosity_set(1);
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Opening: %s\n", url);
- if (rtsp_open(ctl, url)) {
- mp_msg(MSGT_DEMUX, MSGL_ERR, "rtsp_open failed.\n");
- return demuxer;
- }
-
- reply = rtsp_wait(ctl);
- if (reply.got_error) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "OPEN Error from the server: %s\n",
- reply.message.reply_str);
- return demuxer;
- }
-
- rtsp_play(ctl, 0, 0);
- reply = rtsp_wait(ctl);
- if (reply.got_error) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "PLAY Error from the server: %s\n",
- reply.message.reply_str);
- return demuxer;
- }
-
- if (!ctl->rtsp_queue)
- return demuxer;
-
- media = ctl->rtsp_queue->media_queue;
- for (; media; media=media->next) {
- sdp_medium_info * info = media->medium_info;
- rtp_session * sess = media->rtp_sess;
- rtp_buff buff;
-
- int media_format = atoi(info->fmts);
- rtp_pt * ptinfo = rtp_get_pt_info(sess, media_format);
- char const * format_name = ptinfo ? ptinfo->name : NULL;
-
- memset(&buff, 0, sizeof(rtp_buff));
-
- if (sess->parsers[media_format] == NULL) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "libNemesi unsupported media format: %s\n",
- format_name ? format_name : info->fmts);
- continue;
- }
- else {
- mp_msg(MSGT_DEMUX, MSGL_INFO,
- "libNemesi supported media: %s\n",
- format_name);
- }
-
- if (ptinfo->type == AU) {
- if (ndsd->session[NEMESI_SESSION_AUDIO] == NULL) {
- sh_audio_t* sh_audio = new_sh_audio(demuxer,0);
- WAVEFORMATEX* wf;
- demux_stream_t* d_audio = demuxer->audio;
- demuxer->audio->id = 0;
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Detected as AUDIO stream...\n");
-
- link_session_and_fetch_conf(ndsd, NEMESI_SESSION_AUDIO,
- sess, &buff, NULL);
-
- wf = calloc(1,sizeof(*wf)+buff.len);
- wf->cbSize = buff.len;
- memcpy(wf+1, buff.data, buff.len);
-
- sh_audio->wf = wf;
- d_audio->sh = sh_audio;
- sh_audio->ds = d_audio;
- wf->nSamplesPerSec = 0;
-
- wf->wFormatTag =
- sh_audio->format = get4CC(supported_audio, format_name);
- if ( !(wf->wFormatTag) )
- mp_msg(MSGT_DEMUX, MSGL_WARN,
- "Unknown MPlayer format code for MIME"
- " type \"audio/%s\"\n", format_name);
- } else {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "There is already an audio session registered,"
- " ignoring...\n");
- }
- } else if (ptinfo->type == VI) {
- if (ndsd->session[NEMESI_SESSION_VIDEO] == NULL) {
- sh_video_t* sh_video;
- BITMAPINFOHEADER* bih;
- demux_stream_t* d_video;
- int fps = 0;
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Detected as VIDEO stream...\n");
-
- link_session_and_fetch_conf(ndsd, NEMESI_SESSION_VIDEO,
- sess, &buff, &fps);
-
- bih = calloc(1,sizeof(*bih)+buff.len);
- bih->biSize = sizeof(*bih)+buff.len;
- memcpy(bih+1, buff.data, buff.len);
-
- sh_video = new_sh_video(demuxer,0);
- sh_video->bih = bih;
- d_video = demuxer->video;
- d_video->sh = sh_video;
- sh_video->ds = d_video;
-
- if (fps) {
- sh_video->fps = fps;
- sh_video->frametime = 1.0/fps;
- }
-
- bih->biCompression =
- sh_video->format = get4CC(supported_video, format_name);
- if ( !(bih->biCompression) ) {
- mp_msg(MSGT_DEMUX, MSGL_WARN,
- "Unknown MPlayer format code for MIME"
- " type \"video/%s\"\n", format_name);
- }
- } else {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "There is already a video session registered,"
- " ignoring...\n");
- }
- } else {
- mp_msg(MSGT_DEMUX, MSGL_ERR, "Unsupported media type\n");
- }
- }
-
- demuxer->stream->eof = 0;
-
- return demuxer;
-}
-
-static int get_data_for_session(Nemesi_DemuxerStreamData * ndsd,
- Nemesi_SessionType stype, rtp_ssrc * ssrc,
- rtp_frame * fr)
-{
- if (ndsd->first_pkt[stype].len != 0) {
- fr->data = ndsd->first_pkt[stype].data;
- fr->time_sec = ndsd->first_pkt[stype].time_sec;
- fr->len = ndsd->first_pkt[stype].len;
- ndsd->first_pkt[stype].len = 0;
- return RTP_FILL_OK;
- } else {
- rtp_buff buff;
- return rtp_fill_buffer(ssrc, fr, &buff);
- }
-}
-
-static void stream_add_packet(Nemesi_DemuxerStreamData * ndsd,
- Nemesi_SessionType stype,
- demux_stream_t* ds, rtp_frame * fr)
-{
- demux_packet_t* dp = new_demux_packet(fr->len);
- memcpy(dp->buffer, fr->data, fr->len);
-
- fr->time_sec += ndsd->seek;
- ndsd->time[stype] = dp->pts = fr->time_sec;
-
- ds_add_packet(ds, dp);
-}
-
-static int demux_rtp_fill_buffer(demuxer_t* demuxer, demux_stream_t* ds)
-{
- Nemesi_DemuxerStreamData * ndsd = demuxer->priv;
- Nemesi_SessionType stype;
- rtp_ssrc * ssrc;
- rtp_frame fr;
-
- if ( (!ndsd->rtsp->rtsp_queue) || (demuxer->stream->eof) ) {
- mp_msg(MSGT_DEMUX, MSGL_INFO, "End of Stream...\n");
- demuxer->stream->eof = 1;
- return 0;
- }
-
- memset(&fr, 0, sizeof(fr));
-
- stype = DS_TO_STYPE(demuxer, ds);
- if ( (ssrc = wait_for_packets(ndsd, stype)) == NULL ) {
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Bye...\n");
- demuxer->stream->eof = 1;
- return 0;
- }
-
- if(!get_data_for_session(ndsd, stype, ssrc, &fr))
- stream_add_packet(ndsd, stype, ds, &fr);
- else {
- stype = INVERT_STYPE(stype);
-
- //Must check if we actually have a stream of the other type
- if (!ndsd->session[stype])
- return 1;
-
- ds = STYPE_TO_DS(demuxer, stype);
- ssrc = wait_for_packets(ndsd, stype);
-
- if(!get_data_for_session(ndsd, stype, ssrc, &fr))
- stream_add_packet(ndsd, stype, ds, &fr);
- }
-
- return 1;
-}
-
-
-static void demux_close_rtp(demuxer_t* demuxer)
-{
- Nemesi_DemuxerStreamData * ndsd = demuxer->priv;
- rtsp_ctrl * ctl = ndsd->rtsp;
- RTSP_Error err;
-
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Closing libNemesi RTSP Stream...\n");
-
- if (ndsd == NULL)
- return;
-
- free(ndsd);
-
- if (rtsp_close(ctl)) {
- err = rtsp_wait(ctl);
- if (err.got_error)
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "Error Closing Stream: %s\n",
- err.message.reply_str);
- }
-
- rtsp_uninit(ctl);
-}
-
-static void demux_seek_rtp(demuxer_t *demuxer, float rel_seek_secs,
- float audio_delay, int flags)
-{
- Nemesi_DemuxerStreamData * ndsd = demuxer->priv;
- rtsp_ctrl * ctl = ndsd->rtsp;
- sdp_attr * r_attr = NULL;
- sdp_range r = {0, 0};
- double time = ndsd->time[NEMESI_SESSION_VIDEO] ?
- ndsd->time[NEMESI_SESSION_VIDEO] :
- ndsd->time[NEMESI_SESSION_AUDIO];
-
- if (!ctl->rtsp_queue)
- return;
-
- r_attr = sdp_get_attr(ctl->rtsp_queue->info->attr_list, "range");
- if (r_attr)
- r = sdp_parse_range(r_attr->value);
-
- //flags & 1 -> absolute seek
- //flags & 2 -> percent seek
- if (flags == 0) {
- time += rel_seek_secs;
- if (time < r.begin)
- time = r.begin;
- else if (time > r.end)
- time = r.end;
- ndsd->seek = time;
-
- mp_msg(MSGT_DEMUX,MSGL_WARN,"libNemesi SEEK %f on %f - %f)\n",
- time, r.begin, r.end);
-
- if (!rtsp_seek(ctl, time, 0)) {
- RTSP_Error err = rtsp_wait(ctl);
- if (err.got_error) {
- mp_msg(MSGT_DEMUX, MSGL_ERR,
- "Error Performing Seek: %s\n",
- err.message.reply_str);
- demuxer->stream->eof = 1;
- }
- else
- mp_msg(MSGT_DEMUX, MSGL_INFO, "Seek, performed\n");
- }
- else {
- mp_msg(MSGT_DEMUX, MSGL_ERR, "Unable to pause stream to perform seek\n");
- demuxer->stream->eof = 1;
- }
- }
- else
- mp_msg(MSGT_DEMUX, MSGL_ERR, "Unsupported seek type\n");
-}
-
-static int demux_rtp_control(struct demuxer *demuxer, int cmd, void *arg)
-{
- Nemesi_DemuxerStreamData * ndsd = demuxer->priv;
- rtsp_ctrl * ctl = ndsd->rtsp;
- sdp_attr * r_attr = NULL;
- sdp_range r = {0, 0};
- double time = ndsd->time[NEMESI_SESSION_VIDEO] ?
- ndsd->time[NEMESI_SESSION_VIDEO] :
- ndsd->time[NEMESI_SESSION_AUDIO];
-
- if (!ctl->rtsp_queue)
- return DEMUXER_CTRL_DONTKNOW;
-
- r_attr = sdp_get_attr(ctl->rtsp_queue->info->attr_list, "range");
- if (r_attr)
- r = sdp_parse_range(r_attr->value);
-
- switch (cmd) {
- case DEMUXER_CTRL_GET_TIME_LENGTH:
- if (r.end == 0)
- return DEMUXER_CTRL_DONTKNOW;
-
- *((double *)arg) = ((double)r.end) - ((double)r.begin);
- return DEMUXER_CTRL_OK;
-
- case DEMUXER_CTRL_GET_PERCENT_POS:
- if (r.end == 0)
- return DEMUXER_CTRL_DONTKNOW;
-
- *((int *)arg) = (int)( time * 100 / (r.end - r.begin) );
- return DEMUXER_CTRL_OK;
- default:
- return DEMUXER_CTRL_DONTKNOW;
- }
-}
-
-const demuxer_desc_t demuxer_desc_rtp_nemesi = {
- "libnemesi RTP demuxer",
- "nemesi",
- "",
- "Alessandro Molina",
- "requires libnemesi",
- DEMUXER_TYPE_RTP_NEMESI,
- 0, // no autodetect
- NULL,
- demux_rtp_fill_buffer,
- demux_open_rtp,
- demux_close_rtp,
- demux_seek_rtp,
- demux_rtp_control
-};
diff --git a/libmpdemux/demuxer.c b/libmpdemux/demuxer.c
index db1c1a5549..6f41d62fcc 100644
--- a/libmpdemux/demuxer.c
+++ b/libmpdemux/demuxer.c
@@ -61,7 +61,6 @@ extern const demuxer_desc_t demuxer_desc_asf;
extern const demuxer_desc_t demuxer_desc_matroska;
extern const demuxer_desc_t demuxer_desc_gif;
extern const demuxer_desc_t demuxer_desc_rawdv;
-extern const demuxer_desc_t demuxer_desc_rtp_nemesi;
extern const demuxer_desc_t demuxer_desc_lavf;
extern const demuxer_desc_t demuxer_desc_lavf_preferred;
extern const demuxer_desc_t demuxer_desc_mng;
@@ -86,9 +85,6 @@ const demuxer_desc_t *const demuxer_list[] = {
#ifdef CONFIG_GIF
&demuxer_desc_gif,
#endif
-#ifdef CONFIG_LIBNEMESI
- &demuxer_desc_rtp_nemesi,
-#endif
&demuxer_desc_lavf,
#ifdef CONFIG_LIBDV095
&demuxer_desc_rawdv,
diff --git a/libmpdemux/demuxer.h b/libmpdemux/demuxer.h
index 072c140975..d72f1b2f41 100644
--- a/libmpdemux/demuxer.h
+++ b/libmpdemux/demuxer.h
@@ -64,7 +64,6 @@ enum demuxer_type {
DEMUXER_TYPE_AAC,
DEMUXER_TYPE_MPC,
DEMUXER_TYPE_LAVF_PREFERRED,
- DEMUXER_TYPE_RTP_NEMESI,
DEMUXER_TYPE_MNG,
DEMUXER_TYPE_EDL,
DEMUXER_TYPE_CUE,
diff --git a/stream/stream.c b/stream/stream.c
index 9fab0443e6..d7500cc790 100644
--- a/stream/stream.c
+++ b/stream/stream.c
@@ -61,7 +61,6 @@ extern const stream_info_t stream_info_vcd;
extern const stream_info_t stream_info_cdda;
extern const stream_info_t stream_info_netstream;
extern const stream_info_t stream_info_asf;
-extern const stream_info_t stream_info_rtsp;
extern const stream_info_t stream_info_udp;
extern const stream_info_t stream_info_http1;
extern const stream_info_t stream_info_http2;
@@ -92,9 +91,6 @@ static const stream_info_t* const auto_open_streams[] = {
&stream_info_netstream,
&stream_info_http1,
&stream_info_asf,
-#ifdef CONFIG_LIBNEMESI
- &stream_info_rtsp,
-#endif
&stream_info_udp,
&stream_info_http2,
#endif
diff --git a/stream/stream_nemesi.c b/stream/stream_nemesi.c
deleted file mode 100644
index 7cc4ccafa5..0000000000
--- a/stream/stream_nemesi.c
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * based on previous RTSP support from Benjamin Zores.
- *
- * Copyright (C) 2007 Alessandro Molina <amol.wrk@gmail.com>
- *
- * This file is part of MPlayer.
- *
- * MPlayer is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * MPlayer is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with MPlayer; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#define HAVE_STRUCT_SOCKADDR_STORAGE
-
-#include <stdlib.h>
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <ctype.h>
-#include "config.h"
-#include "nemesi/rtsp.h"
-
-#include <errno.h>
-
-#include "stream.h"
-#include "libmpdemux/demuxer.h"
-
-#include "tcp.h"
-
-extern int network_bandwidth;
-char *rtsp_destination = NULL;
-
-static int rtsp_streaming_seek(int fd, off_t pos,
- streaming_ctrl_t* streaming_ctrl) {
- return -1;
-}
-
-static int rtsp_streaming_open (stream_t *stream, int mode, void *opts,
- int *file_format)
-{
- rtsp_ctrl * ctl;
- URL_t *url;
- stream->fd = -1;
-
- mp_msg (MSGT_OPEN, MSGL_V, "STREAM_RTSP, URL: %s\n", stream->url);
- stream->streaming_ctrl = streaming_ctrl_new ();
- if (!stream->streaming_ctrl)
- return STREAM_ERROR;
-
- stream->streaming_ctrl->bandwidth = network_bandwidth;
- url = url_new(stream->url);
- stream->streaming_ctrl->url = check4proxies(url);
- stream->streaming_ctrl->streaming_seek = rtsp_streaming_seek;
-
- *file_format = DEMUXER_TYPE_RTP_NEMESI;
- stream->type = STREAMTYPE_STREAM;
- return STREAM_OK;
-}
-
-const stream_info_t stream_info_rtsp = {
- "RTSP streaming",
- "rtsp",
- "Alessandro Molina",
- "implemented over libnemesi",
- rtsp_streaming_open,
- {"rtsp", NULL},
- NULL,
- 0 /* Urls are an option string */
-};