From 8613396aa050e5ff67e15f1cbf10e83092d5811b Mon Sep 17 00:00:00 2001 From: reimar Date: Wed, 3 Feb 2010 22:32:48 +0000 Subject: Add support for FFmpeg's rtsp dummy URL-with-pseudo-demuxer scheme. ffmpeg://rtsp://... will play a rtsp stream via FFmpeg. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30498 b3059339-0415-0410-9bf9-f77b7e298cf2 --- stream/stream_ffmpeg.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'stream/stream_ffmpeg.c') diff --git a/stream/stream_ffmpeg.c b/stream/stream_ffmpeg.c index d64300022e..1d959b2907 100644 --- a/stream/stream_ffmpeg.c +++ b/stream/stream_ffmpeg.c @@ -75,6 +75,7 @@ static int open_f(stream_t *stream, int mode, void *opts, int *file_format) URLContext *ctx = NULL; int res = STREAM_ERROR; int64_t size; + int dummy; av_register_all(); if (mode == STREAM_READ) @@ -95,25 +96,28 @@ static int open_f(stream_t *stream, int mode, void *opts, int *file_format) } if (!strncmp(filename, prefix, strlen(prefix))) filename += strlen(prefix); + dummy = !strncmp(filename, "rtsp:", 5); mp_msg(MSGT_OPEN, MSGL_V, "[ffmpeg] Opening %s\n", filename); - if (url_open(&ctx, filename, flags) < 0) + if (!dummy && url_open(&ctx, filename, flags) < 0) goto out; stream->priv = ctx; - size = url_filesize(ctx); + size = dummy ? 0 : url_filesize(ctx); if (size >= 0) stream->end_pos = size; stream->type = STREAMTYPE_FILE; stream->seek = seek; - if (ctx->is_streamed) { + if (dummy || ctx->is_streamed) { stream->type = STREAMTYPE_STREAM; stream->seek = NULL; } + if (!dummy) { stream->fill_buffer = fill_buffer; stream->write_buffer = write_buffer; stream->control = control; stream->close = close_f; + } res = STREAM_OK; out: -- cgit v1.2.3 From 9d9b7a1e229e6bbff6616a8fc8320bcad990e558 Mon Sep 17 00:00:00 2001 From: reimar Date: Wed, 3 Feb 2010 22:33:35 +0000 Subject: Reindent git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@30499 b3059339-0415-0410-9bf9-f77b7e298cf2 --- stream/stream_ffmpeg.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'stream/stream_ffmpeg.c') diff --git a/stream/stream_ffmpeg.c b/stream/stream_ffmpeg.c index 1d959b2907..30d63001d0 100644 --- a/stream/stream_ffmpeg.c +++ b/stream/stream_ffmpeg.c @@ -113,10 +113,10 @@ static int open_f(stream_t *stream, int mode, void *opts, int *file_format) stream->seek = NULL; } if (!dummy) { - stream->fill_buffer = fill_buffer; - stream->write_buffer = write_buffer; - stream->control = control; - stream->close = close_f; + stream->fill_buffer = fill_buffer; + stream->write_buffer = write_buffer; + stream->control = control; + stream->close = close_f; } res = STREAM_OK; -- cgit v1.2.3