AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Namespaces | Macros | Functions | Variables
FFmpegDecoder.cpp File Reference
#include <atomic>
#include <fstream>
#include <thread>
#include <bitset>
#include <libavcodec/avcodec.h>
#include <libavfilter/avfilter.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
#include <libavformat/avformat.h>
#include <libavutil/opt.h>
#include <libswresample/swresample.h>
#include <AVSCommon/Utils/AudioFormat.h>
#include <AVSCommon/Utils/Logger/Logger.h>
#include <AVSCommon/Utils/Memory/Memory.h>
#include <AVSCommon/Utils/RetryTimer.h>
#include <AVSCommon/Utils/String/StringUtils.h>
#include "AndroidSLESMediaPlayer/FFmpegDecoder.h"
#include "AndroidSLESMediaPlayer/FFmpegDeleter.h"
#include "AndroidSLESMediaPlayer/PlaybackConfiguration.h"
Include dependency graph for FFmpegDecoder.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)
 
#define STATE_TO_STREAM(name, stream)
 

Functions

static const std::string TAG ("FFmpegDecoder")
 String to identify log entries originating from this file. More...
 
static AVSampleFormat alexaClientSDK::mediaPlayer::android::convertFormat (PlaybackConfiguration::SampleFormat format)
 
static LayoutMask alexaClientSDK::mediaPlayer::android::convertLayout (PlaybackConfiguration::ChannelLayout layout)
 
static int alexaClientSDK::mediaPlayer::android::shouldInterrupt (void *decoderPtr)
 
std::ostream & alexaClientSDK::mediaPlayer::android::operator<< (std::ostream &stream, const FFmpegDecoder::DecodingState state)
 

Variables

static constexpr int alexaClientSDK::mediaPlayer::android::NO_FLAGS {0}
 Represent scenario where there is no flag enabled. More...
 
static constexpr int alexaClientSDK::mediaPlayer::android::NO_ALIGNMENT {1}
 For av_samples_get_buffer_size we want to disable alignment to avoid empty samples (see ACSDK-1890). More...
 
static const std::chrono::milliseconds alexaClientSDK::mediaPlayer::android::INITIALIZE_TIMEOUT {200}
 
static const int alexaClientSDK::mediaPlayer::android::NO_ERROR = 0
 Constant representing a "no error" return value for FFmpeg callback methods. 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.

◆ STATE_TO_STREAM

#define STATE_TO_STREAM (   name,
  stream 
)
Value:
case FFmpegDecoder::DecodingState::name: \
return stream << #name;

Function Documentation

◆ TAG()

static const std::string TAG ( "FFmpegDecoder"  )
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