mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
av_*_next() API for libavformat
Originally committed as revision 11206 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
562b216307
commit
84be6e7239
12
ffmpeg.c
12
ffmpeg.c
@ -3318,9 +3318,9 @@ static int64_t getutime(void)
|
|||||||
|
|
||||||
static void opt_show_formats(void)
|
static void opt_show_formats(void)
|
||||||
{
|
{
|
||||||
AVInputFormat *ifmt;
|
AVInputFormat *ifmt=NULL;
|
||||||
AVOutputFormat *ofmt;
|
AVOutputFormat *ofmt=NULL;
|
||||||
URLProtocol *up;
|
URLProtocol *up=NULL;
|
||||||
AVCodec *p=NULL, *p2;
|
AVCodec *p=NULL, *p2;
|
||||||
AVBitStreamFilter *bsf=NULL;
|
AVBitStreamFilter *bsf=NULL;
|
||||||
const char *last_name;
|
const char *last_name;
|
||||||
@ -3333,7 +3333,7 @@ static void opt_show_formats(void)
|
|||||||
const char *name=NULL;
|
const char *name=NULL;
|
||||||
const char *long_name=NULL;
|
const char *long_name=NULL;
|
||||||
|
|
||||||
for(ofmt = first_oformat; ofmt != NULL; ofmt = ofmt->next) {
|
while(ofmt= av_oformat_next(ofmt)) {
|
||||||
if((name == NULL || strcmp(ofmt->name, name)<0) &&
|
if((name == NULL || strcmp(ofmt->name, name)<0) &&
|
||||||
strcmp(ofmt->name, last_name)>0){
|
strcmp(ofmt->name, last_name)>0){
|
||||||
name= ofmt->name;
|
name= ofmt->name;
|
||||||
@ -3341,7 +3341,7 @@ static void opt_show_formats(void)
|
|||||||
encode=1;
|
encode=1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
for(ifmt = first_iformat; ifmt != NULL; ifmt = ifmt->next) {
|
while(ifmt= av_iformat_next(ifmt)) {
|
||||||
if((name == NULL || strcmp(ifmt->name, name)<0) &&
|
if((name == NULL || strcmp(ifmt->name, name)<0) &&
|
||||||
strcmp(ifmt->name, last_name)>0){
|
strcmp(ifmt->name, last_name)>0){
|
||||||
name= ifmt->name;
|
name= ifmt->name;
|
||||||
@ -3424,7 +3424,7 @@ static void opt_show_formats(void)
|
|||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
printf("Supported file protocols:\n");
|
printf("Supported file protocols:\n");
|
||||||
for(up = first_protocol; up != NULL; up = up->next)
|
while(up = av_protocol_next(up))
|
||||||
printf(" %s:", up->name);
|
printf(" %s:", up->name);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
|
@ -21,8 +21,8 @@
|
|||||||
#ifndef FFMPEG_AVFORMAT_H
|
#ifndef FFMPEG_AVFORMAT_H
|
||||||
#define FFMPEG_AVFORMAT_H
|
#define FFMPEG_AVFORMAT_H
|
||||||
|
|
||||||
#define LIBAVFORMAT_VERSION_INT ((52<<16)+(1<<8)+0)
|
#define LIBAVFORMAT_VERSION_INT ((52<<16)+(2<<8)+0)
|
||||||
#define LIBAVFORMAT_VERSION 52.1.0
|
#define LIBAVFORMAT_VERSION 52.2.0
|
||||||
#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
|
#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
|
||||||
|
|
||||||
#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
|
#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
|
||||||
@ -452,8 +452,13 @@ typedef struct AVPacketList {
|
|||||||
struct AVPacketList *next;
|
struct AVPacketList *next;
|
||||||
} AVPacketList;
|
} AVPacketList;
|
||||||
|
|
||||||
|
#if LIBAVFORMAT_VERSION_INT < (53<<16)
|
||||||
extern AVInputFormat *first_iformat;
|
extern AVInputFormat *first_iformat;
|
||||||
extern AVOutputFormat *first_oformat;
|
extern AVOutputFormat *first_oformat;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
AVInputFormat *av_iformat_next(AVInputFormat *f);
|
||||||
|
AVOutputFormat *av_oformat_next(AVOutputFormat *f);
|
||||||
|
|
||||||
enum CodecID av_guess_image2_codec(const char *filename);
|
enum CodecID av_guess_image2_codec(const char *filename);
|
||||||
|
|
||||||
|
@ -26,6 +26,12 @@ static int default_interrupt_cb(void);
|
|||||||
URLProtocol *first_protocol = NULL;
|
URLProtocol *first_protocol = NULL;
|
||||||
URLInterruptCB *url_interrupt_cb = default_interrupt_cb;
|
URLInterruptCB *url_interrupt_cb = default_interrupt_cb;
|
||||||
|
|
||||||
|
URLProtocol *av_protocol_next(URLProtocol *p)
|
||||||
|
{
|
||||||
|
if(p) return p->next;
|
||||||
|
else return first_protocol;
|
||||||
|
}
|
||||||
|
|
||||||
int register_protocol(URLProtocol *protocol)
|
int register_protocol(URLProtocol *protocol)
|
||||||
{
|
{
|
||||||
URLProtocol **p;
|
URLProtocol **p;
|
||||||
|
@ -136,6 +136,8 @@ typedef struct URLProtocol {
|
|||||||
extern URLProtocol *first_protocol;
|
extern URLProtocol *first_protocol;
|
||||||
extern URLInterruptCB *url_interrupt_cb;
|
extern URLInterruptCB *url_interrupt_cb;
|
||||||
|
|
||||||
|
URLProtocol *av_protocol_next(URLProtocol *p);
|
||||||
|
|
||||||
int register_protocol(URLProtocol *protocol);
|
int register_protocol(URLProtocol *protocol);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -41,6 +41,18 @@ AVInputFormat *first_iformat = NULL;
|
|||||||
/** head of registered output format linked list. */
|
/** head of registered output format linked list. */
|
||||||
AVOutputFormat *first_oformat = NULL;
|
AVOutputFormat *first_oformat = NULL;
|
||||||
|
|
||||||
|
AVInputFormat *av_iformat_next(AVInputFormat *f)
|
||||||
|
{
|
||||||
|
if(f) return f->next;
|
||||||
|
else return first_iformat;
|
||||||
|
}
|
||||||
|
|
||||||
|
AVOutputFormat *av_oformat_next(AVOutputFormat *f)
|
||||||
|
{
|
||||||
|
if(f) return f->next;
|
||||||
|
else return first_oformat;
|
||||||
|
}
|
||||||
|
|
||||||
void av_register_input_format(AVInputFormat *format)
|
void av_register_input_format(AVInputFormat *format)
|
||||||
{
|
{
|
||||||
AVInputFormat **p;
|
AVInputFormat **p;
|
||||||
|
Loading…
Reference in New Issue
Block a user