# HG changeset patch # User arpi # Date 1030237961 0 # Node ID f0886fe4be89cf04c8ecee1b4a65b3dc86966c01 # Parent 02aa64b49b701669e99b1bcec75418ab07bb459b support for 'sipr' codec - descrambling/reorder not yet fixed. FIXME: you must have dspr.so in the library path... ie /usr/local/lib/ diff -r 02aa64b49b70 -r f0886fe4be89 libmpcodecs/ad_real.c --- a/libmpcodecs/ad_real.c Sun Aug 25 00:07:15 2002 +0000 +++ b/libmpcodecs/ad_real.c Sun Aug 25 01:12:41 2002 +0000 @@ -43,6 +43,7 @@ static unsigned long (*raOpenCodec2)(unsigned long); static unsigned long (*raSetFlavor)(unsigned long,unsigned long); static void (*raSetDLLAccessPath)(unsigned long); +static void (*raSetPwd)(char*,char*); typedef struct { int samplerate; @@ -78,6 +79,7 @@ raInitDecoder = dlsym(handle, "RAInitDecoder"); raSetFlavor = dlsym(handle, "RASetFlavor"); raSetDLLAccessPath = dlsym(handle, "SetDLLAccessPath"); + raSetPwd = dlsym(handle, "RASetPwd"); // optional, used by SIPR if(!raCloseCodec || !raDecode || !raFlush || !raFreeDecoder || !raGetFlavorProperty || !raOpenCodec2 || !raSetFlavor || @@ -112,6 +114,11 @@ return 0; } } + + if(raSetPwd){ + // used by 'SIPR' + raSetPwd(sh->context,"Ardubancel Quazanga"); // set password... lol. + } result=raSetFlavor(sh->context,((short*)(sh->wf+1))[2]); if(result){ @@ -155,9 +162,11 @@ int result; int len=-1; int sps=((short*)(sh->wf+1))[0]; - int w=sh->wf->nBlockAlign/sps; // 5 + int w=sh->wf->nBlockAlign; // 5 int h=((short*)(sh->wf+1))[1]; + if(sps) w/=sps; else sps=1; + // printf("bs=%d sps=%d w=%d h=%d \n",sh->wf->nBlockAlign,sps,w,h); #if 1