AlexaClientSDK  1.26.0
A cross-platform, modular SDK for interacting with the Alexa Voice Service
Namespaces | Macros | Functions | Variables
M3UParser.cpp File Reference
#include <iomanip>
#include <sstream>
#include <AVSCommon/Utils/Logger/Logger.h>
#include <AVSCommon/Utils/PlaylistParser/PlaylistParserObserverInterface.h>
#include "PlaylistParser/M3UParser.h"
#include "PlaylistParser/PlaylistUtils.h"
Include dependency graph for M3UParser.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 ("M3UParser")
 String to identify log entries originating from this file. More...
 
std::chrono::milliseconds alexaClientSDK::playlistParser::parseRuntime (const std::string &line)
 
bool alexaClientSDK::playlistParser::getAbsoluteURL (const std::string &baseURL, const std::string &url, std::string *absoluteURL)
 
bool alexaClientSDK::playlistParser::hasPrefix (const std::string &line, const std::string &prefix)
 
static std::string alexaClientSDK::playlistParser::to16ByteHexString (int number)
 
M3UContent alexaClientSDK::playlistParser::parseM3UContent (const std::string &playlistURL, const std::string &content)
 
long alexaClientSDK::playlistParser::parsePlaylistMediaSequence (const std::string &line)
 
bool alexaClientSDK::playlistParser::isPlaylistExtendedM3U (const std::string &playlistContent)
 
std::string alexaClientSDK::playlistParser::parseURIAttribute (const std::string &line, const std::string &baseURL)
 
avsCommon::utils::playlistParser::EncryptionInfo alexaClientSDK::playlistParser::parseHLSEncryptionLine (const std::string &line, const std::string &baseURL)
 
ByteRange alexaClientSDK::playlistParser::parseByteRange (const std::string &byteRange)
 
avsCommon::utils::playlistParser::ByteRange alexaClientSDK::playlistParser::parseHLSByteRangeLine (const std::string &line)
 
avsCommon::utils::playlistParser::PlaylistEntry alexaClientSDK::playlistParser::parseHLSMapLine (const std::string &line, const std::string &baseURL)
 

Variables

static const std::string alexaClientSDK::playlistParser::EXT_M3U_PLAYLIST_HEADER = "#EXTM3U"
 The first line of an Extended M3U playlist. More...
 
static const std::string alexaClientSDK::playlistParser::EXTXMEDIASEQUENCE = "#EXT-X-MEDIA-SEQUENCE:"
 The key to identify the media sequence tag. More...
 
static const std::string alexaClientSDK::playlistParser::EXTINF = "#EXTINF"
 HLS EXTINF tag. More...
 
static const std::string alexaClientSDK::playlistParser::EXTSTREAMINF = "#EXT-X-STREAM-INF"
 
static const std::string alexaClientSDK::playlistParser::ENDLIST = "#EXT-X-ENDLIST"
 
static const std::string alexaClientSDK::playlistParser::EXT_KEY = "#EXT-X-KEY:"
 EXT-X-KEY HLS tag. More...
 
static const std::string alexaClientSDK::playlistParser::EXT_MAP = "#EXT-X-MAP:"
 EXT-X-MAP HLS tag. More...
 
static const std::string alexaClientSDK::playlistParser::EXT_BYTERANGE = "#EXT-X-BYTERANGE:"
 EXT-X-BYTERANGE HLS tag. More...
 
static const std::string alexaClientSDK::playlistParser::METHOD_ATTR = "METHOD="
 Method encryption attribute. More...
 
static const std::string alexaClientSDK::playlistParser::URI_ATTR = "URI=\""
 HLS tag attribute for URI. More...
 
static const std::string alexaClientSDK::playlistParser::IV_ATTR = "IV="
 Initialization Vector encryption attribute. More...
 
static const std::string alexaClientSDK::playlistParser::BYTERANGE_ATTR = "BYTERANGE=\""
 Byte range encryption attribute. More...
 
static const std::string alexaClientSDK::playlistParser::ENCRYPTION_METHOD_NONE = "NONE"
 Encryption method: NONE. More...
 
static const std::string alexaClientSDK::playlistParser::ENCRYPTION_METHOD_AES_128 = "AES-128"
 Encryption method: AES-128. More...
 
static const std::string alexaClientSDK::playlistParser::ENCRYPTION_METHOD_SAMPLE_AES = "SAMPLE-AES"
 Encryption method: SAMPLE-AES. More...
 
static const auto alexaClientSDK::playlistParser::INVALID_DURATION = std::chrono::milliseconds(-1)
 An invalid duration. More...
 
static const int alexaClientSDK::playlistParser::IV_HEX_STRING_LENGTH = 32
 Length of initialization vector as hex string. 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.

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