AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Namespaces | Macros | Typedefs | Functions | Variables
AndroidSLESMediaPlayer.cpp File Reference
#include <chrono>
#include <cstdint>
#include <map>
#include <memory>
#include <ratio>
#include <string>
#include <SLES/OpenSLES.h>
#include <SLES/OpenSLES_Android.h>
#include <AVSCommon/AVS/SpeakerConstants/SpeakerConstants.h>
#include <AVSCommon/SDKInterfaces/SpeakerInterface.h>
#include <AVSCommon/Utils/MediaPlayer/MediaPlayerObserverInterface.h>
#include <AVSCommon/Utils/Memory/Memory.h>
#include <acsdkEqualizerImplementations/EqualizerLinearBandMapper.h>
#include <PlaylistParser/IterativePlaylistParser.h>
#include "AndroidSLESMediaPlayer/AndroidSLESMediaPlayer.h"
#include "AndroidSLESMediaPlayer/AndroidSLESSpeaker.h"
#include "AndroidSLESMediaPlayer/FFmpegAttachmentInputController.h"
#include "AndroidSLESMediaPlayer/FFmpegDecoder.h"
#include "AndroidSLESMediaPlayer/FFmpegStreamInputController.h"
#include "AndroidSLESMediaPlayer/FFmpegUrlInputController.h"
Include dependency graph for AndroidSLESMediaPlayer.cpp:

Namespaces

 alexaClientSDK
 Whether or not curl logs should be emitted.
 
 alexaClientSDK::mediaPlayer
 
 alexaClientSDK::mediaPlayer::android
 

Macros

#define LX(event)   alexaClientSDK::avsCommon::utils::logger::LogEntry(TAG, event)
 

Typedefs

using alexaClientSDK::mediaPlayer::android::MediaPlayerState = avsCommon::utils::mediaPlayer::MediaPlayerState
 

Functions

static const std::string TAG ("AndroidSLESMediaPlayer")
 String to identify log entries originating from this file. More...
 
static SLuint32 alexaClientSDK::mediaPlayer::android::convertSampleSize (PlaybackConfiguration::SampleFormat format)
 
static SLuint32 alexaClientSDK::mediaPlayer::android::convertLayout (PlaybackConfiguration::ChannelLayout layout)
 
SLDataFormat_PCM alexaClientSDK::mediaPlayer::android::convertFormat (const PlaybackConfiguration &playbackConfiguration)
 
void alexaClientSDK::mediaPlayer::android::prefetchStatusCallback (SLPrefetchStatusItf caller, void *pContext, SLuint32 event)
 

Variables

static constexpr size_t alexaClientSDK::mediaPlayer::android::SAMPLE_RATE_HZ = 48000
 The playback audio sample rate in HZ. More...
 
static constexpr size_t alexaClientSDK::mediaPlayer::android::NUMBER_OF_CHANNELS = 2
 The number of channels. More...
 
static constexpr size_t alexaClientSDK::mediaPlayer::android::SAMPLE_SIZE_BITS = 16
 The playback audio sample size in bits. More...
 
static constexpr size_t alexaClientSDK::mediaPlayer::android::SAMPLE_SIZE_BYTES = SAMPLE_SIZE_BITS / 8
 The playback audio sample size in bytes. More...
 
static constexpr int alexaClientSDK::mediaPlayer::android::DECIBELL_TO_MILLIBELL_MULT = 100
 Multiplier to convert dB to mB. More...
 
static std::atomic< MediaPlayerInterface::SourceId > alexaClientSDK::mediaPlayer::android::g_id {1}
 A counter used to increment the source id when a new source is set. More...
 
static SLDataLocator_AndroidSimpleBufferQueue alexaClientSDK::mediaPlayer::android::DATA_LOCATOR
 The data locator used to configure the android media player to use a buffer queue. More...
 

Macro Definition Documentation

◆ LX

#define LX (   event)    alexaClientSDK::avsCommon::utils::logger::LogEntry(TAG, event)

Create a LogEntry using this file's TAG and the specified event string.

Parameters
Theevent string for this LogEntry.

Function Documentation

◆ TAG()

static const std::string TAG ( "AndroidSLESMediaPlayer"  )
static

String to identify log entries originating from this file.

AlexaClientSDK 1.26.0 - Copyright 2016-2022 Amazon.com, Inc. or its affiliates. All Rights Reserved. Licensed under the Apache License, Version 2.0