FFmpeg
Loading...
Searching...
No Matches
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.

◆ 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 165 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 174 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 227 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 269 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 321 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 412 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 453 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 464 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 495 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 614 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 652 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 687 of file ismindex.c.

Referenced by main().

◆ clean_tracks()

static void clean_tracks ( struct Tracks * tracks)
static

Definition at line 770 of file ismindex.c.

Referenced by main().

◆ main()

int main ( int argc,
char ** argv )

Definition at line 782 of file ismindex.c.