Assignement 1
Assignement 1
Source : http://androidxref.com/
Basically application code utilize android.media APIs to interact with the multimedia hardware.
The Binder IPC proxies facilitate communication over process boundaries Location :
frameworks/av/media/libmedia
PATH : /frameworks/av/media/libmediaplayerservice/MediaPlayerService.h
PATH : /frameworks/av/media/libmediaplayerservice/MediaPlayerService.cpp
· MediaPlayerService::MediaPlayerService
· MediaPlayerService::removeMediaRecorderClient
· MediaPlayerService::removeClient
Video Formats : H.263, H.264 AVC(BP,MP), H.265 HEVC ,MPEG-4 SP,VP8, VP9, AV1
File Formats : 3GPP (.3gp), MPEG-4 (.mp4), Matroska (.mkv) ,MPEG-TS (.ts), WebM (.webm)
For video Encoding , Decoding, Playback & Streaming speed and resolution are recommended based on
the certain parameters.
eg: (SD- Low/High) quality Format (H.264) -> (176 x 144 px @ 12 fps ) (480 x 360 px @ 30 fps) are
recomended respectively.
>> Similarlly for images also Android framework recomends some formats.
PATH : /frameworks/support/media/src/main/java/androidx/media/
AudioAttributesCompat.java
DataSourceDesc.java
Media2DataSource.java
MediaBrowser2.java
MediaBrowserCompatUtils.java
....
MediaController2ImplBase.java
MediaInterface2.java
MediaItem2.java
MediaLibraryService2.java
MediaLibrarySessionImplBase.java
MediaMetadata2.java
MediaPlayer2.java
MediaPlayer2Impl.java
MediaPlayerInterface.java
MediaPlaylistAgent.java
MediaSession2.java
......
MediaSessionManager.java
MediaSessionManagerImplApi21.java
MediaSessionManagerImplApi28.java
MediaSessionManagerImplBase.java
MediaSessionService2.java
MediaUtils2.java
Rating2.java
session/
SessionCommand2.java
SessionCommandGroup2.java
SessionPlaylistAgentImplBase.java
SessionToken2.java
subtitle/
VolumeProviderCompat.java
For unit test the services scripts are here.
PATH : /cts/tests/tests/media/src/android/media/cts/
AdaptivePlaybackTest.java
AsyncPlayerTest.java
AudioAttributesTest.java
AudioEffectTest.java
AudioFocusTest.java
AudioFormatTest.java
AudioHelper.java
AudioManagerStub.java
AudioManagerStubHelper.java
AudioManagerTest.java
AudioNativeTest.java
AudioPlaybackConfigurationTest.java
AudioPlayRoutingNative.java
AudioPreProcessingTest.java
AudioPresentationTest.java
AudioRecord_BufferSizeTest.java
AudioRecordAppOpTest.java
AudioRecordTest.java
AudioTrack_ListenerTest.java
AudioTrackLatencyTest.java
AudioTrackNative.java
AudioTrackSurroundTest.java
AudioTrackTest.java
....
CodecState.java
CodecUtils.java
CompositionTextureView.java
ConnectionStatus.java
DecodeAccuracyTest.java
DecodeAccuracyTestActivity.java
DecodeAccuracyTestBase.java
DecodeEditEncodeTest.java
DecoderConformanceTest.java
DecoderTest.java
DecoderTestAacDrc.java
DecoderTestXheAac.java
DeviceUtils.java
....
EncodeDecodeTest.java
EncoderTest.java
EncodeVirtualDisplayTest.java
EncodeVirtualDisplayWithCompositionTest.java
EnumDevicesTest.java
EnvReverbTest.java
EqualizerTest.java
ExifInterfaceTest.java
ExtractDecodeEditEncodeMuxTest.java
FaceDetector_FaceTest.java
FaceDetectorStub.java
FaceDetectorTest.java
FaceView.java
....
MediaCodecCapabilitiesTest.java
MediaCodecClearKeyPlayer.java
MediaCodecListTest.java
MediaCodecTest.java
MediaCodecTunneledPlayer.java
.....
MediaPlayer2TestBase.java
MediaPlayerDrmTest.java
MediaPlayerDrmTestBase.java
MediaPlayerFlakyNetworkTest.java
MediaPlayerSurfaceStubActivity.java
MediaPlayerSurfaceTest.java
MediaPlayerTest.java
MediaPlayerTestBase.java
MediaRandomTest.java
MediaRecorderTest.java
MediaSessionTest.java
MediaStubActivity.java
PostProcTestBase.java
PresentationSyncTest.java
PresetReverbTest.java
RemoteControllerTest.java
RemoteVirtualDisplayService.java
.....
Utils.java
VideoDecoderPerfTest.java
VideoEditorTest.java
VideoEncoderTest.java
YUVImage.java
Note : Most of these files are licensed as APACHE LICENSE, VERSION 2.0
http://www.apache.org/licenses/LICENSE-2.0