AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Namespaces | Macros | Typedefs | Functions | Variables
MediaPlayer.cpp File Reference
#include <algorithm>
#include <cmath>
#include <cstring>
#include <unordered_map>
#include <gst/controller/gstinterpolationcontrolsource.h>
#include <gst/controller/gstdirectcontrolbinding.h>
#include <AVSCommon/AVS/Attachment/AttachmentReader.h>
#include <AVSCommon/AVS/SpeakerConstants/SpeakerConstants.h>
#include <AVSCommon/Utils/Logger/Logger.h>
#include <AVSCommon/Utils/Memory/Memory.h>
#include <PlaylistParser/PlaylistParser.h>
#include <PlaylistParser/UrlContentToAttachmentConverter.h>
#include "MediaPlayer/AttachmentReaderSource.h"
#include "MediaPlayer/ErrorTypeConversion.h"
#include "MediaPlayer/IStreamSource.h"
#include "MediaPlayer/Normalizer.h"
#include "MediaPlayer/MediaPlayer.h"
Include dependency graph for MediaPlayer.cpp:

Namespaces

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

Macros

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

Typedefs

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

Functions

static const std::string alexaClientSDK::mediaPlayer::TAG ("MediaPlayer")
 String to identify log entries originating from this file. More...
 
static const unsigned int alexaClientSDK::mediaPlayer::TIMEOUT_ZERO_NANOSECONDS (0)
 Timeout value for calls to gst_element_get_state() calls. More...
 
static void alexaClientSDK::mediaPlayer::collectOneTag (const GstTagList *tagList, const gchar *tag, gpointer pointerToMutableVectorOfTags)
 
static short alexaClientSDK::mediaPlayer::gainInsideLimit (short gain)
 

Variables

static const std::string alexaClientSDK::mediaPlayer::MEDIAPLAYER_CONFIGURATION_ROOT_KEY = "gstreamerMediaPlayer"
 
static const std::string alexaClientSDK::mediaPlayer::MEDIAPLAYER_AUDIO_SINK_KEY = "audioSink"
 The key in our config file to set the audioSink. More...
 
static const std::string alexaClientSDK::mediaPlayer::MEDIAPLAYER_OUTPUT_CONVERSION_ROOT_KEY = "outputConversion"
 The key in our config file to find the output conversion type. More...
 
static const std::unordered_map< std::string, int > alexaClientSDK::mediaPlayer::MEDIAPLAYER_ACCEPTED_KEYS
 
static std::atomic< MediaPlayer::SourceId > alexaClientSDK::mediaPlayer::g_id {1}
 A counter used to increment the source id when a new source is set. More...
 
static const MediaPlayer::SourceId alexaClientSDK::mediaPlayer::ERROR_SOURCE_ID = MediaPlayer::ERROR
 A link to MediaPlayerInterface::ERROR. More...
 
static const guint alexaClientSDK::mediaPlayer::UNQUEUED_CALLBACK = guint(0)
 A value to indicate an unqueued callback. g_idle_add() only returns ids >= 0. More...
 
static const int8_t alexaClientSDK::mediaPlayer::GST_SET_VOLUME_MIN = 0
 GStreamer Volume Element Minimum. More...
 
static const int8_t alexaClientSDK::mediaPlayer::GST_SET_VOLUME_MAX = 1
 GStreamer Volume Element Maximum. More...
 
static const gdouble alexaClientSDK::mediaPlayer::GST_CONTROL_VOLUME_FACTOR = 1000
 GStreamer Timed Volume Control Element factor. More...
 
static const gdouble alexaClientSDK::mediaPlayer::VOLUME_ZERO = 0.0000001
 Represents the zero volume to avoid the actual 0.0 value. Used as a fix for GStreamer crashing on 0 volume for PCM. More...
 
static const int alexaClientSDK::mediaPlayer::MIN_EQUALIZER_LEVEL = -24
 Mimimum level for equalizer bands. More...
 
static const int alexaClientSDK::mediaPlayer::MAX_EQUALIZER_LEVEL = 12
 Maximum level for equalizer bands. More...
 
static char alexaClientSDK::mediaPlayer::GSTREAMER_BASS_BAND_NAME [] = "band0"
 The GStreamer property name for the frequency band 100 Hz. More...
 
static char alexaClientSDK::mediaPlayer::GSTREAMER_MIDRANGE_BAND_NAME [] = "band1"
 The GStreamer property name for the frequency band 1.1 kHz. More...
 
static char alexaClientSDK::mediaPlayer::GSTREAMER_TREBLE_BAND_NAME [] = "band2"
 The GStreamer property name for the frequency band 11 kHz. More...
 
static constexpr size_t alexaClientSDK::mediaPlayer::NUM_OF_CONTENT_READERS = 2
 

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.

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