Functions interrupted by url_interrupt_cb should not be restarted.
Therefore using AVERROR(EINTR) was wrong, as it did not allow to distinguish
when the underlying system call was interrupted and actually needed to be
restarted.
This fixes roundup issues 2657 and 2659 (ffplay not exiting for streamed
content).
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
when writing and pressing q during encoding. Instead, check url_interrupt_cb
at the end.
Note that when a protocol is interrupted by url_interrupt_cb, some data may
be silently discarded: the protocol context is not suitable for anything
anymore.
Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
If this flag is set, the protocol can handle URLs where the
scheme is a nested scheme such as applehttp+file: - the protocol
can handle any URL where the first segment of the nested scheme
belongs to this protocol.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
rather than av_register_protocol(), which is deprecated.
Fix the GCC warning:
avio.c: In function ‘register_protocol’:
avio.c:93: warning: ‘av_register_protocol’ is deprecated (declared at avio.c:86)
Originally committed as revision 25267 to svn://svn.ffmpeg.org/ffmpeg/trunk
The URL specification allows letters, numbers, plus, hyphen, and period
in the scheme part. The isalpha() test would allow additional characters
depending on locale settings while rejecting numbers and punctuation.
Originally committed as revision 24306 to svn://svn.ffmpeg.org/ffmpeg/trunk
This allows extending the URLProtocol struct without breaking binary
compatibility with code compiled with older definitions of the struct.
Originally committed as revision 23702 to svn://svn.ffmpeg.org/ffmpeg/trunk
ff_network_init is a no-op on all platforms except windows, and on
windows the performance penalty is minimal (less than 1 ms in my tests).
Originally committed as revision 22224 to svn://svn.ffmpeg.org/ffmpeg/trunk
Only retry 2 - 5 times in quick succession and afterwards sleep a bit
to avoid creating high CPU load without any progress.
Originally committed as revision 21427 to svn://svn.ffmpeg.org/ffmpeg/trunk
associated with the I/O handle (e.g. the fd returned by open()). See
"[RFC] rtsp.c EOF support" thread.
There were previously some URI-specific implementations of the same idea,
e.g. rtp_get_file_handles() and udp_get_file_handle(). All of these are
deprecated by this patch and will be removed at the next major API bump.
Originally committed as revision 17779 to svn://svn.ffmpeg.org/ffmpeg/trunk
The name offset_t is easily confused with the standard off_t type and
*_t is POSIX reserved namespace if any POSIX header is included.
Originally committed as revision 15533 to svn://svn.ffmpeg.org/ffmpeg/trunk
but which opens a URLProtocol instead of a filename. url_open() is
reimplemented to call url_open_protocol(). See discussion on
"url_open_protocol" on ffmpeg-devel.
Originally committed as revision 14857 to svn://svn.ffmpeg.org/ffmpeg/trunk