Sigrid Solveig HaflínudóttirFogg -> Fvorbis; deprecate the formerff6f7fd2 years agoHistory
67 lines · 1.0 KB · C
RawDownload
#include "tagspriv.h" typedef struct Getter Getter; struct Getter{	int (*f)(Tagctx *ctx);	int format;}; static const Getter g[] ={	{tagid3v2, Fmp3},	{tagid3v1, Fmp3},	{tagvorbis, Fvorbis},	{tagflac, Fflac},	{tagm4a, Fm4a},	{tagopus, Fopus},	{tagwav, Fwav},	{tagit, Fit},	{tagxm, Fxm},	{tags3m, Fs3m},	{tagmod, Fmod},}; voidtagscallcb(Tagctx *ctx, int type, const char *k, char *s, int offset, int size, Tagread f){	char *e; 	if(f == nil && size == 0){		while((uint8_t)*s <= ' ' && *s)			s++;		e = s + strlen(s);		while(e != s && (uint8_t)e[-1] <= ' ')			e--;		if(*e != 0)		  *e = 0;	}	if(*s){		ctx->tag(ctx, type, k, s, offset, size, f);		if(type != Tunknown){			ctx->found |= 1<<type;		}	}} inttagsget(Tagctx *ctx){	int i, res; 	ctx->channels = ctx->samplerate = ctx->bitrate = ctx->duration = 0;	ctx->found = 0;	ctx->format = Funknown;	ctx->restart = 0;	res = -1;	for(i = 0; i < nelem(g); i++){		if(g[i].f(ctx) == 0){			ctx->format = g[i].format;			res = 0;		}		ctx->seek(ctx, ctx->restart, 0);	} 	return res;}

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t