Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f9df2493 authored by Eric Laurent's avatar Eric Laurent
Browse files

AudioService now differentiates BT headsets and car kits.

The BT headset detection now makes the difference between car kits and headsets, which can be used by audio policy manager.
The headset connection is also detected earlier, that is when the headset is connected and not when the SCO socket is connected as it was the case before. This allows the audio policy manager to suspend A2DP output while ringing if a SCO headset is connected.
parent b368f280
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -810,7 +810,7 @@ void AudioFlinger::ThreadBase::processConfigEvents()


AudioFlinger::PlaybackThread::PlaybackThread(const sp<AudioFlinger>& audioFlinger, AudioStreamOut* output)
AudioFlinger::PlaybackThread::PlaybackThread(const sp<AudioFlinger>& audioFlinger, AudioStreamOut* output)
    :   ThreadBase(audioFlinger),
    :   ThreadBase(audioFlinger),
        mMixBuffer(0), mSuspended(false), mBytesWritten(0), mOutput(output),
        mMixBuffer(0), mSuspended(0), mBytesWritten(0), mOutput(output),
        mLastWriteTime(0), mNumWrites(0), mNumDelayedWrites(0), mInWrite(false)
        mLastWriteTime(0), mNumWrites(0), mNumDelayedWrites(0), mInWrite(false)
{
{
    readOutputParameters();
    readOutputParameters();
+3 −3
Original line number Original line Diff line number Diff line
@@ -502,8 +502,8 @@ private:
                    AudioStreamOut* getOutput() { return mOutput; }
                    AudioStreamOut* getOutput() { return mOutput; }


        virtual     int         type() const { return mType; }
        virtual     int         type() const { return mType; }
                    void        suspend() { mSuspended = true; }
                    void        suspend() { mSuspended++; }
                    void        restore() { mSuspended = false; }
                    void        restore() { if (mSuspended) mSuspended--; }
        virtual     String8     getParameters(const String8& keys);
        virtual     String8     getParameters(const String8& keys);
        virtual     void        audioConfigChanged(int event, int param = 0);
        virtual     void        audioConfigChanged(int event, int param = 0);


@@ -520,7 +520,7 @@ private:
    protected:
    protected:
        int                             mType;
        int                             mType;
        int16_t*                        mMixBuffer;
        int16_t*                        mMixBuffer;
        bool                            mSuspended;
        int                             mSuspended;
        int                             mBytesWritten;
        int                             mBytesWritten;
        bool                            mMasterMute;
        bool                            mMasterMute;
        SortedVector< wp<Track> >       mActiveTracks;
        SortedVector< wp<Track> >       mActiveTracks;