aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Collyer <ovcollyer@mac.com>2016-02-20 09:33:49 +0200
committerMichael Niedermayer <michael@niedermayer.cc>2016-02-21 12:59:07 +0100
commita2f8beef2dfaee573f7c4a607afaa9e83fc2c1e0 (patch)
treee771966f35e9c0f6d0d8c26b613f869b5a43c39e
parent100167451af5b385c7c82e214e10bff410ba3516 (diff)
downloadffmpeg-a2f8beef2dfaee573f7c4a607afaa9e83fc2c1e0.tar.gz
ffserver&ffm: Fixed issues preventing ffserver write_index and files_size from being set correctly which was breaking ffserver streaming.
I discovered that ffserver streaming was broken (it seems like it has been since 20th November) and I opened a ticket for this (https://trac.ffmpeg.org/ticket/5250 <https://trac.ffmpeg.org/ticket/5250>). I spent yesterday learning git bisect (with the kind help of cehoyos) to painstakingly track down the cause. This was made more difficult due to the presence of a segfault in ffserver during the period where the bug was introduced so I first had to identify when and how that was fixed and then retrospectively apply that fix again for each step of the second git bisect to find the actual bug. Anyway, the fruits of my labour are the innocent looking patch below to correct a couple of typos and define a valid range for two variables. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-rw-r--r--ffserver.c4
-rw-r--r--libavformat/ffmdec.c4
2 files changed, 4 insertions, 4 deletions
diff --git a/ffserver.c b/ffserver.c
index bc7dbee760..374af99cc7 100644
--- a/ffserver.c
+++ b/ffserver.c
@@ -373,8 +373,8 @@ static void ffm_set_write_index(AVFormatContext *s, int64_t pos,
int64_t file_size)
{
av_opt_set_int(s, "server_attached", 1, AV_OPT_SEARCH_CHILDREN);
- av_opt_set_int(s, "write_index", pos, AV_OPT_SEARCH_CHILDREN);
- av_opt_set_int(s, "file_size", file_size, AV_OPT_SEARCH_CHILDREN);
+ av_opt_set_int(s, "ffm_write_index", pos, AV_OPT_SEARCH_CHILDREN);
+ av_opt_set_int(s, "ffm_file_size", file_size, AV_OPT_SEARCH_CHILDREN);
}
static char *ctime1(char *buf2, size_t buf_size)
diff --git a/libavformat/ffmdec.c b/libavformat/ffmdec.c
index 41c518f3c7..257319bd06 100644
--- a/libavformat/ffmdec.c
+++ b/libavformat/ffmdec.c
@@ -775,8 +775,8 @@ static int ffm_probe(AVProbeData *p)
static const AVOption options[] = {
{"server_attached", NULL, offsetof(FFMContext, server_attached), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, AV_OPT_FLAG_EXPORT },
- {"ffm_write_index", NULL, offsetof(FFMContext, write_index), AV_OPT_TYPE_INT64, {.i64 = 0}, 0, 1, AV_OPT_FLAG_EXPORT },
- {"ffm_file_size", NULL, offsetof(FFMContext, file_size), AV_OPT_TYPE_INT64, {.i64 = 0}, 0, 1, AV_OPT_FLAG_EXPORT },
+ {"ffm_write_index", NULL, offsetof(FFMContext, write_index), AV_OPT_TYPE_INT64, {.i64 = 0}, 0, INT64_MAX, AV_OPT_FLAG_EXPORT },
+ {"ffm_file_size", NULL, offsetof(FFMContext, file_size), AV_OPT_TYPE_INT64, {.i64 = 0}, 0, INT64_MAX, AV_OPT_FLAG_EXPORT },
{ NULL },
};