X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=ffserver.c;h=029771c20a3375e5af328bec43288126f4a984a1;hb=97b8db334a63e89a0571b625595024872e40307c;hp=fb8ab7d3e718db9647337be80bf7006d94ec0958;hpb=c63847528219e8e14735ac4778d53242f58afb21;p=ffmpeg diff --git a/ffserver.c b/ffserver.c index fb8ab7d3e71..029771c20a3 100644 --- a/ffserver.c +++ b/ffserver.c @@ -300,9 +300,9 @@ bail_eio: static void ffm_set_write_index(AVFormatContext *s, int64_t pos, int64_t file_size) { - FFMContext *ffm = s->priv_data; - ffm->write_index = pos; - ffm->file_size = 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); } static char *ctime1(char *buf2, size_t buf_size) @@ -2370,6 +2370,7 @@ static int http_prepare_data(HTTPContext *c) av_freep(&c->pb_buffer); len = avio_close_dyn_buf(ctx->pb, &c->pb_buffer); + ctx->pb = NULL; c->cur_frame_bytes = len; c->buffer_ptr = c->pb_buffer; c->buffer_end = c->pb_buffer + len; @@ -2837,7 +2838,7 @@ static int rtsp_parse_request(HTTPContext *c) len = sizeof(line) - 1; memcpy(line, p, len); line[len] = '\0'; - ff_rtsp_parse_line(header, line, NULL, NULL); + ff_rtsp_parse_line(NULL, header, line, NULL, NULL); p = p1 + 1; } @@ -3412,6 +3413,7 @@ static int rtp_new_av_stream(HTTPContext *c, return -1; } avio_close_dyn_buf(ctx->pb, &dummy_buf); + ctx->pb = NULL; av_free(dummy_buf); c->rtp_ctx[stream_index] = ctx;