summaryrefslogtreecommitdiff
path: root/src/input/input_rtsp.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/input/input_rtsp.c')
-rw-r--r--src/input/input_rtsp.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/input/input_rtsp.c b/src/input/input_rtsp.c
index ad483bde8..2accc1515 100644
--- a/src/input/input_rtsp.c
+++ b/src/input/input_rtsp.c
@@ -68,6 +68,7 @@ typedef struct {
rtsp_session_t *rtsp;
char *mrl;
+ char *public_mrl;
off_t curpos;
@@ -187,13 +188,16 @@ static void rtsp_plugin_dispose (input_plugin_t *this_gen) {
if(this->mrl)
free(this->mrl);
+ if(this->public_mrl)
+ free(this->public_mrl);
+
free (this);
}
static char* rtsp_plugin_get_mrl (input_plugin_t *this_gen) {
rtsp_input_plugin_t *this = (rtsp_input_plugin_t *) this_gen;
- return this->mrl;
+ return this->public_mrl;
}
static int rtsp_plugin_get_optional_data (input_plugin_t *this_gen,
@@ -230,7 +234,13 @@ static input_plugin_t *open_plugin (input_class_t *cls_gen, xine_stream_t *strea
this = (rtsp_input_plugin_t *) xine_xmalloc (sizeof (rtsp_input_plugin_t));
this->rtsp = rtsp;
- this->mrl = mrl;
+ this->mrl = mrl;
+ /* since we handle only real streams yet, we can savely add
+ * an .rm extention to force handling by demux_real.
+ */
+ this->public_mrl = xine_xmalloc (sizeof (char)*(strlen(this->mrl)+10));
+ sprintf(this->public_mrl, "%s.rm", this->mrl);
+
this->nbc = nbc_init (stream);
this->input_plugin.get_capabilities = rtsp_plugin_get_capabilities;