static int enc_add_attr(MSFilter *f, void *arg){ const char *attr=(const char *)arg; ms_message("MSBV16Enc: enc_add_attr %s", attr); if (strstr(attr,"ptime:")!=NULL){ int ptime = atoi(attr+6); return enc_set_ptime(f,&ptime); } return 0; }
static int enc_add_fmtp(MSFilter *f, void *arg){ char buf[64]; const char *fmtp=(const char *)arg; SpeexEncState *s=(SpeexEncState*)f->data; memset(buf, '\0', sizeof(buf)); fmtp_get_value(fmtp, "vbr", buf, sizeof(buf)); if (buf[0]=='\0'){ } else if (strstr(buf,"off")!=NULL){ s->vbr=0; } else if (strstr(buf,"on")!=NULL){ s->vbr=1; } else if (strstr(buf,"vad")!=NULL){ s->vbr=2; } memset(buf, '\0', sizeof(buf)); fmtp_get_value(fmtp, "cng", buf, sizeof(buf)); if (buf[0]=='\0'){ } else if (strstr(buf,"off")!=NULL){ s->cng=0; } else if (strstr(buf,"on")!=NULL){ s->cng=1; } memset(buf, '\0', sizeof(buf)); fmtp_get_value(fmtp, "mode", buf, sizeof(buf)); if (buf[0]=='\0' || buf[1]=='\0'){ } else if (buf[0]=='0' || (buf[0]=='"' && buf[1]=='0')){ s->mode=0; } else if (buf[0]=='"' && atoi(buf+1)>=0){ s->mode=atoi(buf+1); } else if (buf[0]!='"' && atoi(buf)>=0){ s->mode=atoi(buf); } else { s->mode = -1; /* default mode */ } memset(buf, '\0', sizeof(buf)); if (fmtp_get_value(fmtp,"ptime",buf,sizeof(buf))){ int val=atoi(buf); enc_set_ptime(f,&val); } return 0; }
static int enc_add_fmtp(MSFilter *f, void *arg){ EncState *s=(EncState*)f->data; const char *fmtp=(const char *)arg; char tmp[64]; tmp[0] = '\0'; if (fmtp_get_value(fmtp,"maxptime:",tmp,sizeof(tmp))){ s->max_ptime=atoi(tmp); if (s->max_ptime < 10 || s->max_ptime > 100 ) { ms_warning("MSBV16Enc: unknown value [%i] for maxptime, use default value (100) instead",s->max_ptime); s->max_ptime=100; } ms_message("MSBV16Enc: got maxptime=%i",s->max_ptime); }else if (fmtp_get_value(fmtp,"ptime",tmp,sizeof(tmp))){ int val = atoi(tmp); return enc_set_ptime(f,&val); } return 0; }