FFmpeg  4.0
Data Structures | Macros | Functions | Variables
libopenmpt.c File Reference
#include <libopenmpt/libopenmpt.h>
#include <libopenmpt/libopenmpt_stream_callbacks_file.h>
#include <libopenmpt/libopenmpt_version.h>
#include "libavutil/avstring.h"
#include "libavutil/opt.h"
#include "avformat.h"
#include "internal.h"

Go to the source code of this file.

Data Structures

struct  OpenMPTContext
 

Macros

#define OPENMPT_API_VERSION_MAKE(major, minor, patch)   (((major)<<24)|((minor)<<16)|((patch)<<0))
 
#define OPENMPT_API_VERSION_AT_LEAST(major, minor, patch)   (OPENMPT_API_VERSION >= OPENMPT_API_VERSION_MAKE((major), (minor), (patch)))
 
#define OFFSET(x)   offsetof(OpenMPTContext, x)
 
#define A   AV_OPT_FLAG_AUDIO_PARAM
 
#define D   AV_OPT_FLAG_DECODING_PARAM
 
#define add_meta(s, name, meta)
 
#define AUDIO_PKT_SIZE   2048
 

Functions

static void openmpt_logfunc (const char *message, void *userdata)
 
static int read_header_openmpt (AVFormatContext *s)
 
static int read_packet_openmpt (AVFormatContext *s, AVPacket *pkt)
 
static int read_close_openmpt (AVFormatContext *s)
 
static int read_seek_openmpt (AVFormatContext *s, int stream_idx, int64_t ts, int flags)
 
static int probe_openmpt_extension (AVProbeData *p)
 
static int read_probe_openmpt (AVProbeData *p)
 

Variables

static const AVOption options []
 
static const AVClass class_openmpt
 
AVInputFormat ff_libopenmpt_demuxer
 

Macro Definition Documentation

◆ OPENMPT_API_VERSION_MAKE

#define OPENMPT_API_VERSION_MAKE (   major,
  minor,
  patch 
)    (((major)<<24)|((minor)<<16)|((patch)<<0))

Definition at line 27 of file libopenmpt.c.

◆ OPENMPT_API_VERSION_AT_LEAST

#define OPENMPT_API_VERSION_AT_LEAST (   major,
  minor,
  patch 
)    (OPENMPT_API_VERSION >= OPENMPT_API_VERSION_MAKE((major), (minor), (patch)))

Definition at line 30 of file libopenmpt.c.

◆ OFFSET

#define OFFSET (   x)    offsetof(OpenMPTContext, x)

Definition at line 50 of file libopenmpt.c.

◆ A

#define A   AV_OPT_FLAG_AUDIO_PARAM

Definition at line 51 of file libopenmpt.c.

◆ D

Definition at line 52 of file libopenmpt.c.

◆ add_meta

#define add_meta (   s,
  name,
  meta 
)
Value:
do { \
const char *value = meta; \
if (value && value[0]) \
av_dict_set(&s->metadata, name, value, 0); \
openmpt_free_string(value); \
} while(0)
const char * name
Definition: avisynth_c.h:775
const char * s
Definition: avisynth_c.h:768
double value
Definition: eval.c:98

Definition at line 71 of file libopenmpt.c.

Referenced by read_header_openmpt().

◆ AUDIO_PKT_SIZE

#define AUDIO_PKT_SIZE   2048

Definition at line 167 of file libopenmpt.c.

Referenced by read_packet_openmpt().

Function Documentation

◆ openmpt_logfunc()

static void openmpt_logfunc ( const char *  message,
void userdata 
)
static

Definition at line 62 of file libopenmpt.c.

Referenced by read_header_openmpt(), and read_probe_openmpt().

◆ read_header_openmpt()

static int read_header_openmpt ( AVFormatContext s)
static

Definition at line 79 of file libopenmpt.c.

◆ read_packet_openmpt()

static int read_packet_openmpt ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 169 of file libopenmpt.c.

◆ read_close_openmpt()

static int read_close_openmpt ( AVFormatContext s)
static

Definition at line 206 of file libopenmpt.c.

◆ read_seek_openmpt()

static int read_seek_openmpt ( AVFormatContext s,
int  stream_idx,
int64_t  ts,
int  flags 
)
static

Definition at line 214 of file libopenmpt.c.

◆ probe_openmpt_extension()

static int probe_openmpt_extension ( AVProbeData p)
static

Definition at line 221 of file libopenmpt.c.

Referenced by read_probe_openmpt().

◆ read_probe_openmpt()

static int read_probe_openmpt ( AVProbeData p)
static

Definition at line 235 of file libopenmpt.c.

Variable Documentation

◆ options

const AVOption options[]
static
Initial value:
= {
{ "sample_rate", "set sample rate", OFFSET(sample_rate), AV_OPT_TYPE_INT, { .i64 = 48000 }, 1000, INT_MAX, A | D },
{ "layout", "set channel layout", OFFSET(layout), AV_OPT_TYPE_CHANNEL_LAYOUT, { .i64 = AV_CH_LAYOUT_STEREO }, 0, INT64_MAX, A | D },
{ "subsong", "set subsong", OFFSET(subsong), AV_OPT_TYPE_INT, { .i64 = -2 }, -2, INT_MAX, A | D, "subsong"},
{ "all", "all", 0, AV_OPT_TYPE_CONST, { .i64 = -1}, 0, 0, A | D, "subsong" },
{ "auto", "auto", 0, AV_OPT_TYPE_CONST, { .i64 = -2}, 0, 0, A | D, "subsong" },
{ NULL }
}
#define NULL
Definition: coverity.c:32
#define AV_CH_LAYOUT_STEREO
#define A
Definition: libopenmpt.c:51
#define OFFSET(x)
Definition: libopenmpt.c:50
#define D
Definition: libopenmpt.c:52
sample_rate
uint64_t layout

Definition at line 53 of file libopenmpt.c.

◆ class_openmpt

const AVClass class_openmpt
static
Initial value:
= {
.class_name = "libopenmpt",
.item_name = av_default_item_name,
.option = 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
static const AVOption options[]
Definition: libopenmpt.c:53

Definition at line 277 of file libopenmpt.c.

◆ ff_libopenmpt_demuxer

AVInputFormat ff_libopenmpt_demuxer
Initial value:
= {
.name = "libopenmpt",
.long_name = NULL_IF_CONFIG_SMALL("Tracker formats (libopenmpt)"),
.priv_data_size = sizeof(OpenMPTContext),
.priv_class = &class_openmpt,
.extensions = "669,amf,ams,dbm,digi,dmf,dsm,far,gdm,ice,imf,it,j2b,m15,mdl,med,mmcmp,mms,mo3,mod,mptm,mt2,mtm,nst,okt,plm,ppm,psm,pt36,ptm,s3m,sfx,sfx2,st26,stk,stm,ult,umx,wow,xm,xpk",
}
static int read_packet_openmpt(AVFormatContext *s, AVPacket *pkt)
Definition: libopenmpt.c:169
static int read_seek(AVFormatContext *ctx, int stream_index, int64_t timestamp, int flags)
Definition: libcdio.c:153
static int read_header_openmpt(AVFormatContext *s)
Definition: libopenmpt.c:79
static int read_close_openmpt(AVFormatContext *s)
Definition: libopenmpt.c:206
static av_cold int read_close(AVFormatContext *ctx)
Definition: libcdio.c:145
static const AVClass class_openmpt
Definition: libopenmpt.c:277
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
static int read_probe(AVProbeData *pd)
Definition: jvdec.c:55
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
static int read_probe_openmpt(AVProbeData *p)
Definition: libopenmpt.c:235
static int read_seek_openmpt(AVFormatContext *s, int stream_idx, int64_t ts, int flags)
Definition: libopenmpt.c:214

Definition at line 284 of file libopenmpt.c.