]> pilppa.org Git - familiar-h63xx-build.git/blob - org.handhelds.familiar/packages/qte/qte-2.3.10/ipaq_sound_fix.patch
OE tree imported from monotone branch org.openembedded.oz354fam083 at revision 8b12e3...
[familiar-h63xx-build.git] / org.handhelds.familiar / packages / qte / qte-2.3.10 / ipaq_sound_fix.patch
1 Attention HACK ahead:
2     The OpenSoundSystem is just scary this is a special hack
3     for supporting iPAQ(s) at least h3870.
4     
5     Features:
6         -It does not crash when playing a 'null' file
7         -Change sound fragment size to 12
8         -Force stereo on!!! (hardcoded at least uda1341 needs it)
9
10
11
12 Index: qt-2.3.10/src/kernel/qsoundqss_qws.cpp
13 ===================================================================
14 --- qt-2.3.10.orig/src/kernel/qsoundqss_qws.cpp 2005-03-20 17:11:29.000000000 +0100
15 +++ qt-2.3.10/src/kernel/qsoundqss_qws.cpp      2005-03-20 23:53:46.403129133 +0100
16 @@ -73,7 +73,7 @@
17  };
18  
19  #if defined(QT_QWS_IPAQ)
20 -static const int sound_fragment_size = 12;
21 +static const int sound_fragment_size = 14;
22  #else
23  static const int sound_fragment_size = 12;
24  #endif
25 @@ -451,8 +451,14 @@
26  
27      int devSamples()
28      {
29 -       int possible = (((max1+max2-out) / ((chunkdata.wBitsPerSample>>3)*chunkdata.channels))
30 -               *sound_speed)/chunkdata.samplesPerSec;
31 +        if ( !(chunkdata.wBitsPerSample>>3) ||
32 +             !chunkdata.channels            ||
33 +             !sound_speed                   ||
34 +             !chunkdata.samplesPerSec )
35 +            return 0;
36 +
37 +        int possible = (((max1+max2-out) / ((chunkdata.wBitsPerSample>>3 )*chunkdata.channels))
38 +                        *sound_speed)/chunkdata.samplesPerSec;
39  
40         return possible;
41      }
42 @@ -1116,12 +1127,14 @@
43             if ( AFMT_U8 != v )
44                 qDebug("Want format %d got %d", AFMT_U8, v);
45  #endif
46 -           v=sound_stereo; if ( ioctl(fd, SNDCTL_DSP_STEREO, &v) )
47 +           v=1; if ( ioctl(fd, SNDCTL_DSP_STEREO, &v) )
48                 qWarning("Could not set stereo %d",v);
49             if ( sound_stereo != v )
50 -               qDebug("Want stereo %d got %d", sound_stereo, v);
51 -#ifdef QT_QWS_SOUND_STEREO
52 -           sound_stereo=v;
53 +                qDebug("Want stereo %d got %d", sound_stereo, v);
54 +#if defined(QT_QWS_IPAQ)
55 +            sound_stereo=1;
56 +#elif QT_QWS_SOUND_STEREO
57 +            sound_stereo=v;
58  #endif
59             v=sound_speed; if ( ioctl(fd, SNDCTL_DSP_SPEED, &sound_speed) )
60                 qWarning("Could not set speed %d",v);