#include <unistd.h>
#include "libavutil/avstring.h"
#include "libavcodec/opt.h"
#include "os_support.h"
#include "avformat.h"
Go to the source code of this file.
Defines | |
#define | _XOPEN_SOURCE 600 |
Functions | |
static int | default_interrupt_cb (void) |
URLProtocol * | av_protocol_next (URLProtocol *p) |
If protocol is NULL, returns the first registered protocol, if protocol is non-NULL, returns the next registered protocol after protocol, or NULL if protocol is the last one. | |
int | av_register_protocol (URLProtocol *protocol) |
Registers the URLProtocol protocol. | |
int | register_protocol (URLProtocol *protocol) |
int | url_open_protocol (URLContext **puc, struct URLProtocol *up, const char *filename, int flags) |
Creates an URLContext for accessing to the resource indicated by url, and opens it using the URLProtocol up. | |
int | url_open (URLContext **puc, const char *filename, int flags) |
Creates an URLContext for accessing to the resource indicated by url, and opens it. | |
int | url_read (URLContext *h, unsigned char *buf, int size) |
Reads up to size bytes from the resource accessed by h, and stores the read bytes in buf. | |
int | url_read_complete (URLContext *h, unsigned char *buf, int size) |
Read as many bytes as possible (up to size), calling the read function multiple times if necessary. | |
int | url_write (URLContext *h, unsigned char *buf, int size) |
int64_t | url_seek (URLContext *h, int64_t pos, int whence) |
Changes the position that will be used by the next read/write operation on the resource accessed by h. | |
int | url_close (URLContext *h) |
Closes the resource accessed by the URLContext h, and frees the memory used by it. | |
int | url_exist (const char *filename) |
Returns a non-zero value if the resource indicated by url exists, 0 otherwise. | |
int64_t | url_filesize (URLContext *h) |
int | url_get_file_handle (URLContext *h) |
Return the file descriptor associated with this URL. | |
int | url_get_max_packet_size (URLContext *h) |
Return the maximum packet size associated to packetized file handle. | |
void | url_get_filename (URLContext *h, char *buf, int buf_size) |
void | url_set_interrupt_cb (URLInterruptCB *interrupt_cb) |
The callback is called in blocking functions to test regulary if asynchronous interruption is needed. | |
int | av_url_read_pause (URLContext *h, int pause) |
Pause and resume playing - only meaningful if using a network streaming protocol (e.g. | |
int64_t | av_url_read_seek (URLContext *h, int stream_index, int64_t timestamp, int flags) |
Seek to a given timestamp relative to some component stream. | |
Variables | |
URLProtocol * | first_protocol = NULL |
URLInterruptCB * | url_interrupt_cb = default_interrupt_cb |
URLProtocol* av_protocol_next | ( | URLProtocol * | p | ) |
If protocol is NULL, returns the first registered protocol, if protocol is non-NULL, returns the next registered protocol after protocol, or NULL if protocol is the last one.
Definition at line 53 of file avio.c.
Referenced by show_protocols().
int av_register_protocol | ( | URLProtocol * | protocol | ) |
Registers the URLProtocol protocol.
Definition at line 59 of file avio.c.
Referenced by register_protocol().
int av_url_read_pause | ( | URLContext * | h, | |
int | pause | |||
) |
int64_t av_url_read_seek | ( | URLContext * | h, | |
int | stream_index, | |||
int64_t | timestamp, | |||
int | flags | |||
) |
Seek to a given timestamp relative to some component stream.
Only meaningful if using a network streaming protocol (e.g. MMS.).
stream_index | The stream index that the timestamp is relative to. If stream_index is (-1) the timestamp should be in AV_TIME_BASE units from the beginning of the presentation. If a stream_index >= 0 is used and the protocol does not support seeking based on component streams, the call will fail with ENOTSUP. | |
timestamp | timestamp in AVStream.time_base units or if there is no stream specified then in AV_TIME_BASE units. | |
flags | Optional combination of AVSEEK_FLAG_BACKWARD, AVSEEK_FLAG_BYTE and AVSEEK_FLAG_ANY. The protocol may silently ignore AVSEEK_FLAG_BACKWARD and AVSEEK_FLAG_ANY, but AVSEEK_FLAG_BYTE will fail with ENOTSUP if used and not supported. |
static int default_interrupt_cb | ( | void | ) | [static] |
int register_protocol | ( | URLProtocol * | protocol | ) |
int url_close | ( | URLContext * | h | ) |
Closes the resource accessed by the URLContext h, and frees the memory used by it.
Definition at line 209 of file avio.c.
Referenced by close_connection(), concat_close(), concat_open(), ff_rtsp_close_streams(), gopher_close(), http_close(), http_open_cnx(), http_seek(), rtmp_close(), rtp_close(), rtp_new_av_stream(), rtp_open(), rtsp_write_close(), rtsp_write_header(), url_exist(), url_fclose(), and url_fopen().
int url_exist | ( | const char * | filename | ) |
Returns a non-zero value if the resource indicated by url exists, 0 otherwise.
Definition at line 223 of file avio.c.
Referenced by build_feed_streams(), find_image_range(), and opt_output_file().
int64_t url_filesize | ( | URLContext * | h | ) |
int url_get_file_handle | ( | URLContext * | h | ) |
Return the file descriptor associated with this URL.
For RTP, this will return only the RTP file descriptor, not the RTCP file descriptor. To get both, use rtp_get_file_handles().
Definition at line 247 of file avio.c.
Referenced by http_get_file_handle(), rtp_open(), and rtsp_write_packet().
void url_get_filename | ( | URLContext * | h, | |
char * | buf, | |||
int | buf_size | |||
) |
int url_get_max_packet_size | ( | URLContext * | h | ) |
Return the maximum packet size associated to packetized file handle.
If the file is not packetized (stream like HTTP or file on disk), then 0 is returned.
h | file handle |
Definition at line 254 of file avio.c.
Referenced by http_prepare_data(), rtmp_open(), rtp_new_av_stream(), rtp_open(), and url_fdopen().
int url_open | ( | URLContext ** | h, | |
const char * | url, | |||
int | flags | |||
) |
Creates an URLContext for accessing to the resource indicated by url, and opens it.
puc | pointer to the location where, in case of success, the function puts the pointer to the created URLContext | |
flags | flags which control how the resource indicated by url is to be opened |
Definition at line 121 of file avio.c.
Referenced by concat_open(), gopher_open(), http_open_cnx(), rtmp_open(), rtp_new_av_stream(), rtp_open(), sdp_read_header(), url_exist(), and url_fopen().
int url_open_protocol | ( | URLContext ** | puc, | |
struct URLProtocol * | up, | |||
const char * | url, | |||
int | flags | |||
) |
Creates an URLContext for accessing to the resource indicated by url, and opens it using the URLProtocol up.
puc | pointer to the location where, in case of success, the function puts the pointer to the created URLContext | |
flags | flags which control how the resource indicated by url is to be opened |
Definition at line 76 of file avio.c.
Referenced by url_open().
int url_read | ( | URLContext * | h, | |
unsigned char * | buf, | |||
int | size | |||
) |
Reads up to size bytes from the resource accessed by h, and stores the read bytes in buf.
Definition at line 155 of file avio.c.
Referenced by concat_read(), ff_rtmp_packet_read(), gopher_read(), http_getc(), http_read(), url_fdopen(), and url_read_complete().
int url_read_complete | ( | URLContext * | h, | |
unsigned char * | buf, | |||
int | size | |||
) |
Read as many bytes as possible (up to size), calling the read function multiple times if necessary.
Will also retry if the read function returns AVERROR(EAGAIN). This makes special short-read handling in applications unnecessary, if the return value is < size then it is certain there was either an error or the end of file was reached.
Definition at line 164 of file avio.c.
Referenced by ff_rtmp_packet_read(), and rtmp_handshake().
int64_t url_seek | ( | URLContext * | h, | |
int64_t | pos, | |||
int | whence | |||
) |
Changes the position that will be used by the next read/write operation on the resource accessed by h.
pos | specifies the new position to set | |
whence | specifies how pos should be interpreted, it must be one of SEEK_SET (seek from the beginning), SEEK_CUR (seek from the current position), SEEK_END (seek from the end), or AVSEEK_SIZE (return the filesize of the requested resource, pos is ignored). |
Definition at line 199 of file avio.c.
Referenced by concat_read(), concat_seek(), url_fdopen(), url_filesize(), and url_open_protocol().
void url_set_interrupt_cb | ( | URLInterruptCB * | interrupt_cb | ) |
The callback is called in blocking functions to test regulary if asynchronous interruption is needed.
AVERROR(EINTR) is returned in this case by the interrupted function. 'NULL' means no interrupt callback is given.
Definition at line 270 of file avio.c.
Referenced by av_transcode(), decode_thread(), and main().
int url_write | ( | URLContext * | h, | |
unsigned char * | buf, | |||
int | size | |||
) |
Definition at line 187 of file avio.c.
Referenced by ff_rtmp_packet_write(), gopher_write(), http_close(), http_send_data(), http_write(), rtmp_handshake(), rtp_check_and_send_back_rr(), rtp_send_punch_packets(), rtp_write(), tcp_write_packet(), and url_fdopen().
URLProtocol* first_protocol = NULL |
URLInterruptCB* url_interrupt_cb = default_interrupt_cb |
Definition at line 51 of file avio.c.
Referenced by av_find_stream_info(), rtp_read(), tcp_open(), tcp_read(), tcp_write(), udp_read(), and url_set_interrupt_cb().