#include "config.h"
#include <float.h>
#include "avformat.h"
#include "internal.h"
#include "os_support.h"
#include "avc.h"
#include "url.h"
#include "isom.h"
#include "libavutil/opt.h"
#include "libavutil/avstring.h"
#include "libavutil/mathematics.h"
#include "libavutil/intreadwrite.h"
Go to the source code of this file.
|
static int | ism_write (void *opaque, uint8_t *buf, int buf_size) |
|
static int64_t | ism_seek (void *opaque, int64_t offset, int whence) |
|
static void | get_private_data (OutputStream *os) |
|
static void | ism_free (AVFormatContext *s) |
|
static void | output_chunk_list (OutputStream *os, AVIOContext *out, int final, int skip, int window_size) |
|
static int | write_manifest (AVFormatContext *s, int final) |
|
static int | ism_write_header (AVFormatContext *s) |
|
static int | parse_fragment (AVFormatContext *s, const char *filename, int64_t *start_ts, int64_t *duration, int64_t *moof_size, int64_t size) |
|
static int | add_fragment (OutputStream *os, const char *file, const char *infofile, int64_t start_time, int64_t duration, int64_t start_pos, int64_t size) |
|
static int | copy_moof (AVFormatContext *s, const char *infile, const char *outfile, int64_t size) |
|
static int | ism_flush (AVFormatContext *s, int final) |
|
static int | ism_write_packet (AVFormatContext *s, AVPacket *pkt) |
|
static int | ism_write_trailer (AVFormatContext *s) |
|
static int add_fragment |
( |
OutputStream * |
os, |
|
|
const char * |
file, |
|
|
const char * |
infofile, |
|
|
int64_t |
start_time, |
|
|
int64_t |
duration, |
|
|
int64_t |
start_pos, |
|
|
int64_t |
size |
|
) |
| |
|
static |
static int copy_moof |
( |
AVFormatContext * |
s, |
|
|
const char * |
infile, |
|
|
const char * |
outfile, |
|
|
int64_t |
size |
|
) |
| |
|
static |
static int64_t ism_seek |
( |
void * |
opaque, |
|
|
int64_t |
offset, |
|
|
int |
whence |
|
) |
| |
|
static |
static int ism_write |
( |
void * |
opaque, |
|
|
uint8_t * |
buf, |
|
|
int |
buf_size |
|
) |
| |
|
static |
static int parse_fragment |
( |
AVFormatContext * |
s, |
|
|
const char * |
filename, |
|
|
int64_t * |
start_ts, |
|
|
int64_t * |
duration, |
|
|
int64_t * |
moof_size, |
|
|
int64_t |
size |
|
) |
| |
|
static |
Initial value:= {
.name = "smoothstreaming",
}
static int ism_write_header(AVFormatContext *s)
static int ism_write_packet(AVFormatContext *s, AVPacket *pkt)
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
static const AVClass ism_class
const AVCodecTag ff_mp4_obj_type[]
static int ism_write_trailer(AVFormatContext *s)
static void write_header(FFV1Context *f)
Definition at line 625 of file smoothstreamingenc.c.
Initial value:= {
.class_name = "smooth streaming muxer",
}
static const AVOption options[]
Definition at line 617 of file smoothstreamingenc.c.
Initial value:= {
{
"window_size",
"number of fragments kept in the manifest",
OFFSET(window_size),
AV_OPT_TYPE_INT, { .i64 = 0 }, 0, INT_MAX,
E },
{
"extra_window_size",
"number of fragments kept outside of the manifest before removing from disk",
OFFSET(extra_window_size),
AV_OPT_TYPE_INT, { .i64 = 5 }, 0, INT_MAX, E },
{
"lookahead_count",
"number of lookahead fragments",
OFFSET(lookahead_count),
AV_OPT_TYPE_INT, { .i64 = 2 }, 0, INT_MAX, E },
{
"min_frag_duration",
"minimum fragment duration (in microseconds)",
OFFSET(min_frag_duration),
AV_OPT_TYPE_INT64, { .i64 = 5000000 }, 0, INT_MAX, E },
{
"remove_at_exit",
"remove all fragments when finished",
OFFSET(remove_at_exit),
AV_OPT_TYPE_INT, { .i64 = 0 }, 0, 1, E },
}
Definition at line 608 of file smoothstreamingenc.c.