FFmpeg
Loading...
Searching...
No Matches
cafenc.c File Reference
#include <stdint.h>
#include "avformat.h"
#include "caf.h"
#include "isom.h"
#include "avio_internal.h"
#include "mux.h"
#include "libavutil/intfloat.h"
#include "libavutil/dict.h"
#include "libavutil/mem.h"

Go to the source code of this file.

Data Structures

struct  CAFContext
 

Macros

#define FRAME_SIZE_OFFSET   40
 

Functions

static uint32_t codec_flags (enum AVCodecID codec_id)
 
static uint32_t samples_per_packet (const AVCodecParameters *par)
 
static int caf_write_init (struct AVFormatContext *s)
 
static int caf_write_header (AVFormatContext *s)
 
static uint8_t * put_variable_length_num (uint8_t *buf, uint32_t num)
 
static int caf_write_packet (AVFormatContext *s, AVPacket *pkt)
 
static int caf_write_trailer (AVFormatContext *s)
 
static void caf_write_deinit (AVFormatContext *s)
 

Variables

const FFOutputFormat ff_caf_muxer
 

Macro Definition Documentation

◆ FRAME_SIZE_OFFSET

#define FRAME_SIZE_OFFSET   40

Definition at line 33 of file cafenc.c.

Function Documentation

◆ codec_flags()

static uint32_t codec_flags ( enum AVCodecID codec_id)
static

Definition at line 45 of file cafenc.c.

Referenced by caf_write_header().

◆ samples_per_packet()

static uint32_t samples_per_packet ( const AVCodecParameters * par)
static

Definition at line 62 of file cafenc.c.

Referenced by bonk_decode(), and caf_write_header().

◆ caf_write_init()

static int caf_write_init ( struct AVFormatContext * s)
static

Definition at line 117 of file cafenc.c.

◆ caf_write_header()

static int caf_write_header ( AVFormatContext * s)
static

Definition at line 147 of file cafenc.c.

◆ put_variable_length_num()

static uint8_t * put_variable_length_num ( uint8_t * buf,
uint32_t num )
static

Definition at line 239 of file cafenc.c.

Referenced by caf_write_packet().

◆ caf_write_packet()

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

Definition at line 250 of file cafenc.c.

◆ caf_write_trailer()

static int caf_write_trailer ( AVFormatContext * s)
static

< mNumberPackets

< mNumberValidFrames

< mPrimingFrames

< mRemainderFrames

Definition at line 279 of file cafenc.c.

◆ caf_write_deinit()

static void caf_write_deinit ( AVFormatContext * s)
static

Definition at line 314 of file cafenc.c.

Variable Documentation

◆ ff_caf_muxer

const FFOutputFormat ff_caf_muxer
Initial value:
= {
.p.name = "caf",
.p.long_name = NULL_IF_CONFIG_SMALL("Apple CAF (Core Audio Format)"),
.p.mime_type = "audio/x-caf",
.p.extensions = "caf",
.priv_data_size = sizeof(CAFContext),
.p.audio_codec = AV_CODEC_ID_PCM_S16BE,
.p.video_codec = AV_CODEC_ID_NONE,
.p.subtitle_codec = AV_CODEC_ID_NONE,
.flags_internal = FF_OFMT_FLAG_MAX_ONE_OF_EACH,
.init = caf_write_init,
.write_header = caf_write_header,
.write_packet = caf_write_packet,
.write_trailer = caf_write_trailer,
.deinit = caf_write_deinit,
.p.codec_tag = ff_caf_codec_tags_list,
}
const AVCodecTag *const ff_caf_codec_tags_list[]
Definition caf.c:82
static void caf_write_deinit(AVFormatContext *s)
Definition cafenc.c:314
static int caf_write_packet(AVFormatContext *s, AVPacket *pkt)
Definition cafenc.c:250
static int caf_write_trailer(AVFormatContext *s)
Definition cafenc.c:279
static int caf_write_header(AVFormatContext *s)
Definition cafenc.c:147
static int caf_write_init(struct AVFormatContext *s)
Definition cafenc.c:117
@ AV_CODEC_ID_NONE
Definition codec_id.h:48
@ AV_CODEC_ID_PCM_S16BE
Definition codec_id.h:331
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification.
Definition internal.h:88
#define FF_OFMT_FLAG_MAX_ONE_OF_EACH
If this flag is set, it indicates that for each codec type whose corresponding default codec (i....
Definition mux.h:50

Definition at line 321 of file cafenc.c.