#include "avformat.h"
#include "internal.h"
#include "libavcodec/opt.h"
#include "metadata.h"
#include "libavutil/avstring.h"
#include "riff.h"
#include "audiointerleave.h"
#include <sys/time.h>
#include <time.h>
#include <strings.h>
#include <stdarg.h>
#include <assert.h>
Go to the source code of this file.
Defines | |
#define | LICENSE_PREFIX "libavformat license: " |
#define | PROBE_BUF_MIN 2048 |
size of probe buffer, for guessing file type from file contents | |
#define | PROBE_BUF_MAX (1<<20) |
#define | DEBUG_SEEK |
#define | DURATION_MAX_READ_SIZE 250000 |
#define | DURATION_MAX_RETRY 3 |
#define | MAX_STD_TIMEBASES (60*12+5) |
#define | PRINT(...) do { if (!f) av_log(avcl, level, __VA_ARGS__); else fprintf(f, __VA_ARGS__); } while(0) |
#define | PRINT(...) do { if (!f) av_log(avcl, level, __VA_ARGS__); else fprintf(f, __VA_ARGS__); } while(0) |
Functions | |
unsigned | avformat_version (void) |
I return the LIBAVFORMAT_VERSION_INT constant. | |
const char * | avformat_configuration (void) |
Returns the libavformat build-time configuration. | |
const char * | avformat_license (void) |
Returns the libavformat license. | |
static void | av_frac_init (AVFrac *f, int64_t val, int64_t num, int64_t den) |
f = val + (num / den) + 0.5. | |
static void | av_frac_add (AVFrac *f, int64_t incr) |
Fractional addition to f: f = f + (incr / f->den). | |
AVInputFormat * | av_iformat_next (AVInputFormat *f) |
If f is NULL, returns the first registered input format, if f is non-NULL, returns the next registered input format after f or NULL if f is the last one. | |
AVOutputFormat * | av_oformat_next (AVOutputFormat *f) |
If f is NULL, returns the first registered output format, if f is non-NULL, returns the next registered output format after f or NULL if f is the last one. | |
void | av_register_input_format (AVInputFormat *format) |
void | av_register_output_format (AVOutputFormat *format) |
int | av_match_ext (const char *filename, const char *extensions) |
Returns a positive value if the given filename has one of the given extensions, 0 otherwise. | |
static int | match_format (const char *name, const char *names) |
AVOutputFormat * | guess_format (const char *short_name, const char *filename, const char *mime_type) |
AVOutputFormat * | av_guess_format (const char *short_name, const char *filename, const char *mime_type) |
Returns the output format in the list of registered output formats which best matches the provided parameters, or returns NULL if there is no match. | |
AVOutputFormat * | guess_stream_format (const char *short_name, const char *filename, const char *mime_type) |
enum CodecID | av_guess_codec (AVOutputFormat *fmt, const char *short_name, const char *filename, const char *mime_type, enum AVMediaType type) |
Guesses the codec ID based upon muxer and filename. | |
AVInputFormat * | av_find_input_format (const char *short_name) |
Finds AVInputFormat based on the short name of the input format. | |
int | av_get_packet (ByteIOContext *s, AVPacket *pkt, int size) |
Allocates and reads the payload of a packet and initializes its fields with default values. | |
int | av_filename_number_test (const char *filename) |
Checks whether filename actually is a numbered sequence generator. | |
AVInputFormat * | av_probe_input_format2 (AVProbeData *pd, int is_opened, int *score_max) |
Guesses the file format. | |
AVInputFormat * | av_probe_input_format (AVProbeData *pd, int is_opened) |
Guesses the file format. | |
static int | set_codec_from_probe_data (AVFormatContext *s, AVStream *st, AVProbeData *pd, int score) |
int | av_open_input_stream (AVFormatContext **ic_ptr, ByteIOContext *pb, const char *filename, AVInputFormat *fmt, AVFormatParameters *ap) |
Open a media file from an IO stream. | |
int | ff_probe_input_buffer (ByteIOContext **pb, AVInputFormat **fmt, const char *filename, void *logctx, unsigned int offset, unsigned int max_probe_size) |
Probes a bytestream to determine the input format. | |
int | av_open_input_file (AVFormatContext **ic_ptr, const char *filename, AVInputFormat *fmt, int buf_size, AVFormatParameters *ap) |
Opens a media file as input. | |
static AVPacket * | add_to_pktbuf (AVPacketList **packet_buffer, AVPacket *pkt, AVPacketList **plast_pktl) |
int | av_read_packet (AVFormatContext *s, AVPacket *pkt) |
Reads a transport packet from a media file. | |
static int | get_audio_frame_size (AVCodecContext *enc, int size) |
Get the number of samples of an audio frame. | |
static void | compute_frame_duration (int *pnum, int *pden, AVStream *st, AVCodecParserContext *pc, AVPacket *pkt) |
Return the frame duration in seconds. | |
static int | is_intra_only (AVCodecContext *enc) |
static void | update_initial_timestamps (AVFormatContext *s, int stream_index, int64_t dts, int64_t pts) |
static void | update_initial_durations (AVFormatContext *s, AVStream *st, AVPacket *pkt) |
static void | compute_pkt_fields (AVFormatContext *s, AVStream *st, AVCodecParserContext *pc, AVPacket *pkt) |
static int | av_read_frame_internal (AVFormatContext *s, AVPacket *pkt) |
int | av_read_frame (AVFormatContext *s, AVPacket *pkt) |
Returns the next frame of a stream. | |
static void | flush_packet_queue (AVFormatContext *s) |
int | av_find_default_stream_index (AVFormatContext *s) |
void | ff_read_frame_flush (AVFormatContext *s) |
Flush the frame reader. | |
void | av_update_cur_dts (AVFormatContext *s, AVStream *ref_st, int64_t timestamp) |
Updates cur_dts of all streams based on the given timestamp and AVStream. | |
void | ff_reduce_index (AVFormatContext *s, int stream_index) |
Ensures the index uses less memory than the maximum specified in AVFormatContext.max_index_size by discarding entries if it grows too large. | |
int | av_add_index_entry (AVStream *st, int64_t pos, int64_t timestamp, int size, int distance, int flags) |
Adds an index entry into a sorted list. | |
int | av_index_search_timestamp (AVStream *st, int64_t wanted_timestamp, int flags) |
Gets the index for a specific timestamp. | |
int | av_seek_frame_binary (AVFormatContext *s, int stream_index, int64_t target_ts, int flags) |
Does a binary search using av_index_search_timestamp() and AVCodec.read_timestamp(). | |
int64_t | av_gen_search (AVFormatContext *s, int stream_index, int64_t target_ts, int64_t pos_min, int64_t pos_max, int64_t pos_limit, int64_t ts_min, int64_t ts_max, int flags, int64_t *ts_ret, int64_t(*read_timestamp)(struct AVFormatContext *, int, int64_t *, int64_t)) |
Does a binary search using read_timestamp(). | |
static int | av_seek_frame_byte (AVFormatContext *s, int stream_index, int64_t pos, int flags) |
static int | av_seek_frame_generic (AVFormatContext *s, int stream_index, int64_t timestamp, int flags) |
int | av_seek_frame (AVFormatContext *s, int stream_index, int64_t timestamp, int flags) |
Seeks to the keyframe at timestamp. | |
int | avformat_seek_file (AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags) |
Seeks to timestamp ts. | |
static int | av_has_duration (AVFormatContext *ic) |
Returns TRUE if the stream has accurate duration in any stream. | |
static void | av_update_stream_timings (AVFormatContext *ic) |
Estimate the stream timings from the one of each components. | |
static void | fill_all_stream_timings (AVFormatContext *ic) |
static void | av_estimate_timings_from_bit_rate (AVFormatContext *ic) |
static void | av_estimate_timings_from_pts (AVFormatContext *ic, int64_t old_offset) |
static void | av_estimate_timings (AVFormatContext *ic, int64_t old_offset) |
static int | has_codec_parameters (AVCodecContext *enc) |
static int | try_decode_frame (AVStream *st, AVPacket *avpkt) |
unsigned int | ff_codec_get_tag (const AVCodecTag *tags, int id) |
enum CodecID | ff_codec_get_id (const AVCodecTag *tags, unsigned int tag) |
unsigned int | av_codec_get_tag (const AVCodecTag *const *tags, enum CodecID id) |
enum CodecID | av_codec_get_id (const AVCodecTag *const *tags, unsigned int tag) |
static void | compute_chapters_end (AVFormatContext *s) |
static int | get_std_framerate (int i) |
static int | tb_unreliable (AVCodecContext *c) |
int | av_find_stream_info (AVFormatContext *ic) |
Reads packets of a media file to get stream information. | |
int | av_read_play (AVFormatContext *s) |
Starts playing a network-based stream (e.g. | |
int | av_read_pause (AVFormatContext *s) |
Pauses a network-based stream (e.g. | |
void | av_close_input_stream (AVFormatContext *s) |
Frees a AVFormatContext allocated by av_open_input_stream. | |
void | av_close_input_file (AVFormatContext *s) |
Closes a media file (but not its codecs). | |
AVStream * | av_new_stream (AVFormatContext *s, int id) |
Adds a new stream to a media file. | |
AVProgram * | av_new_program (AVFormatContext *ac, int id) |
AVChapter * | ff_new_chapter (AVFormatContext *s, int id, AVRational time_base, int64_t start, int64_t end, const char *title) |
Adds a new chapter. | |
int | av_set_parameters (AVFormatContext *s, AVFormatParameters *ap) |
media file output | |
int | av_write_header (AVFormatContext *s) |
Allocates the stream private data and writes the stream header to an output media file. | |
static int | compute_pkt_fields2 (AVFormatContext *s, AVStream *st, AVPacket *pkt) |
int | av_write_frame (AVFormatContext *s, AVPacket *pkt) |
Writes a packet to an output media file. | |
void | ff_interleave_add_packet (AVFormatContext *s, AVPacket *pkt, int(*compare)(AVFormatContext *, AVPacket *, AVPacket *)) |
Add packet to AVFormatContext->packet_buffer list, determining its interleaved position using compare() function argument. | |
int | ff_interleave_compare_dts (AVFormatContext *s, AVPacket *next, AVPacket *pkt) |
int | av_interleave_packet_per_dts (AVFormatContext *s, AVPacket *out, AVPacket *pkt, int flush) |
Interleaves a packet per dts in an output media file. | |
static int | av_interleave_packet (AVFormatContext *s, AVPacket *out, AVPacket *in, int flush) |
Interleaves an AVPacket correctly so it can be muxed. | |
int | av_interleaved_write_frame (AVFormatContext *s, AVPacket *pkt) |
Writes a packet to an output media file ensuring correct interleaving. | |
int | av_write_trailer (AVFormatContext *s) |
Writes the stream trailer to an output media file and frees the file private data. | |
void | ff_program_add_stream_index (AVFormatContext *ac, int progid, unsigned int idx) |
static void | print_fps (double d, const char *postfix) |
static void | dump_metadata (void *ctx, AVMetadata *m, const char *indent) |
static void | dump_stream_format (AVFormatContext *ic, int i, int index, int is_output) |
void | dump_format (AVFormatContext *ic, int index, const char *url, int is_output) |
int | parse_image_size (int *width_ptr, int *height_ptr, const char *str) |
Parses width and height out of string str. | |
int | parse_frame_rate (int *frame_rate_num, int *frame_rate_den, const char *arg) |
Converts framerate from a string to a fraction. | |
int64_t | av_gettime (void) |
Gets the current time in microseconds. | |
uint64_t | ff_ntp_time (void) |
Gets the current time since NTP epoch in microseconds. | |
int64_t | parse_date (const char *datestr, int duration) |
Parses datestr and returns a corresponding number of microseconds. | |
int | find_info_tag (char *arg, int arg_size, const char *tag1, const char *info) |
Attempts to find a specific tag in a URL. | |
int | av_get_frame_filename (char *buf, int buf_size, const char *path, int number) |
Returns in 'buf' the path with 'd' replaced by a number. | |
static void | hex_dump_internal (void *avcl, FILE *f, int level, uint8_t *buf, int size) |
void | av_hex_dump (FILE *f, uint8_t *buf, int size) |
Sends a nice hexadecimal dump of a buffer to the specified file stream. | |
void | av_hex_dump_log (void *avcl, int level, uint8_t *buf, int size) |
Sends a nice hexadecimal dump of a buffer to the log. | |
static void | pkt_dump_internal (void *avcl, FILE *f, int level, AVPacket *pkt, int dump_payload) |
void | av_pkt_dump (FILE *f, AVPacket *pkt, int dump_payload) |
Sends a nice dump of a packet to the specified file stream. | |
void | av_pkt_dump_log (void *avcl, int level, AVPacket *pkt, int dump_payload) |
Sends a nice dump of a packet to the log. | |
void | ff_url_split (char *proto, int proto_size, char *authorization, int authorization_size, char *hostname, int hostname_size, int *port_ptr, char *path, int path_size, const char *url) |
Splits a URL string into components. | |
char * | ff_data_to_hex (char *buff, const uint8_t *src, int s, int lowercase) |
void | av_set_pts_info (AVStream *s, int pts_wrap_bits, unsigned int pts_num, unsigned int pts_den) |
Sets the pts for a given stream. | |
int | ff_url_join (char *str, int size, const char *proto, const char *authorization, const char *hostname, int port, const char *fmt,...) |
Assembles a URL string from components. | |
Variables | |
AVInputFormat * | first_iformat = NULL |
head of registered input format linked list | |
AVOutputFormat * | first_oformat = NULL |
head of registered output format linked list |
Definition in file utils.c.
#define DURATION_MAX_READ_SIZE 250000 |
#define DURATION_MAX_RETRY 3 |
#define LICENSE_PREFIX "libavformat license: " |
#define MAX_STD_TIMEBASES (60*12+5) |
#define PRINT | ( | ... | ) | do { if (!f) av_log(avcl, level, __VA_ARGS__); else fprintf(f, __VA_ARGS__); } while(0) |
#define PRINT | ( | ... | ) | do { if (!f) av_log(avcl, level, __VA_ARGS__); else fprintf(f, __VA_ARGS__); } while(0) |
#define PROBE_BUF_MAX (1<<20) |
#define PROBE_BUF_MIN 2048 |
size of probe buffer, for guessing file type from file contents
Definition at line 491 of file utils.c.
Referenced by ff_probe_input_buffer().
static AVPacket* add_to_pktbuf | ( | AVPacketList ** | packet_buffer, | |
AVPacket * | pkt, | |||
AVPacketList ** | plast_pktl | |||
) | [static] |
Definition at line 627 of file utils.c.
Referenced by av_find_stream_info(), av_read_frame(), and av_read_packet().
int av_add_index_entry | ( | AVStream * | st, | |
int64_t | pos, | |||
int64_t | timestamp, | |||
int | size, | |||
int | distance, | |||
int | flags | |||
) |
Adds an index entry into a sorted list.
Updates the entry if the list already contains it.
timestamp | timestamp in the time base of the given stream |
Definition at line 1334 of file utils.c.
Referenced by ape_read_header(), asf_build_simple_index(), asf_read_pts(), av_read_frame_internal(), avi_read_idx1(), clean_index(), find_and_decode_index(), flv_read_packet(), gxf_read_index(), matroska_parse_block(), matroska_read_header(), mov_read_trun(), mpc8_parse_seektable(), mpc_read_packet(), mpegps_read_pes_header(), nsv_parse_NSVs_header(), pva_read_header(), read_braindead_odml_indx(), read_header(), read_pakt_chunk(), read_part_of_packet(), rl2_read_header(), rm_read_dts(), rm_read_index(), rm_read_packet(), rpl_read_header(), tta_read_header(), write_packet(), and wv_read_packet().
void av_close_input_file | ( | AVFormatContext * | s | ) |
Closes a media file (but not its codecs).
s | media file handle |
Definition at line 2492 of file utils.c.
Referenced by av_exit(), build_feed_streams(), build_file_streams(), close_connection(), decode_thread(), http_prepare_data(), main(), open_input_stream(), probe_file(), and read_ffserver_streams().
void av_close_input_stream | ( | AVFormatContext * | s | ) |
Frees a AVFormatContext allocated by av_open_input_stream.
s | context to free |
Definition at line 2444 of file utils.c.
Referenced by av_close_input_file(), ff_rtsp_close_streams(), ff_wms_parse_sdp_a_line(), http_receive_data(), rdt_free_context(), and read_header().
enum CodecID av_codec_get_id | ( | const AVCodecTag *const * | tags, | |
unsigned int | tag | |||
) |
unsigned int av_codec_get_tag | ( | const AVCodecTag *const * | tags, | |
enum CodecID | id | |||
) |
static void av_estimate_timings | ( | AVFormatContext * | ic, | |
int64_t | old_offset | |||
) | [static] |
static void av_estimate_timings_from_bit_rate | ( | AVFormatContext * | ic | ) | [static] |
static void av_estimate_timings_from_pts | ( | AVFormatContext * | ic, | |
int64_t | old_offset | |||
) | [static] |
int av_filename_number_test | ( | const char * | filename | ) |
Checks whether filename actually is a numbered sequence generator.
filename | possible numbered sequence string |
Definition at line 337 of file utils.c.
Referenced by av_guess_format(), av_open_input_file(), image_probe(), and opt_output_file().
int av_find_default_stream_index | ( | AVFormatContext * | s | ) |
AVInputFormat* av_find_input_format | ( | const char * | short_name | ) |
Finds AVInputFormat based on the short name of the input format.
Definition at line 275 of file utils.c.
Referenced by http_receive_data(), opt_format(), opt_input_file(), and parse_ffconfig().
int av_find_stream_info | ( | AVFormatContext * | ic | ) |
Reads packets of a media file to get stream information.
This is useful for file formats with no headers such as MPEG. This function also computes the real framerate in case of MPEG-2 repeat frame mode. The logical file position is not changed by this function; examined packets may be buffered for later processing.
ic | media file handle |
Definition at line 2149 of file utils.c.
Referenced by build_file_streams(), decode_thread(), main(), open_input_file(), open_input_stream(), and opt_input_file().
static void av_frac_add | ( | AVFrac * | f, | |
int64_t | incr | |||
) | [static] |
Fractional addition to f: f = f + (incr / f->den).
f | fractional number | |
incr | increment, can be positive or negative |
Definition at line 90 of file utils.c.
Referenced by compute_pkt_fields2().
static void av_frac_init | ( | AVFrac * | f, | |
int64_t | val, | |||
int64_t | num, | |||
int64_t | den | |||
) | [static] |
f = val + (num / den) + 0.5.
'num' is normalized so that it is such as 0 <= num < den.
f | fractional number | |
val | integer value | |
num | must be >= 0 | |
den | must be >= 1 |
Definition at line 72 of file utils.c.
Referenced by av_write_header().
int64_t av_gen_search | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | target_ts, | |||
int64_t | pos_min, | |||
int64_t | pos_max, | |||
int64_t | pos_limit, | |||
int64_t | ts_min, | |||
int64_t | ts_max, | |||
int | flags, | |||
int64_t * | ts_ret, | |||
int64_t(*)(struct AVFormatContext *, int, int64_t *, int64_t) | read_timestamp | |||
) |
Does a binary search using read_timestamp().
This is not supposed to be called directly by a user application, but by demuxers.
target_ts | target timestamp in the time base of the given stream | |
stream_index | stream number |
Definition at line 1482 of file utils.c.
Referenced by av_seek_frame_binary(), and read_seek().
int av_get_frame_filename | ( | char * | buf, | |
int | buf_size, | |||
const char * | path, | |||
int | number | |||
) |
Returns in 'buf' the path with 'd' replaced by a number.
Also handles the '0nd' format where 'n' is the total number of digits and '%'.
buf | destination buffer | |
buf_size | destination buffer size | |
path | numbered sequence string | |
number | frame number |
Definition at line 3328 of file utils.c.
Referenced by av_filename_number_test(), find_image_range(), and img_read_packet().
int av_get_packet | ( | ByteIOContext * | s, | |
AVPacket * | pkt, | |||
int | size | |||
) |
Allocates and reads the payload of a packet and initializes its fields with default values.
pkt | packet | |
size | desired payload size |
Definition at line 318 of file utils.c.
Referenced by aea_read_packet(), aiff_read_packet(), apc_read_packet(), au_read_packet(), bfi_read_packet(), cdata_read_packet(), cin_read_packet(), daud_packet(), dxa_read_packet(), ea_read_packet(), ff_rm_parse_packet(), ff_rm_retrieve_cache(), film_read_packet(), flv_read_packet(), fourxm_read_packet(), gxf_packet(), idcin_read_packet(), iff_read_packet(), iss_read_packet(), lmlm4_read_packet(), load_ipmovie_packet(), mpc8_read_packet(), msnwc_tcp_read_packet(), mtv_read_packet(), mxf_decrypt_triplet(), mxf_read_packet(), nc_read_packet(), nsv_read_chunk(), nuv_packet(), oma_read_packet(), pva_read_packet(), qcp_read_packet(), r3d_read_reda(), r3d_read_redv(), read_packet(), rl2_read_packet(), roq_read_packet(), rpl_read_packet(), seq_read_packet(), siff_read_packet(), sol_read_packet(), sox_read_packet(), swf_read_packet(), thp_read_packet(), tmv_read_packet(), tta_read_packet(), txd_read_packet(), vc1t_read_packet(), vid_read_packet(), voc_get_packet(), wc3_read_packet(), wsaud_read_packet(), xa_read_packet(), yop_read_packet(), and yuv4_read_packet().
int64_t av_gettime | ( | void | ) |
Gets the current time in microseconds.
Definition at line 3158 of file utils.c.
Referenced by audio_read_packet(), av_transcode(), bktr_getframe(), ff_ntp_time(), get_external_clock(), get_video_clock(), get_video_frame(), getutime(), grab_read_header(), grab_read_packet(), http_server(), open_input_stream(), output_packet(), print_report(), process_callback(), read_ffserver_streams(), sdl_audio_callback(), stream_pause(), video_audio_display(), video_refresh_timer(), x11grab_read_header(), and x11grab_read_packet().
enum CodecID av_guess_codec | ( | AVOutputFormat * | fmt, | |
const char * | short_name, | |||
const char * | filename, | |||
const char * | mime_type, | |||
enum AVMediaType | type | |||
) |
Guesses the codec ID based upon muxer and filename.
Definition at line 256 of file utils.c.
Referenced by new_audio_stream(), and new_video_stream().
AVOutputFormat* av_guess_format | ( | const char * | short_name, | |
const char * | filename, | |||
const char * | mime_type | |||
) |
Returns the output format in the list of registered output formats which best matches the provided parameters, or returns NULL if there is no match.
short_name | if non-NULL checks if short_name matches with the names of the registered formats | |
filename | if non-NULL checks if filename terminates with the extensions of the registered formats | |
mime_type | if non-NULL checks if mime_type matches with the MIME type of the registered formats |
Definition at line 198 of file utils.c.
Referenced by av_guess_format(), ff_mov_init_hinting(), ffserver_guess_format(), guess_format(), guess_stream_format(), main(), opt_output_file(), parse_ffconfig(), rtp_new_av_stream(), and rtsp_rtp_mux_open().
static int av_has_duration | ( | AVFormatContext * | ic | ) | [static] |
Returns TRUE if the stream has accurate duration in any stream.
Definition at line 1746 of file utils.c.
Referenced by av_estimate_timings().
void av_hex_dump | ( | FILE * | f, | |
uint8_t * | buf, | |||
int | size | |||
) |
Sends a nice hexadecimal dump of a buffer to the specified file stream.
f | The file stream pointer where the dump should be sent to. | |
buf | buffer | |
size | buffer size |
Definition at line 3412 of file utils.c.
Referenced by pkt_dump_internal().
void av_hex_dump_log | ( | void * | avcl, | |
int | level, | |||
uint8_t * | buf, | |||
int | size | |||
) |
Sends a nice hexadecimal dump of a buffer to the log.
avcl | A pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct. | |
level | The importance level of the message, lower values signifying higher importance. | |
buf | buffer | |
size | buffer size |
Definition at line 3417 of file utils.c.
Referenced by mpegts_push_data(), pat_cb(), pmt_cb(), and sdt_cb().
AVInputFormat* av_iformat_next | ( | AVInputFormat * | f | ) |
If f is NULL, returns the first registered input format, if f is non-NULL, returns the next registered input format after f or NULL if f is the last one.
Definition at line 115 of file utils.c.
Referenced by show_formats().
int av_index_search_timestamp | ( | AVStream * | st, | |
int64_t | timestamp, | |||
int | flags | |||
) |
Gets the index for a specific timestamp.
flags | if AVSEEK_FLAG_BACKWARD then the returned index will correspond to the timestamp which is <= the requested one, if backward is 0, then it will be >= if AVSEEK_FLAG_ANY seek to any frame, only keyframes otherwise |
Definition at line 1378 of file utils.c.
Referenced by ape_read_seek(), asf_read_seek(), av_add_index_entry(), av_seek_frame_binary(), av_seek_frame_generic(), avi_read_packet(), avi_read_seek(), gxf_seek(), matroska_read_seek(), mov_seek_stream(), mpc8_read_seek(), mpc_read_seek(), nsv_read_seek(), read_packet(), read_seek(), rl2_read_seek(), tta_read_seek(), write_packet(), and wv_read_seek().
static int av_interleave_packet | ( | AVFormatContext * | s, | |
AVPacket * | out, | |||
AVPacket * | in, | |||
int | flush | |||
) | [static] |
Interleaves an AVPacket correctly so it can be muxed.
out | the interleaved packet will be output here | |
in | the input packet | |
flush | 1 if no further packets are available as input and all remaining packets should be output |
Definition at line 2898 of file utils.c.
Referenced by av_interleaved_write_frame(), and av_write_trailer().
int av_interleave_packet_per_dts | ( | AVFormatContext * | s, | |
AVPacket * | out, | |||
AVPacket * | pkt, | |||
int | flush | |||
) |
Interleaves a packet per dts in an output media file.
Packets with pkt->destruct == av_destruct_packet will be freed inside this function, so they cannot be used after it. Note that calling av_free_packet() on them is still safe.
s | media file handle | |
out | the interleaved packet will be output here | |
in | the input packet | |
flush | 1 if no further packets are available as input and all remaining packets should be output |
Definition at line 2859 of file utils.c.
Referenced by av_interleave_packet(), and gxf_interleave_packet().
int av_interleaved_write_frame | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) |
Writes a packet to an output media file ensuring correct interleaving.
The packet must contain one audio or video frame. If the packets are already correctly interleaved, the application should call av_write_frame() instead as it is slightly faster. It is also important to keep in mind that completely non-interleaved input will need huge amounts of memory to interleave with this, so it is preferable to interleave at the demuxer level.
s | media file handle | |
pkt | The packet, which contains the stream_index, buf/buf_size, dts/pts, ... |
Definition at line 2905 of file utils.c.
Referenced by write_audio_frame(), write_frame(), and write_video_frame().
int av_match_ext | ( | const char * | filename, | |
const char * | extensions | |||
) |
Returns a positive value if the given filename has one of the given extensions, 0 otherwise.
extensions | a comma-separated list of filename extensions |
Definition at line 145 of file utils.c.
Referenced by av_guess_format(), av_probe_input_format2(), http_parse_request(), ipod_get_codec_tag(), mpegts_probe(), and nsv_probe().
AVProgram* av_new_program | ( | AVFormatContext * | ac, | |
int | id | |||
) |
AVStream* av_new_stream | ( | AVFormatContext * | s, | |
int | id | |||
) |
Adds a new stream to a media file.
Can only be called in the read_header() function. If the flag AVFMTCTX_NOHEADER is in the format context, then new streams can be added in read_packet too.
s | media file handle | |
id | file-format-dependent stream ID |
Definition at line 2500 of file utils.c.
Referenced by add_audio_stream(), add_dstream(), add_video_stream(), aea_read_header(), aiff_read_header(), amr_read_header(), apc_read_header(), ape_read_header(), asf_read_header(), au_read_header(), audio_read_header(), avi_read_header(), avisynth_read_header(), avs_read_packet(), bfi_read_header(), cdata_read_header(), cin_read_header(), create_audio_stream(), create_stream(), daud_header(), dc1394_read_common(), decode_main_header(), dv_extract_audio_info(), dv_init_demux(), dxa_read_header(), ea_read_header(), ff_mov_init_hinting(), ffm_read_header(), film_read_header(), flac_read_header(), flic_read_header(), fourxm_read_header(), get_sindex(), grab_read_header(), idcin_read_header(), iff_read_header(), img_read_header(), ipmovie_read_header(), iss_read_header(), lmlm4_read_header(), matroska_read_header(), mmf_read_header(), mov_read_trak(), mpc8_read_header(), mpc_read_header(), mpegps_read_packet(), mpegts_push_data(), mpegts_read_header(), mpegts_set_stream_info(), msnwc_tcp_read_header(), mtv_read_header(), mxf_parse_structural_metadata(), nc_read_header(), new_audio_stream(), new_subtitle_stream(), new_video_stream(), nsv_parse_NSVs_header(), nut_read_header(), nuv_header(), ogg_new_stream(), oma_read_header(), pmt_cb(), pva_read_header(), qcp_read_header(), r3d_read_red1(), read_desc_chunk(), read_header(), read_packet(), rl2_read_header(), rm_read_header(), rm_read_header_old(), roq_read_header(), roq_read_packet(), rpl_read_header(), rtsp_rtp_mux_open(), sdp_parse_line(), seq_read_header(), siff_parse_vbv1(), smacker_read_header(), sol_read_header(), sox_read_header(), str_read_packet(), swf_read_packet(), thp_read_header(), tmv_read_header(), tta_read_header(), txd_read_header(), v4l2_read_header(), vc1t_read_header(), vfw_read_header(), vid_read_header(), vmd_read_header(), voc_read_header(), vqf_read_header(), wc3_read_header(), wsaud_read_header(), wsvqa_read_header(), wv_read_header(), x11grab_read_header(), xa_read_header(), yop_read_header(), and yuv4_read_header().
AVOutputFormat* av_oformat_next | ( | AVOutputFormat * | f | ) |
If f is NULL, returns the first registered output format, if f is non-NULL, returns the next registered output format after f or NULL if f is the last one.
Definition at line 121 of file utils.c.
Referenced by show_formats().
int av_open_input_file | ( | AVFormatContext ** | ic_ptr, | |
const char * | filename, | |||
AVInputFormat * | fmt, | |||
int | buf_size, | |||
AVFormatParameters * | ap | |||
) |
Opens a media file as input.
The codecs are not opened. Only the file header (if present) is read.
ic_ptr | The opened media file handle is put here. | |
filename | filename to open | |
fmt | If non-NULL, force the file format to use. | |
buf_size | optional buffer size (zero if default is OK) | |
ap | Additional parameters needed when opening the file (NULL if default). |
Definition at line 561 of file utils.c.
Referenced by build_feed_streams(), build_file_streams(), decode_thread(), main(), open_input_file(), open_input_stream(), opt_input_file(), and read_ffserver_streams().
int av_open_input_stream | ( | AVFormatContext ** | ic_ptr, | |
ByteIOContext * | pb, | |||
const char * | filename, | |||
AVInputFormat * | fmt, | |||
AVFormatParameters * | ap | |||
) |
Open a media file from an IO stream.
Allocates all the structures needed to read an input stream.
'fmt' must be specified.
Definition at line 417 of file utils.c.
Referenced by av_open_input_file(), ff_wms_parse_sdp_a_line(), http_receive_data(), and rdt_new_context().
void av_pkt_dump | ( | FILE * | f, | |
AVPacket * | pkt, | |||
int | dump_payload | |||
) |
void av_pkt_dump_log | ( | void * | avcl, | |
int | level, | |||
AVPacket * | pkt, | |||
int | dump_payload | |||
) |
Sends a nice dump of a packet to the log.
avcl | A pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct. | |
level | The importance level of the message, lower values signifying higher importance. | |
pkt | packet to dump | |
dump_payload | True if the payload must be displayed, too. |
Definition at line 3454 of file utils.c.
Referenced by av_transcode().
AVInputFormat* av_probe_input_format | ( | AVProbeData * | pd, | |
int | is_opened | |||
) |
Guesses the file format.
is_opened | Whether the file is already opened; determines whether demuxers with or without AVFMT_NOFILE are probed. |
Definition at line 369 of file utils.c.
Referenced by av_open_input_file().
AVInputFormat* av_probe_input_format2 | ( | AVProbeData * | pd, | |
int | is_opened, | |||
int * | score_max | |||
) |
Guesses the file format.
is_opened | Whether the file is already opened; determines whether demuxers with or without AVFMT_NOFILE are probed. | |
score_max | A probe score larger that this is required to accept a detection, the variable is set to the actual detection score afterwards. If the score is <= AVPROBE_SCORE_MAX / 4 it is recommended to retry with a larger probe buffer. |
Definition at line 343 of file utils.c.
Referenced by av_probe_input_format(), ff_probe_input_buffer(), and set_codec_from_probe_data().
int av_read_frame | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) |
Returns the next frame of a stream.
The returned packet is valid until the next av_read_frame() or until av_close_input_file() and must be freed with av_free_packet. For video, the packet contains exactly one frame. For audio, it contains an integer number of frames if each frame has a known fixed size (e.g. PCM or ADPCM data). If the audio frames have a variable size (e.g. MPEG audio), then it contains one frame.
pkt->pts, pkt->dts and pkt->duration are always set to correct values in AVStream.time_base units (and guessed if the format cannot provide them). pkt->pts can be AV_NOPTS_VALUE if the video format has B-frames, so it is better to rely on pkt->dts if you do not decompress the payload.
Definition at line 1174 of file utils.c.
Referenced by asf_read_pts(), av_seek_frame_generic(), av_transcode(), decode_thread(), http_prepare_data(), main(), mpc_read_seek(), search_hi_lo_keyframes(), and wv_read_seek().
static int av_read_frame_internal | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) | [static] |
int av_read_packet | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) |
Reads a transport packet from a media file.
This function is obsolete and should never be used. Use av_read_frame() instead.
s | media file handle | |
pkt | is filled |
Definition at line 644 of file utils.c.
Referenced by asfrtp_parse_packet(), av_estimate_timings_from_pts(), av_read_frame_internal(), and extract_mpeg4_header().
int av_read_pause | ( | AVFormatContext * | s | ) |
Pauses a network-based stream (e.g.
RTSP stream).
Use av_read_play() to resume it.
Definition at line 2435 of file utils.c.
Referenced by decode_thread().
int av_read_play | ( | AVFormatContext * | s | ) |
Starts playing a network-based stream (e.g.
RTSP stream) at the current position.
Definition at line 2426 of file utils.c.
Referenced by decode_thread().
void av_register_input_format | ( | AVInputFormat * | format | ) |
void av_register_output_format | ( | AVOutputFormat * | format | ) |
int av_seek_frame | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | timestamp, | |||
int | flags | |||
) |
Seeks to the keyframe at timestamp.
'timestamp' in 'stream_index'.
stream_index | If stream_index is (-1), a default stream is selected, and timestamp is automatically converted from AV_TIME_BASE units to the stream specific time_base. | |
timestamp | Timestamp in AVStream.time_base units or, if no stream is specified, in AV_TIME_BASE units. | |
flags | flags which select direction and seeking mode |
Definition at line 1682 of file utils.c.
Referenced by avformat_seek_file(), open_input_stream(), and opt_input_file().
int av_seek_frame_binary | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | target_ts, | |||
int | flags | |||
) |
Does a binary search using av_index_search_timestamp() and AVCodec.read_timestamp().
This is not supposed to be called directly by a user application, but by demuxers.
target_ts | target timestamp in the time base of the given stream | |
stream_index | stream number |
Definition at line 1416 of file utils.c.
Referenced by asf_read_seek(), av_seek_frame(), ogg_read_seek(), and read_seek().
static int av_seek_frame_byte | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | pos, | |||
int | flags | |||
) | [static] |
static int av_seek_frame_generic | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | timestamp, | |||
int | flags | |||
) | [static] |
int av_set_parameters | ( | AVFormatContext * | s, | |
AVFormatParameters * | ap | |||
) |
media file output
Definition at line 2597 of file utils.c.
Referenced by build_feed_streams(), http_prepare_data(), main(), opt_output_file(), and rtp_new_av_stream().
void av_set_pts_info | ( | AVStream * | s, | |
int | pts_wrap_bits, | |||
unsigned int | pts_num, | |||
unsigned int | pts_den | |||
) |
Sets the pts for a given stream.
s | stream | |
pts_wrap_bits | number of bits effectively used by the pts (used for wrap control, 33 is the value for MPEG) | |
pts_num | numerator to convert to seconds (MPEG: 1) | |
pts_den | denominator to convert to seconds (MPEG: 90000) |
Definition at line 3541 of file utils.c.
Referenced by add_av_stream1(), aiff_read_header(), aiff_write_header(), amr_read_header(), ape_read_header(), asf_read_header(), asf_write_header1(), asfrtp_parse_sdp_line(), au_read_header(), audio_read_header(), av_new_stream(), avi_read_header(), avi_write_header(), avisynth_read_header(), bfi_read_header(), cdata_read_header(), cin_read_header(), create_audio_stream(), create_stream(), dc1394_read_common(), decode_stream_header(), dv_extract_audio_info(), dv_extract_video_info(), dxa_read_header(), ea_read_header(), ff_rm_read_mdpr_codecdata(), ffm_read_header(), ffm_write_header(), film_read_header(), flac_read_header(), flic_read_header(), flv_write_header(), fourxm_read_header(), grab_read_header(), gxf_header(), gxf_write_header(), idcin_read_header(), iff_read_header(), img_read_header(), ipmovie_read_header(), iss_read_header(), lmlm4_read_header(), matroska_read_header(), mkv_write_tracks(), mmf_read_header(), mov_read_trak(), mov_write_header(), mpc8_read_header(), mpc_read_header(), mpeg_mux_init(), mpegts_read_header(), mpegts_set_stream_info(), msnwc_tcp_read_header(), mtv_read_header(), mxf_parse_structural_metadata(), mxf_write_header(), nc_read_header(), nsv_parse_NSVs_header(), nut_read_header(), nuv_header(), ogg_new_stream(), ogg_write_header(), oma_read_header(), parse_h264_sdp_line(), pva_read_header(), r3d_read_red1(), read_header(), rl2_read_header(), roq_read_header(), roq_read_packet(), rpl_read_header(), rtp_parse_open(), seq_read_header(), siff_parse_vbv1(), smacker_read_header(), sol_read_header(), sox_read_header(), str_read_packet(), swf_read_packet(), thp_read_header(), tmv_read_header(), tta_read_header(), v4l2_read_header(), vc1t_read_header(), vfw_read_header(), vid_read_header(), vmd_read_header(), vqf_read_header(), wc3_read_header(), write_header(), wsaud_read_header(), wsvqa_read_header(), wv_read_header(), x11grab_read_header(), xa_read_header(), yop_read_header(), and yuv4_read_header().
void av_update_cur_dts | ( | AVFormatContext * | s, | |
AVStream * | ref_st, | |||
int64_t | timestamp | |||
) |
Updates cur_dts of all streams based on the given timestamp and AVStream.
Stream ref_st unchanged, others set cur_dts in their native time base. Only needed for timestamp wrapping or if (dts not set and pts!=dts).
timestamp | new dts expressed in time_base of param ref_st | |
ref_st | reference stream giving time_base of param timestamp |
Definition at line 1309 of file utils.c.
Referenced by av_seek_frame_binary(), av_seek_frame_byte(), av_seek_frame_generic(), matroska_read_seek(), and mxf_read_seek().
static void av_update_stream_timings | ( | AVFormatContext * | ic | ) | [static] |
Estimate the stream timings from the one of each components.
Also computes the global bitrate if possible.
Definition at line 1764 of file utils.c.
Referenced by av_estimate_timings(), and fill_all_stream_timings().
int av_write_frame | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) |
Writes a packet to an output media file.
The packet shall contain one audio or video frame. The packet must be correctly interleaved according to the container specification, if not then av_interleaved_write_frame must be used.
s | media file handle | |
pkt | The packet, which contains the stream_index, buf/buf_size, dts/pts, ... |
Definition at line 2801 of file utils.c.
Referenced by ff_mov_add_hinted_packet(), http_prepare_data(), and rtsp_write_packet().
int av_write_header | ( | AVFormatContext * | s | ) |
Allocates the stream private data and writes the stream header to an output media file.
s | media file handle |
Definition at line 2616 of file utils.c.
Referenced by av_transcode(), build_feed_streams(), ff_mov_init_hinting(), http_prepare_data(), main(), rtp_new_av_stream(), and rtsp_rtp_mux_open().
int av_write_trailer | ( | AVFormatContext * | s | ) |
Writes the stream trailer to an output media file and frees the file private data.
May only be called after a successful call to av_write_header.
s | media file handle |
Definition at line 2937 of file utils.c.
Referenced by close_connection(), ff_mov_close_hinting(), ff_rtsp_close_streams(), http_prepare_data(), and main().
const char* avformat_configuration | ( | void | ) |
Returns the libavformat build-time configuration.
Definition at line 49 of file utils.c.
Referenced by show_banner().
const char* avformat_license | ( | void | ) |
int avformat_seek_file | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | min_ts, | |||
int64_t | ts, | |||
int64_t | max_ts, | |||
int | flags | |||
) |
Seeks to timestamp ts.
Seeking will be done so that the point from which all active streams can be presented successfully will be closest to ts and within min/max_ts. Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
If flags contain AVSEEK_FLAG_BYTE, then all timestamps are in bytes and are the file position (this may not be supported by all demuxers). If flags contain AVSEEK_FLAG_FRAME, then all timestamps are in frames in the stream with stream_index (this may not be supported by all demuxers). Otherwise all timestamps are in units of the stream selected by stream_index or if stream_index is -1, in AV_TIME_BASE units. If flags contain AVSEEK_FLAG_ANY, then non-keyframes are treated as keyframes (this may not be supported by all demuxers).
stream_index | index of the stream which is used as time base reference | |
min_ts | smallest acceptable timestamp | |
ts | target timestamp | |
max_ts | largest acceptable timestamp | |
flags | flags |
Definition at line 1717 of file utils.c.
Referenced by decode_thread(), and main().
unsigned avformat_version | ( | void | ) |
static void compute_chapters_end | ( | AVFormatContext * | s | ) | [static] |
static void compute_frame_duration | ( | int * | pnum, | |
int * | pden, | |||
AVStream * | st, | |||
AVCodecParserContext * | pc, | |||
AVPacket * | pkt | |||
) | [static] |
Return the frame duration in seconds.
Return 0 if not available.
Definition at line 755 of file utils.c.
Referenced by compute_pkt_fields(), and compute_pkt_fields2().
static void compute_pkt_fields | ( | AVFormatContext * | s, | |
AVStream * | st, | |||
AVCodecParserContext * | pc, | |||
AVPacket * | pkt | |||
) | [static] |
static int compute_pkt_fields2 | ( | AVFormatContext * | s, | |
AVStream * | st, | |||
AVPacket * | pkt | |||
) | [static] |
Definition at line 2727 of file utils.c.
Referenced by av_interleaved_write_frame(), and av_write_frame().
void dump_format | ( | AVFormatContext * | ic, | |
int | index, | |||
const char * | url, | |||
int | is_output | |||
) |
Definition at line 3063 of file utils.c.
Referenced by av_transcode(), decode_thread(), main(), open_input_file(), and opt_input_file().
static void dump_metadata | ( | void * | ctx, | |
AVMetadata * | m, | |||
const char * | indent | |||
) | [static] |
static void dump_stream_format | ( | AVFormatContext * | ic, | |
int | i, | |||
int | index, | |||
int | is_output | |||
) | [static] |
enum CodecID ff_codec_get_id | ( | const AVCodecTag * | tags, | |
unsigned int | tag | |||
) |
Definition at line 2066 of file utils.c.
Referenced by asf_read_header(), au_read_header(), av_codec_get_id(), avi_read_header(), avisynth_read_header(), decode_stream_header(), ff_mov_read_esds(), ff_rm_read_mdpr_codecdata(), get_aiff_header(), get_codec_data(), matroska_read_header(), mov_read_stsd(), nsv_parse_NSVs_header(), nut_read_header(), ogm_dshow_header(), ogm_header(), oma_read_header(), read_desc_chunk(), rm_read_audio_stream_info(), swf_read_packet(), and voc_get_packet().
unsigned int ff_codec_get_tag | ( | const AVCodecTag * | tags, | |
int | id | |||
) |
Definition at line 2056 of file utils.c.
Referenced by av_codec_get_tag(), gxf_write_header(), ipod_get_codec_tag(), mkv_write_codecprivate(), mkv_write_tracks(), mov_find_codec_tag(), mov_get_codec_tag(), mov_write_esds_tag(), mp4_get_codec_tag(), and swf_write_video().
char* ff_data_to_hex | ( | char * | buff, | |
const uint8_t * | src, | |||
int | s, | |||
int | lowercase | |||
) |
Definition at line 3520 of file utils.c.
Referenced by ff_rdt_calc_response_and_checksum(), and make_digest_auth().
void ff_interleave_add_packet | ( | AVFormatContext * | s, | |
AVPacket * | pkt, | |||
int(*)(AVFormatContext *, AVPacket *, AVPacket *) | compare | |||
) |
Add packet to AVFormatContext->packet_buffer list, determining its interleaved position using compare() function argument.
Definition at line 2814 of file utils.c.
Referenced by av_interleave_packet_per_dts(), and ff_audio_rechunk_interleave().
int ff_interleave_compare_dts | ( | AVFormatContext * | s, | |
AVPacket * | next, | |||
AVPacket * | pkt | |||
) |
AVChapter* ff_new_chapter | ( | AVFormatContext * | s, | |
int | id, | |||
AVRational | time_base, | |||
int64_t | start, | |||
int64_t | end, | |||
const char * | title | |||
) |
Adds a new chapter.
This function is NOT part of the public API and should ONLY be used by demuxers.
s | media file handle | |
id | unique ID for this chapter | |
start | chapter start time in time_base units | |
end | chapter end time in time_base units | |
title | chapter title |
Definition at line 2567 of file utils.c.
Referenced by asf_read_header(), decode_info_header(), matroska_read_header(), mov_read_chapters(), mov_read_chpl(), and ogm_chapter().
uint64_t ff_ntp_time | ( | void | ) |
Gets the current time since NTP epoch in microseconds.
Definition at line 3165 of file utils.c.
Referenced by rtp_write_header(), and rtp_write_packet().
int ff_probe_input_buffer | ( | ByteIOContext ** | pb, | |
AVInputFormat ** | fmt, | |||
const char * | filename, | |||
void * | logctx, | |||
unsigned int | offset, | |||
unsigned int | max_probe_size | |||
) |
Probes a bytestream to determine the input format.
Each time a probe returns with a score that is too low, the probe buffer size is increased and another attempt is made. When the maximum probe size is reached, the input format with the highest score is returned.
pb | the bytestream to probe, it may be closed and opened again | |
fmt | the input format is put here | |
filename | the filename of the stream | |
logctx | the log context | |
offset | the offset within the bytestream to probe from | |
max_probe_size | the maximum probe buffer size (zero for default) |
Definition at line 494 of file utils.c.
Referenced by av_open_input_file().
void ff_program_add_stream_index | ( | AVFormatContext * | ac, | |
int | progid, | |||
unsigned int | idx | |||
) |
void ff_read_frame_flush | ( | AVFormatContext * | s | ) |
Flush the frame reader.
Definition at line 1277 of file utils.c.
Referenced by av_seek_frame(), av_seek_frame_generic(), avformat_seek_file(), ff_restore_parser_state(), and search_hi_lo_keyframes().
void ff_reduce_index | ( | AVFormatContext * | s, | |
int | stream_index | |||
) |
Ensures the index uses less memory than the maximum specified in AVFormatContext.max_index_size by discarding entries if it grows too large.
This function is not part of the public API and should only be called by demuxers.
Definition at line 1321 of file utils.c.
Referenced by av_read_frame_internal(), and mpegps_read_pes_header().
int ff_url_join | ( | char * | str, | |
int | size, | |||
const char * | proto, | |||
const char * | authorization, | |||
const char * | hostname, | |||
int | port, | |||
const char * | fmt, | |||
... | ||||
) |
Assembles a URL string from components.
This is the reverse operation of ff_url_split.
Note, this requires networking to be initialized, so the caller must ensure ff_network_init has been called.
str | the buffer to fill with the url | |
size | the size of the str buffer | |
proto | the protocol identifier, if null, the separator after the identifier is left out, too | |
authorization | an optional authorization string, may be null | |
hostname | the host name string | |
port | the port number, left out from the string if negative | |
fmt | a generic format string for everything to add after the host/port, may be null |
Definition at line 3556 of file utils.c.
Referenced by build_udp_url(), gen_connect(), gopher_open(), http_open_cnx(), rtmp_open(), rtp_set_remote_url(), and sdp_read_header().
void ff_url_split | ( | char * | proto, | |
int | proto_size, | |||
char * | authorization, | |||
int | authorization_size, | |||
char * | hostname, | |||
int | hostname_size, | |||
int * | port_ptr, | |||
char * | path, | |||
int | path_size, | |||
const char * | url | |||
) |
Splits a URL string into components.
To reassemble components back into a URL, use ff_url_join instead of using snprintf directly.
The pointers to buffers for storing individual components may be null, in order to ignore that component. Buffers for components not found are set to empty strings. If the port isn't found, it is set to a negative value.
proto | the buffer for the protocol | |
proto_size | the size of the proto buffer | |
authorization | the buffer for the authorization | |
authorization_size | the size of the authorization buffer | |
hostname | the buffer for the host name | |
hostname_size | the size of the hostname buffer | |
port_ptr | a pointer to store the port number in | |
path | the buffer for the path | |
path_size | the size of the path buffer | |
url | the URL to split |
Definition at line 3459 of file utils.c.
Referenced by find_rtp_session_with_url(), gopher_open(), http_open_cnx(), rtmp_open(), rtp_open(), rtp_set_remote_url(), rtsp_cmd_describe(), rtsp_cmd_setup(), sdp_parse_line(), tcp_open(), udp_open(), and udp_set_remote_url().
static void fill_all_stream_timings | ( | AVFormatContext * | ic | ) | [static] |
Definition at line 1810 of file utils.c.
Referenced by av_estimate_timings(), and av_estimate_timings_from_pts().
int find_info_tag | ( | char * | arg, | |
int | arg_size, | |||
const char * | tag1, | |||
const char * | info | |||
) |
Attempts to find a specific tag in a URL.
syntax: '?tag1=val1&tag2=val2...'. Little URL decoding is done. Return 1 if found.
Definition at line 3289 of file utils.c.
Referenced by open_input_stream(), rtp_open(), and udp_open().
static void flush_packet_queue | ( | AVFormatContext * | s | ) | [static] |
Definition at line 1229 of file utils.c.
Referenced by av_close_input_stream(), av_estimate_timings_from_pts(), and ff_read_frame_flush().
static int get_audio_frame_size | ( | AVCodecContext * | enc, | |
int | size | |||
) | [static] |
Get the number of samples of an audio frame.
Return -1 on error.
Definition at line 725 of file utils.c.
Referenced by compute_frame_duration(), and compute_pkt_fields2().
static int get_std_framerate | ( | int | i | ) | [static] |
AVOutputFormat* guess_format | ( | const char * | short_name, | |
const char * | filename, | |||
const char * | mime_type | |||
) |
AVOutputFormat* guess_stream_format | ( | const char * | short_name, | |
const char * | filename, | |||
const char * | mime_type | |||
) |
static int has_codec_parameters | ( | AVCodecContext * | enc | ) | [static] |
Definition at line 1991 of file utils.c.
Referenced by av_find_stream_info(), and try_decode_frame().
static void hex_dump_internal | ( | void * | avcl, | |
FILE * | f, | |||
int | level, | |||
uint8_t * | buf, | |||
int | size | |||
) | [static] |
static int is_intra_only | ( | AVCodecContext * | enc | ) | [static] |
static int match_format | ( | const char * | name, | |
const char * | names | |||
) | [static] |
int64_t parse_date | ( | const char * | datestr, | |
int | duration | |||
) |
Parses datestr and returns a corresponding number of microseconds.
datestr | String representing a date or a duration.
| |
duration | Flag which tells how to interpret datestr, if not zero datestr is interpreted as a duration, otherwise as a date. |
Definition at line 3170 of file utils.c.
Referenced by open_input_stream(), parse_time_or_die(), and rtsp_parse_range_npt().
int parse_frame_rate | ( | int * | frame_rate, | |
int * | frame_rate_base, | |||
const char * | arg | |||
) |
int parse_image_size | ( | int * | width_ptr, | |
int * | height_ptr, | |||
const char * | str | |||
) |
static void pkt_dump_internal | ( | void * | avcl, | |
FILE * | f, | |||
int | level, | |||
AVPacket * | pkt, | |||
int | dump_payload | |||
) | [static] |
static void print_fps | ( | double | d, | |
const char * | postfix | |||
) | [static] |
static int set_codec_from_probe_data | ( | AVFormatContext * | s, | |
AVStream * | st, | |||
AVProbeData * | pd, | |||
int | score | |||
) | [static] |
static int tb_unreliable | ( | AVCodecContext * | c | ) | [static] |
static void update_initial_durations | ( | AVFormatContext * | s, | |
AVStream * | st, | |||
AVPacket * | pkt | |||
) | [static] |
static void update_initial_timestamps | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | dts, | |||
int64_t | pts | |||
) | [static] |
AVInputFormat* first_iformat = NULL |
AVOutputFormat* first_oformat = NULL |