avformat/subfile: allow to extract till EOF
authorGyan Doshi <gyandoshi@gmail.com>
Wed, 15 Nov 2017 12:06:19 +0000 (17:36 +0530)
committerNicolas George <george@nsup.org>
Sun, 19 Nov 2017 18:11:50 +0000 (19:11 +0100)
Users can set end offset as 0 to extract till end of file.
Tested locally and documented.

doc/protocols.texi
libavformat/subfile.c

index 4d48f8a..8661aea 100644 (file)
@@ -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
index 497cf85..b527f2b 100644 (file)
@@ -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);