segment.c File Reference
#include <strings.h>
#include <float.h>
#include "avformat.h"
#include "internal.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "libavutil/avstring.h"
#include "libavutil/parseutils.h"
#include "libavutil/mathematics.h"

Go to the source code of this file.

Data Structures

struct  SegmentContext
 

Macros

#define OFFSET(x)   offsetof(SegmentContext, x)
 
#define E   AV_OPT_FLAG_ENCODING_PARAM
 

Functions

static int segment_start (AVFormatContext *s)
 
static int segment_end (AVFormatContext *oc)
 
static int seg_write_header (AVFormatContext *s)
 
static int seg_write_packet (AVFormatContext *s, AVPacket *pkt)
 
static int seg_write_trailer (struct AVFormatContext *s)
 

Variables

static const AVOption options []
 
static const AVClass seg_class
 
AVOutputFormat ff_segment_muxer
 

Macro Definition Documentation

Definition at line 247 of file segment.c.

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

Definition at line 246 of file segment.c.

Function Documentation

static int seg_write_header ( AVFormatContext s)
static

Definition at line 102 of file segment.c.

static int seg_write_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 182 of file segment.c.

static int seg_write_trailer ( struct AVFormatContext s)
static

Definition at line 233 of file segment.c.

static int segment_end ( AVFormatContext oc)
static

Definition at line 87 of file segment.c.

Referenced by seg_write_packet(), and seg_write_trailer().

static int segment_start ( AVFormatContext s)
static

Definition at line 48 of file segment.c.

Referenced by seg_write_packet().

Variable Documentation

AVOutputFormat ff_segment_muxer
Initial value:
= {
.name = "segment",
.long_name = NULL_IF_CONFIG_SMALL("segment muxer"),
.priv_data_size = sizeof(SegmentContext),
.priv_class = &seg_class,
}
static int write_header(AVFormatContext *s)
Definition: assenc.c:28
static int write_packet(AVFormatContext *s, AVPacket *pkt)
Definition: assenc.c:58
static int seg_write_header(AVFormatContext *s)
Definition: segment.c:102
static int seg_write_trailer(struct AVFormatContext *s)
Definition: segment.c:233
static int flags
Definition: log.c:34
static int write_trailer(AVFormatContext *s)
Definition: assenc.c:67
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:191
#define AVFMT_GLOBALHEADER
Format wants global header.
Definition: avformat.h:374
static int seg_write_packet(AVFormatContext *s, AVPacket *pkt)
Definition: segment.c:182
static const AVClass seg_class
Definition: segment.c:256
#define AVFMT_NOFILE
Demuxer will use avio_open, no opened file should be provided by the caller.
Definition: avformat.h:368

Definition at line 264 of file segment.c.

const AVOption options[]
static
Initial value:
= {
{ "segment_format", "container format used for the segments", OFFSET(format), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E },
{ "segment_time", "segment length in seconds", OFFSET(time), AV_OPT_TYPE_FLOAT, {.dbl = 2}, 0, FLT_MAX, E },
{ "segment_list", "output the segment list", OFFSET(list), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E },
{ "segment_list_size", "maximum number of playlist entries", OFFSET(size), AV_OPT_TYPE_INT, {.dbl = 5}, 0, INT_MAX, E },
{ NULL },
}
int size
#define OFFSET(x)
Definition: segment.c:246
#define time
Definition: internal.h:135
NULL
Definition: eval.c:50
#define E
Definition: segment.c:247

Definition at line 248 of file segment.c.

const AVClass seg_class
static
Initial value:
= {
.class_name = "segment muxer",
.item_name = av_default_item_name,
.option = options,
}
LIBAVUTIL_VERSION_INT
Definition: eval.c:50
av_default_item_name
Definition: dnxhdenc.c:43
static const AVOption options[]
Definition: segment.c:248

Definition at line 256 of file segment.c.