android13/frameworks/av/media/libmediaplayerservice/fuzzer
liiir1985 7f62dcda9f initial 2024-06-22 20:45:49 +08:00
..
Android.bp initial 2024-06-22 20:45:49 +08:00
README.md initial 2024-06-22 20:45:49 +08:00
mediaplayer_fuzzer.cpp initial 2024-06-22 20:45:49 +08:00
mediarecorder_fuzzer.cpp initial 2024-06-22 20:45:49 +08:00
metadataretriever_fuzzer.cpp initial 2024-06-22 20:45:49 +08:00

README.md

Fuzzer for libmediaplayerservice

Table of contents

Fuzzer for StagefrightMediaRecorder

StagefrightMediaRecorder supports the following parameters:

  1. Output Formats (parameter name: setOutputFormat)
  2. Audio Encoders (parameter name: setAudioEncoder)
  3. Video Encoders (parameter name: setVideoEncoder)
  4. Audio Sources (parameter name: setAudioSource)
  5. Video Sources (parameter name: setVideoSource)
  6. Microphone Direction (parameter name: setMicrophoneDirection)

You can find the possible values in the fuzzer's source code.

Steps to run

  1. Build the fuzzer
  $ mm -j$(nproc) mediarecorder_fuzzer
  1. Run on device
  $ adb sync data
  $ adb shell /data/fuzz/arm64/mediarecorder_fuzzer/mediarecorder_fuzzer

Fuzzer for StagefrightMetadataRetriever

StagefrightMetadataRetriever supports the following data sources:

  1. Url (parameter name: url)
  2. File descriptor (parameter name: fd)
  3. DataSource (parameter name: source)
Parameter Valid Values Configured Value
url Url of data source Value obtained from FuzzedDataProvider
fd File descriptor value of input file Value obtained from FuzzedDataProvider
source DataSource object Data obtained from FuzzedDataProvider

Steps to run

  1. Build the fuzzer
  $ mm -j$(nproc) metadataretriever_fuzzer
  1. To run on device
  $ adb sync data
  $ adb shell /data/fuzz/arm64/metadataretriever_fuzzer/metadataretriever_fuzzer

Fuzzer for MediaPlayer

MediaPlayerService supports the following data sources:

  1. Url (parameter name: url)
  2. File descriptor (parameter name: fd)
  3. IStreamSource (parameter name: source)
  4. IDataSource (parameter name: source)
  5. RTP Parameters (parameter name: rtpParams)

MediaPlayerService supports the following parameters:

  1. Audio sessions (parameter name: audioSessionId)
  2. Audio stretch modes (parameter name: mStretchMode)
  3. Audio fallback modes (parameter name: mFallbackMode)
  4. Media parameter keys (parameter name: key)
  5. Audio Stream Types (parameter name: streamType)
  6. Media Event Types (parameter name: msg)
  7. Media Info Types (parameter name: ext1)

You can find the possible values in the fuzzer's source code.

Steps to run

  1. Build the fuzzer
  $ mm -j$(nproc) mediaplayer_fuzzer
  1. To run on device
  $ adb sync data
  $ adb shell /data/fuzz/arm64/mediaplayer_fuzzer/mediaplayer_fuzzer