diff options
author | Mingming Yin <mingming@codeaurora.org> | 2012-12-27 17:43:05 -0800 |
---|---|---|
committer | Konsta <konsta09@gmail.com> | 2013-03-06 09:51:55 +0200 |
commit | a35c8f521c9cbb64f3d32df5ded7eab2db2727ee (patch) | |
tree | 6b41434b68ca73397fff0950f7aac2ac44de77bd /media/libmediaplayerservice/StagefrightRecorder.cpp | |
parent | 720055270a0412311d39ca77ff1c0e6d744d6b5e (diff) | |
download | frameworks_av-a35c8f521c9cbb64f3d32df5ded7eab2db2727ee.zip frameworks_av-a35c8f521c9cbb64f3d32df5ded7eab2db2727ee.tar.gz frameworks_av-a35c8f521c9cbb64f3d32df5ded7eab2db2727ee.tar.bz2 |
qcom-fm: audio: add support for FM feature
Change-Id: Idd5c7a0364710d54809ef5d4c7b2404b22dc4cf6
Conflicts:
include/media/IAudioFlinger.h
media/libmediaplayerservice/StagefrightRecorder.cpp
media/libstagefright/Android.mk
Diffstat (limited to 'media/libmediaplayerservice/StagefrightRecorder.cpp')
-rw-r--r-- | media/libmediaplayerservice/StagefrightRecorder.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp index 335dd43..94886e8 100644 --- a/media/libmediaplayerservice/StagefrightRecorder.cpp +++ b/media/libmediaplayerservice/StagefrightRecorder.cpp @@ -1,6 +1,9 @@ /* * Copyright (C) 2009 The Android Open Source Project - * Copyright (c) 2010 - 2012, The Linux Foundation. All rights reserved. + * Copyright (c) 2010-2013, The Linux Foundation. All rights reserved. + * + * Not a Contribution, Apache license notifications and license are retained + * for attribution purposes only. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -34,6 +37,9 @@ #include <media/stagefright/ExtendedWriter.h> #include <media/stagefright/WAVEWriter.h> #endif +#ifdef QCOM_FM_ENABLED +#include <media/stagefright/FMA2DPWriter.h> +#endif #include <media/stagefright/CameraSource.h> #include <media/stagefright/CameraSourceTimeLapse.h> #include <media/stagefright/MPEG2TSWriter.h> @@ -771,6 +777,10 @@ status_t StagefrightRecorder::start() { } status_t status = OK; +#ifdef QCOM_FM_ENABLED + if(AUDIO_SOURCE_FM_RX_A2DP == mAudioSource) + return startFMA2DPWriter(); +#endif switch (mOutputFormat) { case OUTPUT_FORMAT_DEFAULT: @@ -1036,6 +1046,23 @@ status_t StagefrightRecorder::startRawAudioRecording() { return OK; } +#ifdef QCOM_FM_ENABLED +status_t StagefrightRecorder::startFMA2DPWriter() { + /* FM soc outputs at 48k */ + mSampleRate = 48000; + mAudioChannels = 2; + + sp<MetaData> meta = new MetaData; + meta->setInt32(kKeyChannelCount, mAudioChannels); + meta->setInt32(kKeySampleRate, mSampleRate); + + mWriter = new FMA2DPWriter(); + mWriter->setListener(mListener); + mWriter->start(meta.get()); + return OK; +} +#endif + status_t StagefrightRecorder::startRTPRecording() { CHECK_EQ(mOutputFormat, OUTPUT_FORMAT_RTP_AVP); |