Go to the documentation of this file.
   68     if (
info->codec_tag == 
MKTAG(
'z',
'a',
'a',
'c'))
 
   70     else if (
info->codec_tag == 
MKTAG(
'z',
'a',
'c',
'3'))
 
   72     else if (
info->codec_tag == 
MKTAG(
'z',
'e',
'c',
'3'))
 
   80     info->version               = *buf++;
 
   81     info->setup_data_length     = *buf++;
 
   83     if (
info->setup_data_length > 
size - 8)
 
   89     memcpy(
info->setup_data, buf, 
info->setup_data_length);
 
  122         int data_rate, fscod, acmod, lfeon;
 
  160     while (i < nalu->length) {
 
  175     const uint8_t *nalu_start = 
ctx->buf_ptr;
 
  177     if (
ctx->buf_end - 
ctx->buf_ptr >= 4 && 
AV_RB32(
ctx->buf_ptr) == 0x00000001)
 
  179     else if (
ctx->buf_end - 
ctx->buf_ptr >= 3 && 
AV_RB24(
ctx->buf_ptr) == 0x000001)
 
  186     while (
ctx->buf_ptr < 
ctx->buf_end) {
 
  187         if (
ctx->buf_end - 
ctx->buf_ptr >= 4 && 
AV_RB32(
ctx->buf_ptr) == 0x00000001)
 
  189         else if (
ctx->buf_end - 
ctx->buf_ptr >= 3 && 
AV_RB24(
ctx->buf_ptr) == 0x000001)
 
  216     rem_bytes = nalu->
length - 32;
 
  218     memcpy(iv, crypto_ctx->
iv, 16);
 
  220     while (rem_bytes > 0) {
 
  221         if (rem_bytes > 16) {
 
  227         rem_bytes -= 
FFMIN(144, rem_bytes);
 
  241     memset(&
ctx, 0, 
sizeof(
ctx));
 
  247     while (
ctx.buf_ptr < 
ctx.buf_end) {
 
  248         memset(&nalu, 0, 
sizeof(nalu));
 
  252         if ((nalu.
type == 0x01 || nalu.
type == 0x05) && nalu.
length > 48) {
 
  253             int encrypted_nalu_length = nalu.
length;
 
  257             move_nalu = nalu.
length != encrypted_nalu_length;
 
  276     while (
ctx->buf_ptr < 
ctx->buf_end - 1) {
 
  277         if (*
ctx->buf_ptr == 0xFF && (*(
ctx->buf_ptr + 1) & 0xF0) == 0xF0)
 
  282     if (
ctx->buf_ptr >= 
ctx->buf_end - 1)
 
  306     while (
ctx->buf_ptr < 
ctx->buf_end - 1) {
 
  307         if (*
ctx->buf_ptr == 0x0B && *(
ctx->buf_ptr + 1) == 0x77)
 
  312     if (
ctx->buf_ptr >= 
ctx->buf_end - 1)
 
  316     frame->header_length = 0;
 
  345     int num_of_encrypted_blocks;
 
  353     num_of_encrypted_blocks = (
frame->length - 
frame->header_length - 16)/16;
 
  366     memset(&
ctx, 0, 
sizeof(
ctx));
 
  370     while (
ctx.buf_ptr < 
ctx.buf_end) {
 
  375         if (
frame.length - 
frame.header_length > 31) {
 
  
static int get_next_adts_frame(CodecParserContext *ctx, AudioFrame *frame)
 
int av_aes_init(AVAES *a, const uint8_t *key, int key_bits, int decrypt)
Initialize an AVAES context.
 
const uint16_t ff_ac3_channel_layout_tab[8]
Map audio coding mode (acmod) to channel layout mask.
 
static int decrypt_video_frame(HLSCryptoContext *crypto_ctx, AVPacket *pkt)
 
#define AV_AAC_ADTS_HEADER_SIZE
 
static int get_next_sync_frame(enum AVCodecID codec_id, CodecParserContext *ctx, AudioFrame *frame)
 
uint32_t codec_tag
Additional information about the codec (corresponds to the AVI FOURCC).
 
static int get_next_ac3_eac3_sync_frame(CodecParserContext *ctx, AudioFrame *frame)
 
uint8_t * data[AV_NUM_DATA_POINTERS]
pointer to the picture/channel planes.
 
static void skip_bits(GetBitContext *s, int n)
 
static unsigned int get_bits(GetBitContext *s, int n)
Read 1-25 bits.
 
static const int eac3_sample_rate_tab[]
 
void av_shrink_packet(AVPacket *pkt, int size)
Reduce packet size, correctly zeroing padding.
 
void ff_hls_senc_read_audio_setup_info(HLSAudioSetupInfo *info, const uint8_t *buf, size_t size)
 
static int get_next_nal_unit(CodecParserContext *ctx, NALUnit *nalu)
 
static int init_get_bits8(GetBitContext *s, const uint8_t *buffer, int byte_size)
Initialize GetBitContext.
 
#define AV_CH_LOW_FREQUENCY
 
static const uint16_t mask[17]
 
int av_channel_layout_from_mask(AVChannelLayout *channel_layout, uint64_t mask)
Initialize a native channel layout from a bitmask indicating which channels are present.
 
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_RL16
 
AVCodecParameters * codecpar
Codec parameters associated with this stream.
 
static int decrypt_audio_frame(enum AVCodecID codec_id, HLSCryptoContext *crypto_ctx, AVPacket *pkt)
 
void av_aes_crypt(AVAES *a, uint8_t *dst, const uint8_t *src, int count, uint8_t *iv, int decrypt)
Encrypt or decrypt a buffer using a previously initialized context.
 
AVChannelLayout ch_layout
Audio only.
 
int sample_rate
Audio only.
 
AVCodecID
Identify the syntax and semantics of the bitstream.
 
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_RB32
 
int ff_hls_senc_decrypt_frame(enum AVCodecID codec_id, HLSCryptoContext *crypto_ctx, AVPacket *pkt)
 
#define i(width, name, range_min, range_max)
 
#define HLS_MAX_AUDIO_SETUP_DATA_LEN
 
int avpriv_ac3_parse_header(AC3HeaderInfo **phdr, const uint8_t *buf, size_t size)
 
int ff_hls_senc_parse_audio_setup_info(AVStream *st, HLSAudioSetupInfo *info)
 
static void remove_scep_3_bytes(NALUnit *nalu)
 
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_RL32
 
void av_channel_layout_uninit(AVChannelLayout *channel_layout)
Free any allocated data in the channel layout and reset the channel count to 0.
 
static int decrypt_sync_frame(enum AVCodecID codec_id, HLSCryptoContext *crypto_ctx, AudioFrame *frame)
 
static int decrypt_nal_unit(HLSCryptoContext *crypto_ctx, NALUnit *nalu)
 
enum AVCodecID codec_id
Specific type of the encoded data (the codec used).
 
This structure stores compressed data.
 
int64_t bit_rate
The average bitrate of the encoded data (in bits per second).
 
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
 
#define MKTAG(a, b, c, d)
 
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_WB32 unsigned int_TMPL AV_RB24