changeset 5325:9c326f199060

tagging selected codec to avoid trying the same codec several times
author arpi
date Mon, 25 Mar 2002 03:02:57 +0000
parents f9845598022f
children 0b024f661dd0
files codec-cfg.c codec-cfg.h
diffstat 2 files changed, 17 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/codec-cfg.c	Mon Mar 25 02:39:58 2002 +0000
+++ b/codec-cfg.c	Mon Mar 25 03:02:57 2002 +0000
@@ -702,6 +702,7 @@
 				if (c->fourcc[j]==fourcc || c->driver==0) {
 					if (fourccmap)
 						*fourccmap = c->fourccmap[j];
+					c->flags|=CODECS_FLAG_SELECTED;
 					return c;
 				}
 			}
@@ -710,6 +711,21 @@
 	return NULL;
 }
 
+void codecs_reset_selection(int audioflag){
+	int i;
+	codecs_t *c;
+	if (audioflag) {
+		i = nr_acodecs;
+		c = audio_codecs;
+	} else {
+		i = nr_vcodecs;
+		c = video_codecs;
+	}
+	if(i)
+	for (/* NOTHING */; i--; c++)
+		c->flags&=(~CODECS_FLAG_SELECTED);
+}
+
 void list_codecs(int audioflag){
 	int i;
 	codecs_t *c;
--- a/codec-cfg.h	Mon Mar 25 02:39:58 2002 +0000
+++ b/codec-cfg.h	Mon Mar 25 03:02:57 2002 +0000
@@ -7,6 +7,7 @@
 
 // Global flags:
 #define CODECS_FLAG_SEEKABLE	(1<<0)
+#define CODECS_FLAG_SELECTED	(1<<15)  /* for internal use */
 
 // Outfmt flags:
 #define CODECS_FLAG_FLIP	(1<<0)