FFmpeg
Data Structures | Functions
ismindex.c File Reference
#include <stdio.h>
#include <string.h>
#include "libavformat/avformat.h"
#include "libavformat/isom.h"
#include "libavformat/os_support.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem.h"

Go to the source code of this file.

Data Structures

struct  MoofOffset
 
struct  Track
 
struct  Tracks
 

Functions

static int usage (const char *argv0, int ret)
 
static int expect_tag (int32_t got_tag, int32_t expected_tag)
 
static int copy_tag (AVIOContext *in, AVIOContext *out, int32_t tag_name)
 
static int skip_tag (AVIOContext *in, int32_t tag_name)
 
static int write_fragment (const char *filename, AVIOContext *in)
 
static int skip_fragment (AVIOContext *in)
 
static int write_fragments (struct Tracks *tracks, int start_index, AVIOContext *in, const char *basename, int split, int ismf, const char *output_prefix)
 
static int64_t read_trun_duration (AVIOContext *in, int default_duration, int64_t end)
 
static int64_t read_moof_duration (AVIOContext *in, int64_t offset)
 
static int read_tfra (struct Tracks *tracks, int start_index, AVIOContext *f)
 
static int read_mfra (struct Tracks *tracks, int start_index, const char *file, int split, int ismf, const char *basename, const char *output_prefix)
 
static int get_private_data (struct Track *track, AVCodecParameters *codecpar)
 
static int get_video_private_data (struct Track *track, AVCodecParameters *codecpar)
 
static int handle_file (struct Tracks *tracks, const char *file, int split, int ismf, const char *basename, const char *output_prefix)
 
static void output_server_manifest (struct Tracks *tracks, const char *basename, const char *output_prefix, const char *path_prefix, const char *ismc_prefix)
 
static void print_track_chunks (FILE *out, struct Tracks *tracks, int main, const char *type)
 
static void output_client_manifest (struct Tracks *tracks, const char *basename, const char *output_prefix, int split)
 
static void clean_tracks (struct Tracks *tracks)
 
int main (int argc, char **argv)
 

Function Documentation

◆ usage()

static int usage ( const char *  argv0,
int  ret 
)
static

Definition at line 57 of file ismindex.c.

Referenced by main().

◆ expect_tag()

static int expect_tag ( int32_t  got_tag,
int32_t  expected_tag 
)
static

Definition at line 96 of file ismindex.c.

Referenced by copy_tag(), read_moof_duration(), and skip_tag().

◆ copy_tag()

static int copy_tag ( AVIOContext in,
AVIOContext out,
int32_t  tag_name 
)
static

Definition at line 108 of file ismindex.c.

Referenced by write_fragment(), and yop_copy_previous_block().

◆ skip_tag()

static int skip_tag ( AVIOContext in,
int32_t  tag_name 
)
static

Definition at line 133 of file ismindex.c.

Referenced by skip_fragment().

◆ write_fragment()

static int write_fragment ( const char *  filename,
AVIOContext in 
)
static

Definition at line 146 of file ismindex.c.

Referenced by write_fragments().

◆ skip_fragment()

static int skip_fragment ( AVIOContext in)
static

Definition at line 167 of file ismindex.c.

Referenced by write_fragments().

◆ write_fragments()

static int write_fragments ( struct Tracks tracks,
int  start_index,
AVIOContext in,
const char *  basename,
int  split,
int  ismf,
const char *  output_prefix 
)
static

Definition at line 176 of file ismindex.c.

Referenced by read_mfra().

◆ read_trun_duration()

static int64_t read_trun_duration ( AVIOContext in,
int  default_duration,
int64_t  end 
)
static

Definition at line 229 of file ismindex.c.

Referenced by read_moof_duration().

◆ read_moof_duration()

static int64_t read_moof_duration ( AVIOContext in,
int64_t  offset 
)
static

Definition at line 271 of file ismindex.c.

Referenced by read_tfra().

◆ read_tfra()

static int read_tfra ( struct Tracks tracks,
int  start_index,
AVIOContext f 
)
static

Definition at line 323 of file ismindex.c.

Referenced by read_mfra().

◆ read_mfra()

static int read_mfra ( struct Tracks tracks,
int  start_index,
const char *  file,
int  split,
int  ismf,
const char *  basename,
const char *  output_prefix 
)
static

Definition at line 414 of file ismindex.c.

Referenced by handle_file().

◆ get_private_data()

static int get_private_data ( struct Track track,
AVCodecParameters codecpar 
)
static

Definition at line 455 of file ismindex.c.

Referenced by get_video_private_data(), and handle_file().

◆ get_video_private_data()

static int get_video_private_data ( struct Track track,
AVCodecParameters codecpar 
)
static

Definition at line 466 of file ismindex.c.

Referenced by handle_file().

◆ handle_file()

static int handle_file ( struct Tracks tracks,
const char *  file,
int  split,
int  ismf,
const char *  basename,
const char *  output_prefix 
)
static

Definition at line 497 of file ismindex.c.

Referenced by main().

◆ output_server_manifest()

static void output_server_manifest ( struct Tracks tracks,
const char *  basename,
const char *  output_prefix,
const char *  path_prefix,
const char *  ismc_prefix 
)
static

Definition at line 618 of file ismindex.c.

Referenced by main().

◆ print_track_chunks()

static void print_track_chunks ( FILE *  out,
struct Tracks tracks,
int  main,
const char *  type 
)
static

Definition at line 656 of file ismindex.c.

Referenced by output_client_manifest().

◆ output_client_manifest()

static void output_client_manifest ( struct Tracks tracks,
const char *  basename,
const char *  output_prefix,
int  split 
)
static

Definition at line 691 of file ismindex.c.

Referenced by main().

◆ clean_tracks()

static void clean_tracks ( struct Tracks tracks)
static

Definition at line 774 of file ismindex.c.

Referenced by main().

◆ main()

int main ( int  argc,
char **  argv 
)

Definition at line 786 of file ismindex.c.

Referenced by print_track_chunks().