FFmpeg
Loading...
Searching...
No Matches
cafdec.c File Reference

Core Audio Format demuxer. More...

#include <inttypes.h>
#include "avformat.h"
#include "avformat_internal.h"
#include "avio_internal.h"
#include "demux.h"
#include "internal.h"
#include "isom.h"
#include "libavutil/attributes.h"
#include "mov_chan.h"
#include "libavcodec/flac.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/intfloat.h"
#include "libavutil/dict.h"
#include "libavutil/mem.h"
#include "caf.h"

Go to the source code of this file.

Data Structures

struct  CafContext
 

Macros

#define ALAC_PREAMBLE   12
 
#define ALAC_HEADER   36
 
#define ALAC_NEW_KUKI   24
 
#define CAF_MAX_PKT_SIZE   4096
 

Functions

static int probe (const AVProbeData *p)
 
static int read_desc_chunk (AVFormatContext *s)
 Read audio description chunk.
 
static int read_kuki_chunk (AVFormatContext *s, int64_t size)
 Read magic cookie chunk.
 
static int read_pakt_chunk (AVFormatContext *s, int64_t size)
 Read packet table chunk.
 
static void read_info_chunk (AVFormatContext *s, int64_t size)
 Read information chunk.
 
static int read_header (AVFormatContext *s)
 
static int read_packet (AVFormatContext *s, AVPacket *pkt)
 
static int read_seek (AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
 

Variables

const FFInputFormat ff_caf_demuxer
 

Detailed Description

Core Audio Format demuxer.

Definition in file cafdec.c.

Macro Definition Documentation

◆ ALAC_PREAMBLE

#define ALAC_PREAMBLE   12

Referenced by read_kuki_chunk().

◆ ALAC_HEADER

#define ALAC_HEADER   36

Referenced by read_kuki_chunk().

◆ ALAC_NEW_KUKI

#define ALAC_NEW_KUKI   24

Referenced by read_kuki_chunk().

◆ CAF_MAX_PKT_SIZE

#define CAF_MAX_PKT_SIZE   4096

Definition at line 473 of file cafdec.c.

Referenced by read_packet().

Function Documentation

◆ probe()

static int probe ( const AVProbeData * p)
static

Definition at line 60 of file cafdec.c.

◆ read_desc_chunk()

static int read_desc_chunk ( AVFormatContext * s)
static

Read audio description chunk.

Definition at line 74 of file cafdec.c.

Referenced by read_header().

◆ read_kuki_chunk()

static int read_kuki_chunk ( AVFormatContext * s,
int64_t size )
static

Read magic cookie chunk.

Definition at line 118 of file cafdec.c.

Referenced by read_header().

◆ read_pakt_chunk()

static int read_pakt_chunk ( AVFormatContext * s,
int64_t size )
static

Read packet table chunk.

Definition at line 261 of file cafdec.c.

Referenced by read_header().

◆ read_info_chunk()

static void read_info_chunk ( AVFormatContext * s,
int64_t size )
static

Read information chunk.

Definition at line 325 of file cafdec.c.

Referenced by read_header().

◆ read_header()

static int read_header ( AVFormatContext * s)
static

Definition at line 345 of file cafdec.c.

◆ read_packet()

static int read_packet ( AVFormatContext * s,
AVPacket * pkt )
static

Definition at line 475 of file cafdec.c.

◆ read_seek()

static int read_seek ( AVFormatContext * s,
int stream_index,
int64_t timestamp,
int flags )
static

Definition at line 552 of file cafdec.c.

Variable Documentation

◆ ff_caf_demuxer

const FFInputFormat ff_caf_demuxer
Initial value:
= {
.p.name = "caf",
.p.long_name = NULL_IF_CONFIG_SMALL("Apple CAF (Core Audio Format)"),
.p.codec_tag = ff_caf_codec_tags_list,
.priv_data_size = sizeof(CafContext),
}
static int probe(const AVProbeData *p)
Definition act.c:39
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
const AVCodecTag *const ff_caf_codec_tags_list[]
Definition caf.c:82
static int read_probe(const AVProbeData *p)
Definition cdg.c:30
static int read_header(FFV1Context *f, RangeCoder *c)
Definition ffv1dec.c:578
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
Definition libcdio.c:151

Definition at line 588 of file cafdec.c.