[FFmpeg-cvslog] r11206 - in trunk: ffmpeg.c libavformat/avformat.h libavformat/avio.c libavformat/avio.h libavformat/utils.c
michael
subversion
Wed Dec 12 20:01:58 CET 2007
Author: michael
Date: Wed Dec 12 20:01:58 2007
New Revision: 11206
Log:
av_*_next() API for libavformat
Modified:
trunk/ffmpeg.c
trunk/libavformat/avformat.h
trunk/libavformat/avio.c
trunk/libavformat/avio.h
trunk/libavformat/utils.c
Modified: trunk/ffmpeg.c
==============================================================================
--- trunk/ffmpeg.c (original)
+++ trunk/ffmpeg.c Wed Dec 12 20:01:58 2007
@@ -3318,9 +3318,9 @@ static int64_t getutime(void)
static void opt_show_formats(void)
{
- AVInputFormat *ifmt;
- AVOutputFormat *ofmt;
- URLProtocol *up;
+ AVInputFormat *ifmt=NULL;
+ AVOutputFormat *ofmt=NULL;
+ URLProtocol *up=NULL;
AVCodec *p=NULL, *p2;
AVBitStreamFilter *bsf=NULL;
const char *last_name;
@@ -3333,7 +3333,7 @@ static void opt_show_formats(void)
const char *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) &&
strcmp(ofmt->name, last_name)>0){
name= ofmt->name;
@@ -3341,7 +3341,7 @@ static void opt_show_formats(void)
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) &&
strcmp(ifmt->name, last_name)>0){
name= ifmt->name;
@@ -3424,7 +3424,7 @@ static void opt_show_formats(void)
printf("\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("\n");
Modified: trunk/libavformat/avformat.h
==============================================================================
--- trunk/libavformat/avformat.h (original)
+++ trunk/libavformat/avformat.h Wed Dec 12 20:01:58 2007
@@ -21,8 +21,8 @@
#ifndef FFMPEG_AVFORMAT_H
#define FFMPEG_AVFORMAT_H
-#define LIBAVFORMAT_VERSION_INT ((52<<16)+(1<<8)+0)
-#define LIBAVFORMAT_VERSION 52.1.0
+#define LIBAVFORMAT_VERSION_INT ((52<<16)+(2<<8)+0)
+#define LIBAVFORMAT_VERSION 52.2.0
#define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
#define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
@@ -452,8 +452,13 @@ typedef struct AVPacketList {
struct AVPacketList *next;
} AVPacketList;
+#if LIBAVFORMAT_VERSION_INT < (53<<16)
extern AVInputFormat *first_iformat;
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);
Modified: trunk/libavformat/avio.c
==============================================================================
--- trunk/libavformat/avio.c (original)
+++ trunk/libavformat/avio.c Wed Dec 12 20:01:58 2007
@@ -26,6 +26,12 @@ static int default_interrupt_cb(void);
URLProtocol *first_protocol = NULL;
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)
{
URLProtocol **p;
Modified: trunk/libavformat/avio.h
==============================================================================
--- trunk/libavformat/avio.h (original)
+++ trunk/libavformat/avio.h Wed Dec 12 20:01:58 2007
@@ -136,6 +136,8 @@ typedef struct URLProtocol {
extern URLProtocol *first_protocol;
extern URLInterruptCB *url_interrupt_cb;
+URLProtocol *av_protocol_next(URLProtocol *p);
+
int register_protocol(URLProtocol *protocol);
typedef struct {
Modified: trunk/libavformat/utils.c
==============================================================================
--- trunk/libavformat/utils.c (original)
+++ trunk/libavformat/utils.c Wed Dec 12 20:01:58 2007
@@ -41,6 +41,18 @@ AVInputFormat *first_iformat = NULL;
/** head of registered output format linked list. */
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)
{
AVInputFormat **p;
More information about the ffmpeg-cvslog
mailing list