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

Commit ebeefec3 authored by Alin Jerpelea's avatar Alin Jerpelea
Browse files

FM Radio: Add support for FM Radio in Android

Change-Id: I4ab536853a3ab43530f198e52a87b26e2f3a161a
parent df51464d
Loading
Loading
Loading
Loading
+16 −14
Original line number Original line Diff line number Diff line
@@ -18,7 +18,7 @@




#define LOG_TAG "AudioFlinger"
#define LOG_TAG "AudioFlinger"
//#define LOG_NDEBUG 0
#define LOG_NDEBUG 0


#include <math.h>
#include <math.h>
#include <signal.h>
#include <signal.h>
@@ -1151,12 +1151,7 @@ unsigned int AudioFlinger::getInputFramesLost(int ioHandle)
#ifdef STE_AUDIO
#ifdef STE_AUDIO
size_t AudioFlinger::readInput(uint32_t *input, uint32_t inputClientId, void *buffer, uint32_t bytes, uint32_t *pOverwrittenBytes)
size_t AudioFlinger::readInput(uint32_t *input, uint32_t inputClientId, void *buffer, uint32_t bytes, uint32_t *pOverwrittenBytes)
{
{
    if (input == NULL || buffer == NULL) {
    return mInputFMStream->stream->read(mInputFMStream->stream, buffer, (size_t)bytes);
        return 0;
    }

    AudioStreamIn* stream = (AudioStreamIn*)input;
    return 0; //return stream->read(buffer, bytes);
}
}
#endif
#endif
status_t AudioFlinger::setVoiceVolume(float value)
status_t AudioFlinger::setVoiceVolume(float value)
@@ -5671,12 +5666,6 @@ int AudioFlinger::openInput(uint32_t *pDevices,
    if (inHwDev == NULL)
    if (inHwDev == NULL)
        return 0;
        return 0;


#ifdef STE_AUDIO
    if (pInputClientId != NULL && *pInputClientId == AUDIO_INPUT_CLIENT_PLAYBACK) {
        returnRecordThread = false;
    }
#endif

    status = inHwDev->open_input_stream(inHwDev, *pDevices, (int *)&format,
    status = inHwDev->open_input_stream(inHwDev, *pDevices, (int *)&format,
                                        &channels, &samplingRate,
                                        &channels, &samplingRate,
                                        (audio_in_acoustics_t)acoustics,
                                        (audio_in_acoustics_t)acoustics,
@@ -5703,10 +5692,18 @@ int AudioFlinger::openInput(uint32_t *pDevices,
                                            &inStream);
                                            &inStream);
    }
    }


#ifdef STE_AUDIO
    if (inStream == NULL) {
       return 0;
    }


    if (inStream != NULL) {
    AudioStreamIn *input = new AudioStreamIn(inHwDev, inStream);
    AudioStreamIn *input = new AudioStreamIn(inHwDev, inStream);


    if (inStream != NULL && pInputClientId == NULL) {
#else
    if (inStream != NULL) {
        AudioStreamIn *input = new AudioStreamIn(inHwDev, inStream);
#endif
        int id = nextUniqueId();
        int id = nextUniqueId();
        // Start record thread
        // Start record thread
        // RecorThread require both input and output device indication to forward to audio
        // RecorThread require both input and output device indication to forward to audio
@@ -5738,6 +5735,11 @@ int AudioFlinger::openInput(uint32_t *pDevices,
        // notify client processes of the new input creation
        // notify client processes of the new input creation
        thread->audioConfigChanged_l(AudioSystem::INPUT_OPENED);
        thread->audioConfigChanged_l(AudioSystem::INPUT_OPENED);
        return id;
        return id;
#ifdef STE_AUDIO
    } else if (pInputClientId != NULL && *pInputClientId == AUDIO_INPUT_CLIENT_PLAYBACK) {
        mInputFMStream = input;
        return (int)input;
#endif
    }
    }


    return 0;
    return 0;