AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Namespaces | Macros | Functions | Variables
PlaylistUtils.cpp File Reference
#include "PlaylistParser/PlaylistUtils.h"
#include <algorithm>
#include <chrono>
#include <sstream>
#include <thread>
#include <AVSCommon/SDKInterfaces/HTTPContentFetcherInterface.h>
#include <AVSCommon/Utils/Logger/Logger.h>
Include dependency graph for PlaylistUtils.cpp:

Namespaces

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

Macros

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

Functions

static const std::string alexaClientSDK::playlistParser::TAG ("PlaylistUtils")
 String to identify log entries originating from this file. More...
 
static const size_t alexaClientSDK::playlistParser::CHUNK_SIZE (1024)
 The number of bytes read from the attachment with each read in the read loop. More...
 
bool alexaClientSDK::playlistParser::readFromContentFetcher (std::unique_ptr< HTTPContentFetcherInterface > contentFetcher, std::string *content, std::atomic< bool > *shouldShutDown, std::string *playlistURL)
 
std::vector< std::string > alexaClientSDK::playlistParser::parsePLSContent (const std::string &playlistURL, const std::string &content)
 
void alexaClientSDK::playlistParser::removeCarriageReturnFromLine (std::string *line)
 
bool alexaClientSDK::playlistParser::isURLAbsolute (const std::string &url)
 
bool alexaClientSDK::playlistParser::getAbsoluteURLFromRelativePathToURL (std::string baseURL, std::string relativePath, std::string *absoluteURL)
 

Variables

static const std::string alexaClientSDK::playlistParser::PLS_FILE = "File"
 The beginning of a line in a PLS file indicating a URL. More...
 
static const std::string alexaClientSDK::playlistParser::URL_END_SCHEME_PATTERN = "://"
 url scheme pattern. More...
 
static const std::chrono::milliseconds alexaClientSDK::playlistParser::WAIT_FOR_ACTIVITY_TIMEOUT {100}
 A wait period for a polling loop that constantly check if a content fetcher finished fetching the payload or failed. More...
 
static const std::string alexaClientSDK::playlistParser::PROCESS_ATTACHMENT_ID = "download:"
 Process attachment ID. More...
 
static const std::chrono::minutes alexaClientSDK::playlistParser::PLAYLIST_FETCH_TIMEOUT {5}
 Timeout to wait for a playlist to arrive from the content fetcher. 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
eventThe event 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