diff options
author | Gyan Doshi <gyandoshi@gmail.com> | 2017-11-15 17:36:19 +0530 |
---|---|---|
committer | Nicolas George <george@nsup.org> | 2017-11-19 19:11:50 +0100 |
commit | e75fe0ef213074381c09e074f1f9619012f1ffad (patch) | |
tree | 0aa5ee1ee379af89ad348dfdeab49bd6e708d63b | |
parent | 4f4e19914ddca5096bf7639c7c99a9045e436e8b (diff) | |
download | ffmpeg-e75fe0ef213074381c09e074f1f9619012f1ffad.tar.gz |
avformat/subfile: allow to extract till EOF
Users can set end offset as 0 to extract till end of file.
Tested locally and documented.
-rw-r--r-- | doc/protocols.texi | 6 | ||||
-rw-r--r-- | libavformat/subfile.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/doc/protocols.texi b/doc/protocols.texi index 4d48f8a411..8661aea147 100644 --- a/doc/protocols.texi +++ b/doc/protocols.texi @@ -1186,6 +1186,7 @@ Accepted options: Start offset of the extracted segment, in bytes. @item end End offset of the extracted segment, in bytes. +If set to 0, extract till end of file. @end table Examples: @@ -1201,6 +1202,11 @@ Play an AVI file directly from a TAR archive: subfile,,start,183241728,end,366490624,,:archive.tar @end example +Play a MPEG-TS file from start offset till end: +@example +subfile,,start,32815239,end,0,,:video.ts +@end example + @section tee Writes the output to multiple protocols. The individual outputs are separated diff --git a/libavformat/subfile.c b/libavformat/subfile.c index 497cf85211..b527f2bee1 100644 --- a/libavformat/subfile.c +++ b/libavformat/subfile.c @@ -72,6 +72,9 @@ static int subfile_open(URLContext *h, const char *filename, int flags, SubfileContext *c = h->priv_data; int ret; + if (!c->end) + c->end = INT64_MAX; + if (c->end <= c->start) { av_log(h, AV_LOG_ERROR, "end before start\n"); return AVERROR(EINVAL); |