Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

stagefright: Fix size of metadata key #5

Open
wants to merge 99 commits into
base: mm6.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
99 commits
Select commit Hold shift + click to select a range
b86584d
av: Use project pathmap
Oct 12, 2015
6f6d90e
camera: allow device to append camera parameters
KonstaT Aug 15, 2014
7e03e11
Revert "Revert "mediaplayer: make frame-accurate avsync configurable""
Sep 25, 2015
99a7726
audio policy: move output handle to AudioOutputDescriptor base class
Oct 20, 2015
91ba994
nuplayer: Fix de-referencing NULL mSource
Sep 17, 2015
27194a9
Merge "nuplayer: Fix de-referencing NULL mSource"
Oct 23, 2015
95922a2
AudioTrack: Fix the signature of AudioTrackGetTimestamp
Oct 23, 2015
10c638d
libmedia : audio: handle set playback rate when direct pcm used
Oct 16, 2015
becef43
Nuplayer: Ensure AudioSink is closed before clearing Renderer
Oct 11, 2015
bbd59d7
stagefright: Wait longer before force releasing codec
Oct 16, 2015
0fd06fb
Revert "NuPlayer: Use ".m3u8" in substring search to determine HLS URL"
Oct 21, 2015
0328991
Merge "libmedia : audio: handle set playback rate when direct pcm used"
Oct 25, 2015
db91f16
Merge "Nuplayer: Ensure AudioSink is closed before clearing Renderer"
Oct 25, 2015
eeffae0
libcameraservice: Fix ALOG prints in FlashLight.
Oct 8, 2015
788add7
NuPlayer: Decoder: Check for valid codec on resume
Oct 21, 2015
1735454
Merge "Revert "NuPlayer: Use ".m3u8" in substring search to determine…
Oct 25, 2015
04fdb62
Merge "stagefright: Wait longer before force releasing codec"
Oct 25, 2015
31d09de
stagefright: Enable QTI FLAC based on feature flag
ashishrjain Oct 20, 2015
9be69bd
stagefright: Remove additional deep-copy of encoder buffers
Sep 18, 2015
4cd7c2d
Merge "NuPlayer: Decoder: Check for valid codec on resume"
Oct 27, 2015
85ad714
stagefright: Return error for wrong buffer index in MediaCodec
Oct 22, 2015
dcd7603
Stagefright: use set buffers mode.
Oct 27, 2015
d4c3afb
NuPlayer: use a generic funtion to get flags
Oct 16, 2015
bbb9b1d
GenericSource: Synchronize access to dataSource
Oct 19, 2015
1dafcd1
GenericSource: Hold an additional reference to dataSource.
Oct 23, 2015
a729f43
nuplayer: Drop frames with DATACORRUPT flag
Oct 14, 2015
7ed61b3
Merge remote-tracking branch 'caf/m' into HEAD
PRJosh Oct 27, 2015
ce9e446
Merge "Stagefright: use set buffers mode."
Oct 27, 2015
f70670d
Merge "libcameraservice: Fix ALOG prints in FlashLight."
Oct 29, 2015
4f33629
DO NOT MERGE: CameraService: Link to client binder death at end of co…
Sep 4, 2015
309c617
Merge "stagefright: Enable QTI FLAC based on feature flag"
Oct 29, 2015
082cd30
Merge "stagefright: Remove additional deep-copy of encoder buffers"
Oct 29, 2015
25a07d3
Merge "stagefright: Return error for wrong buffer index in MediaCodec"
Oct 29, 2015
bedd717
Merge "GenericSource: Synchronize access to dataSource"
Oct 29, 2015
9b91e4c
Merge "GenericSource: Hold an additional reference to dataSource."
Oct 29, 2015
f72f7d5
Camera: frameworks: Add NULL check for callback
Oct 8, 2015
57b1d05
Merge "NuPlayer: use a generic funtion to get flags"
Oct 30, 2015
f140e52
Merge "DO NOT MERGE: CameraService: Link to client binder death at en…
Nov 3, 2015
1fb6c97
AudioPolicyService: Synchronize access to AudioPolicyManager
Oct 27, 2015
fc4da68
Merge "nuplayer: Drop frames with DATACORRUPT flag"
Nov 4, 2015
599aec0
Merge "Camera: frameworks: Add NULL check for callback"
Nov 4, 2015
36a5d06
Merge "AudioPolicyService: Synchronize access to AudioPolicyManager"
Nov 4, 2015
f17204e
AudioPolicyService: fix race in AudioCommandThread
Sep 23, 2015
14896d6
audio: use QTI flac decoder based on flag
Oct 8, 2015
b987753
stagefright: Add null check before passing meta data buffer
Apr 30, 2015
262a62c
libstagefright: Add WFD specific flags to consumer usage flags
Jul 3, 2014
a9e634d
Merge "stagefright: Add null check before passing meta data buffer"
Nov 6, 2015
a519bcf
Merge "libstagefright: Add WFD specific flags to consumer usage flags"
Nov 7, 2015
0c32de1
Fix for security vulnerability in media server
jefftinker Aug 27, 2015
b3e77a7
Fix timedtext parsing
marcone Aug 27, 2015
eff79d1
libstagefright: sanity check size before dereferencing pointer in Uti…
Sep 1, 2015
d0af906
Make IEffect command more robust (second try)
xt0032rus Sep 1, 2015
f54d3e0
Zero out return values in media binder calls
rjsh Sep 2, 2015
03052ac
Zero out return values in audio binder calls
rjsh Sep 2, 2015
a9fffcd
Ogg: avoid size_t overflow in base64 decoding
Sep 2, 2015
5fbcb38
Protect data source access with mutex during disconnect
rjsh Sep 2, 2015
faa9ec7
IAudioFlinger: clear config before reading it from parcel.
Sep 9, 2015
2c039d6
IAudioFlinger: always initialize variables to ensure no info leak whe…
Sep 10, 2015
f838f1b
Fix heap data leak vulnerability
jefftinker Sep 14, 2015
17dd944
IAudioFlinger: fix the missing initialization of variable to ensure n…
Sep 16, 2015
547fa15
DO NOT MERGE Avoid size_t overflow in base64 decoding once again
Sep 7, 2015
11c6c57
StagefrightMetadataRetriever: handle error returned from convertMetaD…
Sep 18, 2015
5918d36
libstagefright: omx: Prevent assertion due to state mismatches
Oct 31, 2015
898d55b
Merge "AudioPolicyService: fix race in AudioCommandThread"
Nov 10, 2015
614ee35
audiopolicy: Add synchronization to EffectDescriptorCollection
Oct 30, 2015
2132505
Merge "libstagefright: omx: Prevent assertion due to state mismatches"
Nov 11, 2015
6028221
Merge "audiopolicy: Add synchronization to EffectDescriptorCollection"
Nov 11, 2015
552f13b
Merge remote-tracking branch 'caf/LA.BF64.1.2.2_rb4.6' into HEAD
PRJosh Nov 12, 2015
4ba4e76
camera: Don't segfault if we get a NULL parameter
hyperb1iss May 1, 2013
a5f199e
Camera: Add support for manual 3A.
Nov 21, 2013
778b658
Can't play AAC file with ID3 tag.
arulsel Dec 3, 2012
b747292
stagefright: Fix playback for mkv files with lacing
pawitp Jan 13, 2012
bb22195
FLAC coded file does not play (single metadata block files)
Jul 27, 2012
1413e17
AACExtractor: Added support for APE tag
Jul 20, 2012
4e47d28
libstagefright: Handle unsupported codec metaData
sureshcnvidia Mar 18, 2014
a68e752
stagefright: Pass AAC profile from MatroskaExtractor
Nov 28, 2014
d195849
stagefright: Add support for loading a custom OMXPlugin
Jul 8, 2015
9fecdca
stagefright: Improve FLAC and WAV support for 24-bit
Nov 29, 2014
be4e19f
stagefright: Support MP3 in MPEG4 containers
Oct 18, 2015
c752af9
DataSource: Remove global variables in DataSource related to sniff
Jan 23, 2014
4d37044
stagefright: Support HEVC tracks in Matroska containers
Nov 29, 2014
50b2118
libstagefright: Extended media support via FFMPEG
Jul 25, 2013
d6eb700
libstagefright: fix size_t printf format
Oct 29, 2015
440fc1d
Merge remote-tracking branch 'caf/LA.BF64.1.2.2_rb4.7' into HEAD
PRJosh Nov 17, 2015
2e78143
stagefright: Unbreak video encoding
Nov 5, 2015
8724c00
audio policy: bind setMode() and setPhoneState() operations
Sep 16, 2015
8480535
Add DUMP permission check to ResourceManagerService.
Sep 11, 2015
661a4e2
DO NOT MERGE Fix vulnerability in mediaserver
jefftinker Sep 16, 2015
34d6542
stagefright: fix AMessage::FromParcel
Sep 11, 2015
473b0d5
MPEG4Extractor: ensure buffer size is not less than 8 for LastComment…
Sep 28, 2015
70680ce
OMX: allow only secure codec to remotely call allocateBuffer.
Sep 28, 2015
ad55db4
Don't crash when there's no conceal frame
marcone Oct 5, 2015
ee79ab8
ID3: check possible integer overflow for extendedHeaderSize and paddi…
Oct 5, 2015
7529536
Check NAL size before use
marcone Oct 2, 2015
cb3b5b5
stagefright: check bounds for MediaCodecList.getCodecInfo
medialajos Oct 13, 2015
4024479
AudioFlinger: Clear record buffers when starting RecordThread
xt0032rus Sep 21, 2015
aab7a8d
Revert "AudioPolicyService: fix race in AudioCommandThread"
Oct 27, 2015
84b7e7c
Revert "audio policy: bind setMode() and setPhoneState() operations"
Oct 27, 2015
42fe6b7
stagefright: Fix size of metadata key
Dec 24, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions camera/CameraParameters.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
#include <string.h>
#include <stdlib.h>
#include <camera/CameraParameters.h>
#include <camera/CameraParametersExtra.h>
#include <system/graphics.h>

namespace android {
Expand Down Expand Up @@ -106,6 +107,7 @@ const char CameraParameters::WHITE_BALANCE_DAYLIGHT[] = "daylight";
const char CameraParameters::WHITE_BALANCE_CLOUDY_DAYLIGHT[] = "cloudy-daylight";
const char CameraParameters::WHITE_BALANCE_TWILIGHT[] = "twilight";
const char CameraParameters::WHITE_BALANCE_SHADE[] = "shade";
const char CameraParameters::WHITE_BALANCE_MANUAL_CCT[] = "manual-cct";

// Values for effect settings.
const char CameraParameters::EFFECT_NONE[] = "none";
Expand Down Expand Up @@ -168,11 +170,16 @@ const char CameraParameters::FOCUS_MODE_FIXED[] = "fixed";
const char CameraParameters::FOCUS_MODE_EDOF[] = "edof";
const char CameraParameters::FOCUS_MODE_CONTINUOUS_VIDEO[] = "continuous-video";
const char CameraParameters::FOCUS_MODE_CONTINUOUS_PICTURE[] = "continuous-picture";
const char CameraParameters::FOCUS_MODE_MANUAL_POSITION[] = "manual";

// Values for light fx settings
const char CameraParameters::LIGHTFX_LOWLIGHT[] = "low-light";
const char CameraParameters::LIGHTFX_HDR[] = "high-dynamic-range";

#ifdef CAMERA_PARAMETERS_EXTRA_C
CAMERA_PARAMETERS_EXTRA_C
#endif

CameraParameters::CameraParameters()
: mMap()
{
Expand Down Expand Up @@ -237,6 +244,9 @@ void CameraParameters::unflatten(const String8 &params)

void CameraParameters::set(const char *key, const char *value)
{
if (key == NULL || value == NULL)
return;

// XXX i think i can do this with strspn()
if (strchr(key, '=') || strchr(key, ';')) {
//XXX ALOGE("Key \"%s\"contains invalid character (= or ;)", key);
Expand Down
16 changes: 10 additions & 6 deletions drm/common/IDrmManagerService.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -742,9 +742,11 @@ status_t BpDrmManagerService::decrypt(
const status_t status = reply.readInt32();
ALOGV("Return value of decrypt() is %d", status);

const int size = reply.readInt32();
(*decBuffer)->length = size;
reply.read((void *)(*decBuffer)->data, size);
if (status == NO_ERROR) {
const int size = reply.readInt32();
(*decBuffer)->length = size;
reply.read((void *)(*decBuffer)->data, size);
}

return status;
}
Expand Down Expand Up @@ -1470,9 +1472,11 @@ status_t BnDrmManagerService::onTransact(

reply->writeInt32(status);

const int size = decBuffer->length;
reply->writeInt32(size);
reply->write(decBuffer->data, size);
if (status == NO_ERROR) {
const int size = decBuffer->length;
reply->writeInt32(size);
reply->write(decBuffer->data, size);
}

clearDecryptHandle(&handle);
delete encBuffer; encBuffer = NULL;
Expand Down
8 changes: 8 additions & 0 deletions include/camera/CameraParameters.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

#include <utils/KeyedVector.h>
#include <utils/String8.h>
#include <camera/CameraParametersExtra.h>

namespace android {

Expand Down Expand Up @@ -554,6 +555,7 @@ class CameraParameters
static const char WHITE_BALANCE_CLOUDY_DAYLIGHT[];
static const char WHITE_BALANCE_TWILIGHT[];
static const char WHITE_BALANCE_SHADE[];
static const char WHITE_BALANCE_MANUAL_CCT[];

// Values for effect settings.
static const char EFFECT_NONE[];
Expand Down Expand Up @@ -677,12 +679,18 @@ class CameraParameters
// other modes.
static const char FOCUS_MODE_CONTINUOUS_PICTURE[];

static const char FOCUS_MODE_MANUAL_POSITION[];

// Values for light special effects
// Low-light enhancement mode
static const char LIGHTFX_LOWLIGHT[];
// High-dynamic range mode
static const char LIGHTFX_HDR[];

#ifdef CAMERA_PARAMETERS_EXTRA_H
CAMERA_PARAMETERS_EXTRA_H
#endif

/**
* Returns the the supported preview formats as an enum given in graphics.h
* corrsponding to the format given in the input string or -1 if no such
Expand Down
35 changes: 35 additions & 0 deletions include/camera/CameraParametersExtra.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
// Overload this file in your device specific config if you need
// to add extra camera parameters.
// A typical file would look like this:
/*
* Copyright (C) 2014 The CyanogenMod Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/*
#define CAMERA_PARAMETERS_EXTRA_C \
const char CameraParameters::KEY_SUPPORTED_BURST_NUM[] = "supported-burst-num"; \
const char CameraParameters::KEY_BURST_NUM[] = "burst-num"; \
const char CameraParameters::KEY_SUPPORTED_HDR_MODES[] = "supported-hdr-modes"; \
const char CameraParameters::KEY_HDR_MODE[] = "hdr-mode"; \
const char CameraParameters::HDR_MODE_OFF[] = "hdr-mode-off"; \
const char CameraParameters::HDR_MODE_HDR[] = "hdr-mode-hdr";

#define CAMERA_PARAMETERS_EXTRA_H \
static const char KEY_SUPPORTED_BURST_NUM[]; \
static const char KEY_BURST_NUM[]; \
static const char KEY_SUPPORTED_HDR_MODES[]; \
static const char KEY_HDR_MODE[]; \
static const char HDR_MODE_OFF[]; \
static const char HDR_MODE_HDR[];
*/
1 change: 1 addition & 0 deletions include/media/AudioTrack.h
Original file line number Diff line number Diff line change
Expand Up @@ -942,6 +942,7 @@ class AudioTrack : public RefBase
// For Device Selection API
// a value of AUDIO_PORT_HANDLE_NONE indicated default (AudioPolicyManager) routing.
audio_port_handle_t mSelectedDeviceId;
bool mPlaybackRateSet;

private:
class DeathNotifier : public IBinder::DeathRecipient {
Expand Down
6 changes: 6 additions & 0 deletions include/media/IOMX.h
Original file line number Diff line number Diff line change
Expand Up @@ -249,6 +249,12 @@ class BnOMX : public BnInterface<IOMX> {
virtual status_t onTransact(
uint32_t code, const Parcel &data, Parcel *reply,
uint32_t flags = 0);

protected:
// check if the codec is secure.
virtual bool isSecure(IOMX::node_id node) {
return false;
}
};

class BnOMXObserver : public BnInterface<IOMXObserver> {
Expand Down
11 changes: 8 additions & 3 deletions include/media/stagefright/ACodec.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
#include <media/stagefright/SkipCutBuffer.h>
#include <OMX_Audio.h>

#include <system/audio.h>

#define TRACK_BUFFER_TIMING 0

namespace android {
Expand Down Expand Up @@ -345,9 +347,11 @@ struct ACodec : public AHierarchicalStateMachine, public CodecBase {
int32_t maxOutputChannelCount, const drcParams_t& drc,
int32_t pcmLimiterEnable);

status_t setupAC3Codec(bool encoder, int32_t numChannels, int32_t sampleRate);
status_t setupAC3Codec(bool encoder, int32_t numChannels, int32_t sampleRate,
int32_t bitsPerSample = 16);

status_t setupEAC3Codec(bool encoder, int32_t numChannels, int32_t sampleRate);
status_t setupEAC3Codec(bool encoder, int32_t numChannels, int32_t sampleRate,
int32_t bitsPerSample = 16);

status_t selectAudioPortFormat(
OMX_U32 portIndex, OMX_AUDIO_CODINGTYPE desiredFormat);
Expand All @@ -359,7 +363,8 @@ struct ACodec : public AHierarchicalStateMachine, public CodecBase {
bool encoder, int32_t numChannels, int32_t sampleRate, int32_t compressionLevel);

status_t setupRawAudioFormat(
OMX_U32 portIndex, int32_t sampleRate, int32_t numChannels);
OMX_U32 portIndex, int32_t sampleRate, int32_t numChannels,
int32_t bitsPerSample = 16);

status_t setPriority(int32_t priority);
status_t setOperatingRate(float rateFloat, bool isVideo);
Expand Down
42 changes: 37 additions & 5 deletions include/media/stagefright/DataSource.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,40 @@ class IDataSource;
struct IMediaHTTPService;
class String8;
struct HTTPBase;
class DataSource;

class Sniffer : public RefBase {
public:
Sniffer();

////////////////////////////////////////////////////////////////////////////

bool sniff(DataSource *source, String8 *mimeType, float *confidence, sp<AMessage> *meta);

// The sniffer can optionally fill in "meta" with an AMessage containing
// a dictionary of values that helps the corresponding extractor initialize
// its state without duplicating effort already exerted by the sniffer.
typedef bool (*SnifferFunc)(
const sp<DataSource> &source, String8 *mimeType,
float *confidence, sp<AMessage> *meta);

//if isExtendedExtractor = true, store the location of the sniffer to register
void registerSniffer_l(SnifferFunc func);
void registerDefaultSniffers();

virtual ~Sniffer() {}

private:
Mutex mSnifferMutex;
List<SnifferFunc> mSniffers;
List<SnifferFunc> mExtraSniffers;
List<SnifferFunc>::iterator extendedSnifferPosition;

void registerSnifferPlugin();

Sniffer(const Sniffer &);
Sniffer &operator=(const Sniffer &);
};

class DataSource : public RefBase {
public:
Expand All @@ -57,7 +91,7 @@ class DataSource : public RefBase {
static sp<DataSource> CreateMediaHTTP(const sp<IMediaHTTPService> &httpService);
static sp<DataSource> CreateFromIDataSource(const sp<IDataSource> &source);

DataSource() {}
DataSource() : mSniffer(new Sniffer()) {}

virtual status_t initCheck() const = 0;

Expand Down Expand Up @@ -111,12 +145,10 @@ class DataSource : public RefBase {
protected:
virtual ~DataSource() {}

private:
static Mutex gSnifferMutex;
static List<SnifferFunc> gSniffers;
static bool gSniffersRegistered;
sp<Sniffer> mSniffer;

static void RegisterSniffer_l(SnifferFunc func);
static void RegisterSnifferPlugin();

DataSource(const DataSource &);
DataSource &operator=(const DataSource &);
Expand Down
133 changes: 133 additions & 0 deletions include/media/stagefright/FFMPEGSoftCodec.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
/*
* Copyright (C) 2014 The CyanogenMod Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef FFMPEG_SOFT_CODEC_H_
#define FFMPEG_SOFT_CODEC_H_

#include <media/IOMX.h>
#include <media/MediaCodecInfo.h>

#include <media/stagefright/foundation/AMessage.h>
#include <media/stagefright/foundation/AString.h>

#include <media/stagefright/MetaData.h>

#include <OMX_Audio.h>
#include <OMX_Video.h>

namespace android {

struct FFMPEGSoftCodec {

enum {
kPortIndexInput = 0,
kPortIndexOutput = 1
};

static void convertMessageToMetaDataFF(
const sp<AMessage> &msg, sp<MetaData> &meta);

static void convertMetaDataToMessageFF(
const sp<MetaData> &meta, sp<AMessage> *format);

static const char* overrideComponentName(
uint32_t quirks, const sp<MetaData> &meta,
const char *mime, bool isEncoder);

static void overrideComponentName(
uint32_t quirks, const sp<AMessage> &msg,
AString* componentName, AString* mime,
int32_t isEncoder);

static status_t setSupportedRole(
const sp<IOMX> &omx, IOMX::node_id node,
bool isEncoder, const char *mime);

static status_t setAudioFormat(
const sp<AMessage> &msg, const char* mime,
sp<IOMX> OMXhandle, IOMX::node_id nodeID);

static status_t setVideoFormat(
const sp<AMessage> &msg, const char* mime,
sp<IOMX> OMXhandle,IOMX::node_id nodeID,
bool isEncoder, OMX_VIDEO_CODINGTYPE *compressionFormat);

static status_t getAudioPortFormat(
OMX_U32 portIndex, int coding,
sp<AMessage> &notify, sp<IOMX> OMXhandle, IOMX::node_id nodeID);

static status_t getVideoPortFormat(
OMX_U32 portIndex, int coding,
sp<AMessage> &notify, sp<IOMX> OMXhandle, IOMX::node_id nodeID);

private:
static const char* getMsgKey(int key);

static status_t setWMVFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setRVFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setFFmpegVideoFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setRawAudioFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setWMAFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setVORBISFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setRAFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setFLACFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setMP2Format(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setAC3Format(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setAPEFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setDTSFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

static status_t setFFmpegAudioFormat(
const sp<AMessage> &msg, sp<IOMX> OMXhandle,
IOMX::node_id nodeID);

};

}
#endif
Loading