Fossil SCM
Add extra silence in between letters of the spoken captcha.
Commit
2e32552331937fbac1a982299fe72da88af590bebea046a6edae7666516a596c
Parent
76a8eefc80e2d4c…
1 file changed
+6
+6
| --- src/captcha.c | ||
| +++ src/captcha.c | ||
| @@ -646,10 +646,16 @@ | ||
| 646 | 646 | int nData; |
| 647 | 647 | const unsigned char *pData; |
| 648 | 648 | char zSoundName[50]; |
| 649 | 649 | sqlite3_snprintf(sizeof(zSoundName),zSoundName,"sounds/%c.wav", |
| 650 | 650 | "0123456789abcdef"[v]); |
| 651 | + /* Extra silence in between letters */ | |
| 652 | + if( i>0 ){ | |
| 653 | + int nQuiet = 3000; | |
| 654 | + blob_resize(pOut, pOut->nUsed+nQuiet); | |
| 655 | + memset(pOut->aData+pOut->nUsed-nQuiet, 0x80, nQuiet); | |
| 656 | + } | |
| 651 | 657 | pData = builtin_file(zSoundName, &sz); |
| 652 | 658 | nData = sz - szWavHdr; |
| 653 | 659 | blob_resize(pOut, pOut->nUsed+nData); |
| 654 | 660 | memcpy(pOut->aData+pOut->nUsed-nData, pData+szWavHdr, nData); |
| 655 | 661 | if( zHex[i+1]==0 ){ |
| 656 | 662 |
| --- src/captcha.c | |
| +++ src/captcha.c | |
| @@ -646,10 +646,16 @@ | |
| 646 | int nData; |
| 647 | const unsigned char *pData; |
| 648 | char zSoundName[50]; |
| 649 | sqlite3_snprintf(sizeof(zSoundName),zSoundName,"sounds/%c.wav", |
| 650 | "0123456789abcdef"[v]); |
| 651 | pData = builtin_file(zSoundName, &sz); |
| 652 | nData = sz - szWavHdr; |
| 653 | blob_resize(pOut, pOut->nUsed+nData); |
| 654 | memcpy(pOut->aData+pOut->nUsed-nData, pData+szWavHdr, nData); |
| 655 | if( zHex[i+1]==0 ){ |
| 656 |
| --- src/captcha.c | |
| +++ src/captcha.c | |
| @@ -646,10 +646,16 @@ | |
| 646 | int nData; |
| 647 | const unsigned char *pData; |
| 648 | char zSoundName[50]; |
| 649 | sqlite3_snprintf(sizeof(zSoundName),zSoundName,"sounds/%c.wav", |
| 650 | "0123456789abcdef"[v]); |
| 651 | /* Extra silence in between letters */ |
| 652 | if( i>0 ){ |
| 653 | int nQuiet = 3000; |
| 654 | blob_resize(pOut, pOut->nUsed+nQuiet); |
| 655 | memset(pOut->aData+pOut->nUsed-nQuiet, 0x80, nQuiet); |
| 656 | } |
| 657 | pData = builtin_file(zSoundName, &sz); |
| 658 | nData = sz - szWavHdr; |
| 659 | blob_resize(pOut, pOut->nUsed+nData); |
| 660 | memcpy(pOut->aData+pOut->nUsed-nData, pData+szWavHdr, nData); |
| 661 | if( zHex[i+1]==0 ){ |
| 662 |