Rodger Combs
362c17e656
lavf/http: fix incorrect warning in range requests
2015-11-25 19:34:01 -06:00
Michael Niedermayer
4d76e89c18
avformat/http: Initialize .str based default for AV_OPT_TYPE_STRING types
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-31 22:37:53 +01:00
Michael Niedermayer
7277a4ace9
avformat/http: add reconnect_delay_max option
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-09 02:23:38 +02:00
Michael Niedermayer
bdbab4a351
avformat/http: exponentially delay reconnection to avoid flooding the server
...
Reviewed-by: Zhang Rui <bbcallen@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-07 19:28:46 +02:00
Michael Niedermayer
9bd68dea2b
avformat/http: Add reconnect_at_eof and reconnect_streamed options
...
They allow reconnecting endless live streams which fail with eof
Reviewed-by: Zhang Rui <bbcallen@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-07 19:26:43 +02:00
Michael Niedermayer
63974bd494
avformat/http: print error that causes reconnection
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-06 20:43:38 +02:00
Michael Niedermayer
7990beedee
avformat/http: require seekability only when seeking to position != 0
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-06 20:43:38 +02:00
Stephan Holljes
280d140cb0
lavf/http: Remove superfluous parenthesis.
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Reviewed-by: Ganesh Ajjanagadde <gajjanag@mit.edu>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 20:11:29 +02:00
Stephan Holljes
dd7b486e8e
lavf/http: Fix incorrectly placed parenthesis.
...
The assignment had incorrectly placed parentheses which resulted in ret
always being > 0.
Reviewed-by: wm4 <nfxjfg@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-09-03 18:55:49 +02:00
Stephan Holljes
4f860848ab
lavf/http: Fix parsing http request data to not read over '\0'.
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-08-25 19:51:13 +02:00
Stephan Holljes
3240e69de6
lavf/http: Implement server side network code.
...
add http_accept,
add http_handshake and move handshake logic there,
handle connection closing.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-08-01 00:58:31 +02:00
Michael Niedermayer
8e67599505
Merge commit '5ae178539b91d25710b7bb322d156c31aea9f8bf'
...
* commit '5ae178539b91d25710b7bb322d156c31aea9f8bf':
http: Add the trailing endlines if they are missing
Merged-by: Michael Niedermayer <michael@niedermayer.cc>
2015-07-30 16:24:03 +02:00
Luca Barbato
5ae178539b
http: Add the trailing endlines if they are missing
...
Makes slightly easier the life of those want to use the option
from the command line
2015-07-30 11:21:26 +02:00
Stephan Holljes
de3a7ef204
lavf/http: Correctly terminate session with HTTP POST client.
...
Send a footer to correctly close client sockets.
This fixes network errors in client applications.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Reviewed-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-06-10 18:17:28 +02:00
Stephan Holljes
44d1921200
lavf/http: Add simple autodetection for client HTTP method, based on AVIO_FLAG_READ.
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:24:50 +02:00
Stephan Holljes
290b237556
lavf/http: Indent else-clause.
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:24:50 +02:00
Stephan Holljes
a7e7c68b0e
lavf/http: Properly process HTTP header on listen.
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:24:50 +02:00
Stephan Holljes
8cfaa76a5e
lavf/http: Rudimentary error handling for HTTP requests received from clients.
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:24:43 +02:00
Stephan Holljes
bbcee92b6d
lavf/http: Process HTTP header before sending response.
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:13:42 +02:00
Stephan Holljes
aa74401af8
lavf/http: Document method option.
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
2015-06-06 09:13:41 +02:00
Michael Niedermayer
a649f36f75
avformat/http: Mark lower_proto as const in http_listen()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-10 15:01:36 +02:00
Rodger Combs
71b69df622
lavf/http: support HTTPS when listening
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-02 12:03:48 +02:00
Michael Niedermayer
40d552dae6
Merge commit '1a3eb042c704dea190c644def5b32c9cee8832b8'
...
* commit '1a3eb042c704dea190c644def5b32c9cee8832b8':
Replace av_dlog with normal av_log at trace level
Conflicts:
ffplay.c
libavdevice/fbdev_dec.c
libavfilter/avfilter.c
libavfilter/internal.h
libavfilter/setpts.c
libavfilter/src_movie.c
libavfilter/vf_crop.c
libavfilter/vf_drawtext.c
libavfilter/vf_fieldorder.c
libavformat/assdec.c
libavformat/avidec.c
libavformat/flvdec.c
libavformat/http.c
libavformat/ipmovie.c
libavformat/isom.c
libavformat/mov.c
libavformat/mpegenc.c
libavformat/mpegts.c
libavformat/mpegtsenc.c
libavformat/mux.c
libavformat/mxfdec.c
libavformat/nsvdec.c
libavformat/oggdec.c
libavformat/r3d.c
libavformat/rtspdec.c
libavformat/utils.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-20 03:19:47 +02:00
Michael Niedermayer
22c0585a00
avformat/http: Fix 2 typos
...
Found-by: wm4
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 14:26:40 +02:00
Vittorio Giovara
1a3eb042c7
Replace av_dlog with normal av_log at trace level
...
This applies to every library where performance is not critical.
2015-04-19 12:41:59 +01:00
Michael Niedermayer
3668701f96
avformat/http: Return an error in case of prematurely ending data
...
Fixes Ticket 4039
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-19 13:01:48 +02:00
Rodger Combs
a4d58c97d0
lavf/http: handle case where the server returns a redirect during a seek
...
txoffer (e.g. http://tori.aoi-chan.com/ ) redirects to the same URI on your
first request, and serves the actual file on the second. It's stupid, but AFAIK
technically compliant. We'd previously see the server not handing back a Range
header and return an error; now, instead, we see that there's a redirect and
keep track of the offset we want while trying again at the new URL.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-13 11:18:50 +02:00
Stephan Holljes
b51027fd18
libavformat/http.c: Make http-listen work as an input stream.
...
With this patch http can be used to listen for POST data to be used as an input stream.
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-11 23:10:44 +02:00
Stephan Holljes
6d8c27f951
libavformat/http.c: Fix missing parenthesis in http_listen()
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-06 22:17:58 +02:00
Stephan Holljes
4a58d757de
lavf/http: add proof-of-concept http server.
...
Signed-off-by: Stephan Holljes <klaxa1337@googlemail.com>
Reviewed-By: Nicolas George <george@nsup.org>
2015-04-05 10:17:47 +02:00
Himangi Saraogi
919d13d238
avformat/http: Fix null check on allocated value
...
probably fixes CID 1292299
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-31 12:38:02 +02:00
Micah Galizia
c59654d67d
avformat/http: replace cookies with updated values instead of appending forever
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-18 19:53:26 +01:00
Zhang Rui
3f375950f3
avformat/http: support auto reconnect
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-03-13 19:07:28 +01:00
Michael Niedermayer
a0fe1a25fa
Merge commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e'
...
* commit 'daf8cf358a098a903d59adb6c0d0cc3262a8c93e':
avformat: Don't anonymously typedef structs
Conflicts:
libavformat/adtsenc.c
libavformat/aiffenc.c
libavformat/avidec.c
libavformat/gif.c
libavformat/iff.c
libavformat/img2dec.c
libavformat/jvdec.c
libavformat/matroskadec.c
libavformat/udp.c
libavformat/wtvdec.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2015-02-14 21:07:40 +01:00
Diego Biurrun
daf8cf358a
avformat: Don't anonymously typedef structs
2015-02-14 10:13:47 -08:00
Michael Niedermayer
bcd4447173
avformat/http: Use av_freep() avoid leaving stale pointers in memory
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-20 16:53:37 +01:00
Michael Niedermayer
deccb4d827
avformat/http: simplify chained_options copying
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 14:30:32 +01:00
Brandon Lees
ffaf2074eb
Fix the timeout option not working when connecting to a HTTP url that requires authentication.
...
In http_open_cnx, the patch restores the AVDictionary if connection needs to be re-tried
because of a authentication/redirect status code.
Previously, if a 401/407/30x status code was encountered, http_open_cnx would restart at the redo label, but any options
used by the underlying protocol would be missing because they were removed by the first attempt.
Signed-off-by: Brandon Lees <brandon@n-hega.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-15 14:30:32 +01:00
Andrey Utkin
70c9d40008
avformat/http: pass return code from http_open_cnx_internal() on its failure
...
Previously, AVERROR(EIO) was returned on failure of
http_open_cnx_internal(). Now the value is passed to upper level, thus
it is possible to distinguish ECONNREFUSED, ETIMEDOUT, ENETUNREACH etc.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-23 20:58:21 +02:00
Andrey Utkin
81ce3f8e80
avformat/http: Use ff_http_averror()
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 04:31:59 +02:00
Andrey Utkin
9d86ce783b
avformat/http: Introduce ff_http_averror()
...
int ff_http_averror(int status_code, int default_averror)
This helper function returns AVERROR_ value from 3-digit HTTP status
code.
Second argument, default_averror, is used if no specific AVERROR_ is
available. It is introduced because in different places of code
different return codes are used - -1, AVERROR(EIO), AVERROR_INVALIDDATA.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-10-20 04:31:46 +02:00
Nicolas George
4bebce0617
lavf/http: remove special case for cookies attributes.
...
With the previous change, unknown attributes are all ignored,
as specified by the RFC.
2014-08-17 20:07:27 +02:00
Nicolas George
481cbc5ad5
lavf/http: fix cookie parsing.
...
The current code would use any unknown attribute-value pair
as the cookie value.
RFC 6265 states that the first key-value pair is the actual
cookie, and the attribute-value pairs only start after.
With the current code:
Set-Cookie: test=good_value; path=/; dummy=42
gives this:
Cookie: dummy=42
instead of this with the new code:
Cookie: test=good_value
2014-08-17 20:07:27 +02:00
Michael Niedermayer
60dbed6067
Merge commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867'
...
* commit '4b1f5e5090abed6c618c8ba380cd7d28d140f867':
cosmetics: Write NULL pointer inequality checks more compactly
Conflicts:
libavcodec/dvdsubdec.c
libavcodec/h263dec.c
libavcodec/libxvid.c
libavcodec/rv10.c
libavcodec/utils.c
libavformat/format.c
libavformat/matroskadec.c
libavformat/segment.c
libavutil/opt.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 21:26:12 +02:00
Gabriel Dume
4b1f5e5090
cosmetics: Write NULL pointer inequality checks more compactly
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2014-08-15 05:34:13 -07:00
Michael Niedermayer
1e81b185ae
Merge commit '7ccb847f0f1f28199fa254847b91b6e50fb92832'
...
* commit '7ccb847f0f1f28199fa254847b91b6e50fb92832':
http: Reduce scope of a variable in parse_content_encoding()
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-15 12:12:35 +02:00
Diego Biurrun
7ccb847f0f
http: Reduce scope of a variable in parse_content_encoding()
...
Also fixes an unused variable warning with zlib disabled.
2014-08-15 09:37:38 +02:00
Michael Niedermayer
e260c8180e
Merge commit '4e629ef80e62a54636cb46033998177dd08cf3ad'
...
* commit '4e629ef80e62a54636cb46033998177dd08cf3ad':
http: Fix authentication, broken since 6a463e7fb
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-14 00:12:56 +02:00
Michael Niedermayer
313d75cd43
Merge commit '7e38903b5c86a759549e70647ae42bb22d353b14'
...
* commit '7e38903b5c86a759549e70647ae42bb22d353b14':
http: enable icy metadata by default.
Conflicts:
Changelog
libavformat/http.c
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 22:54:31 +02:00
Michael Niedermayer
69a5cd9fea
Merge commit '7601f9412a2d3387617a45966b65b452a632c27a'
...
* commit '7601f9412a2d3387617a45966b65b452a632c27a':
http: export icecast metadata as an option with name "metadata".
Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13 22:52:53 +02:00