FFmpeg  4.0
Data Structures | Macros | Functions | Variables
pcmdec.c File Reference
#include "avformat.h"
#include "internal.h"
#include "pcm.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "libavutil/avassert.h"

Go to the source code of this file.

Data Structures

struct  PCMAudioDemuxerContext
 

Macros

#define PCMDEF(name_, long_name_, ext, codec, ...)
 

Functions

static int pcm_read_header (AVFormatContext *s)
 
 PCMDEF (f64be, "PCM 64-bit floating-point big-endian", PCMDEF(NULL, AV_CODEC_ID_PCM_F64BE)
 

Variables

static const AVOption pcm_options []
 
static const AVClass sln_demuxer_class
 
AVInputFormat ff_sln_demuxer
 

Macro Definition Documentation

◆ PCMDEF

#define PCMDEF (   name_,
  long_name_,
  ext,
  codec,
  ... 
)
Value:
static const AVClass name_ ## _demuxer_class = { \
.class_name = #name_ " demuxer", \
.item_name = av_default_item_name, \
.option = pcm_options, \
.version = LIBAVUTIL_VERSION_INT, \
}; \
AVInputFormat ff_pcm_ ## name_ ## _demuxer = { \
.name = #name_, \
.long_name = NULL_IF_CONFIG_SMALL(long_name_), \
.priv_data_size = sizeof(PCMAudioDemuxerContext), \
.extensions = ext, \
.raw_codec_id = codec, \
.priv_class = &name_ ## _demuxer_class, \
__VA_ARGS__ \
};
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
static int pcm_read_header(AVFormatContext *s)
Definition: pcmdec.c:35
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
Definition: libcdio.c:153
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:191
const char * class_name
The name of the class; usually it is the same name as the context structure type to which the AVClass...
Definition: log.h:72
static int flags
Definition: log.c:55
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
static const AVOption pcm_options[]
Definition: pcmdec.c:93
int ff_pcm_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
Definition: pcm.c:52
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:530
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
Definition: avio_reading.c:42
int ff_pcm_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: pcm.c:29
Describe the class of an AVClass context structure.
Definition: log.h:67
#define AVFMT_GENERIC_INDEX
Use generic index building code.
Definition: avformat.h:470

Definition at line 99 of file pcmdec.c.

Function Documentation

◆ pcm_read_header()

static int pcm_read_header ( AVFormatContext s)
static

Definition at line 35 of file pcmdec.c.

◆ PCMDEF()

PCMDEF ( f64be  ,
"PCM 64-bit floating-point big-endian"  ,
PCMDEF(  NULL,
AV_CODEC_ID_PCM_F64BE   
)

Definition at line 120 of file pcmdec.c.

Variable Documentation

◆ pcm_options

const AVOption pcm_options[]
static
Initial value:
= {
{ "sample_rate", "", 0x42, AV_OPT_TYPE_INT, {.i64 = 44100}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
{ "channels", "", 0x42, AV_OPT_TYPE_INT, {.i64 = 1}, 0, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
{ NULL },
}
#define NULL
Definition: coverity.c:32
#define AV_OPT_FLAG_DECODING_PARAM
a generic parameter which can be set by the user for demuxing or decoding
Definition: opt.h:277

Definition at line 93 of file pcmdec.c.

◆ sln_demuxer_class

const AVClass sln_demuxer_class
static
Initial value:
= {
.class_name = "sln demuxer",
.item_name = av_default_item_name,
.option = sln_options,
}
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:191

Definition at line 186 of file pcmdec.c.

◆ ff_sln_demuxer

AVInputFormat ff_sln_demuxer
Initial value:
= {
.name = "sln",
.long_name = NULL_IF_CONFIG_SMALL("Asterisk raw pcm"),
.priv_data_size = sizeof(PCMAudioDemuxerContext),
.extensions = "sln",
.raw_codec_id = AV_CODEC_ID_PCM_S16LE,
.priv_class = &sln_demuxer_class,
}
static int pcm_read_header(AVFormatContext *s)
Definition: pcmdec.c:35
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
Definition: libcdio.c:153
static int flags
Definition: log.c:55
static const AVClass sln_demuxer_class
Definition: pcmdec.c:186
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
int ff_pcm_read_seek(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
Definition: pcm.c:52
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:530
static int read_packet(void *opaque, uint8_t *buf, int buf_size)
Definition: avio_reading.c:42
int ff_pcm_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: pcm.c:29
#define AVFMT_GENERIC_INDEX
Use generic index building code.
Definition: avformat.h:470

Definition at line 193 of file pcmdec.c.