diff options
author | wm4 <wm4@nowhere> | 2015-07-09 15:51:31 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2015-07-09 15:51:31 +0200 |
commit | d23d9dc39421226622dbeb3c6c62c54ad1c3a667 (patch) | |
tree | 0f1716cd239d5668cab4c3cd046ea012d9b6d0a7 /stream | |
parent | 23220db92443a5748cb034edf29b4c3b428bee5a (diff) | |
download | mpv-d23d9dc39421226622dbeb3c6c62c54ad1c3a667.tar.bz2 mpv-d23d9dc39421226622dbeb3c6c62c54ad1c3a667.tar.xz |
stream_file: add fd:// protocol
Diffstat (limited to 'stream')
-rw-r--r-- | stream/stream_file.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/stream/stream_file.c b/stream/stream_file.c index d0da8629bc..bfc50df5de 100644 --- a/stream/stream_file.c +++ b/stream/stream_file.c @@ -247,7 +247,15 @@ static int open_f(stream_t *stream) filename = stream->path; } - if (!strcmp(filename, "-")) { + if (strncmp(stream->url, "fd://", 5) == 0) { + char *end = NULL; + priv->fd = strtol(stream->url + 5, &end, 0); + if (!end || end == stream->url + 5 || end[0]) { + MP_ERR(stream, "Invalid FD: %s\n", stream->url); + return STREAM_ERROR; + } + priv->close = false; + } else if (!strcmp(filename, "-")) { if (!write) { MP_INFO(stream, "Reading from stdin...\n"); fd = 0; @@ -316,7 +324,7 @@ static int open_f(stream_t *stream) const stream_info_t stream_info_file = { .name = "file", .open = open_f, - .protocols = (const char*const[]){ "file", "", NULL }, + .protocols = (const char*const[]){ "file", "", "fd", NULL }, .can_write = true, .is_safe = true, }; |